OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/media/android/browser_media_player_manager.h" | 5 #include "content/browser/media/android/browser_media_player_manager.h" |
6 | 6 |
7 #include "base/android/scoped_java_ref.h" | 7 #include "base/android/scoped_java_ref.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "content/browser/android/content_view_core_impl.h" | 9 #include "content/browser/android/content_view_core_impl.h" |
10 #include "content/browser/android/media_players_observer.h" | 10 #include "content/browser/android/media_players_observer.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
83 BrowserDemuxerAndroid* demuxer) { | 83 BrowserDemuxerAndroid* demuxer) { |
84 switch (media_player_params.type) { | 84 switch (media_player_params.type) { |
85 case MEDIA_PLAYER_TYPE_URL: { | 85 case MEDIA_PLAYER_TYPE_URL: { |
86 const std::string user_agent = GetContentClient()->GetUserAgent(); | 86 const std::string user_agent = GetContentClient()->GetUserAgent(); |
87 MediaPlayerBridge* media_player_bridge = new MediaPlayerBridge( | 87 MediaPlayerBridge* media_player_bridge = new MediaPlayerBridge( |
88 media_player_params.player_id, | 88 media_player_params.player_id, |
89 media_player_params.url, | 89 media_player_params.url, |
90 media_player_params.first_party_for_cookies, | 90 media_player_params.first_party_for_cookies, |
91 user_agent, | 91 user_agent, |
92 hide_url_log, | 92 hide_url_log, |
93 manager, | 93 manager, |
wolenetz
2015/05/19 21:58:36
hmm. Is this ever not |this|? Do we even need the
Tima Vaisburd
2015/05/22 22:48:53
Yes, I removed |manager| parameter.
| |
94 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, | 94 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, |
95 weak_ptr_factory_.GetWeakPtr()), | 95 weak_ptr_factory_.GetWeakPtr()), |
96 media_player_params.frame_url, | 96 media_player_params.frame_url, |
97 media_player_params.allow_credentials); | 97 media_player_params.allow_credentials); |
98 BrowserMediaPlayerManager* browser_media_player_manager = | 98 BrowserMediaPlayerManager* browser_media_player_manager = |
99 static_cast<BrowserMediaPlayerManager*>(manager); | 99 static_cast<BrowserMediaPlayerManager*>(manager); |
100 ContentViewCoreImpl* content_view_core_impl = | 100 ContentViewCoreImpl* content_view_core_impl = |
101 static_cast<ContentViewCoreImpl*>(ContentViewCore::FromWebContents( | 101 static_cast<ContentViewCoreImpl*>(ContentViewCore::FromWebContents( |
102 browser_media_player_manager->web_contents_)); | 102 browser_media_player_manager->web_contents_)); |
103 if (!content_view_core_impl) { | 103 if (!content_view_core_impl) { |
104 // May reach here due to prerendering. Don't extract the metadata | 104 // May reach here due to prerendering. Don't extract the metadata |
105 // since it is expensive. | 105 // since it is expensive. |
106 // TODO(qinmin): extract the metadata once the user decided to load | 106 // TODO(qinmin): extract the metadata once the user decided to load |
107 // the page. | 107 // the page. |
108 browser_media_player_manager->OnMediaMetadataChanged( | 108 browser_media_player_manager->OnMediaMetadataChanged( |
109 media_player_params.player_id, base::TimeDelta(), 0, 0, false); | 109 media_player_params.player_id, base::TimeDelta(), 0, 0, false); |
110 } else if (!content_view_core_impl->ShouldBlockMediaRequest( | 110 } else if (!content_view_core_impl->ShouldBlockMediaRequest( |
111 media_player_params.url)) { | 111 media_player_params.url)) { |
112 media_player_bridge->Initialize(); | 112 media_player_bridge->Initialize(); |
113 } | 113 } |
114 return media_player_bridge; | 114 return media_player_bridge; |
115 } | 115 } |
116 | 116 |
117 case MEDIA_PLAYER_TYPE_MEDIA_SOURCE: { | 117 case MEDIA_PLAYER_TYPE_MEDIA_SOURCE: { |
118 if (base::CommandLine::ForCurrentProcess()-> | 118 if (base::CommandLine::ForCurrentProcess()-> |
119 HasSwitch(switches::kEnableMediaThreadForMediaPlayback)) { | 119 HasSwitch(switches::kEnableMediaThreadForMediaPlayback)) { |
120 return new MediaCodecPlayer( | 120 return new MediaCodecPlayer( |
121 media_player_params.player_id, | 121 media_player_params.player_id, |
122 manager, | 122 weak_ptr_factory_.GetWeakPtr(), |
123 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, | 123 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, |
124 weak_ptr_factory_.GetWeakPtr()), | 124 weak_ptr_factory_.GetWeakPtr()), |
125 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), | 125 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), |
126 media_player_params.frame_url); | 126 media_player_params.frame_url); |
127 } else { | 127 } else { |
128 return new MediaSourcePlayer( | 128 return new MediaSourcePlayer( |
129 media_player_params.player_id, | 129 media_player_params.player_id, |
130 manager, | 130 this, |
131 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, | 131 base::Bind(&BrowserMediaPlayerManager::OnMediaResourcesRequested, |
132 weak_ptr_factory_.GetWeakPtr()), | 132 weak_ptr_factory_.GetWeakPtr()), |
133 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), | 133 demuxer->CreateDemuxer(media_player_params.demuxer_client_id), |
134 media_player_params.frame_url); | 134 media_player_params.frame_url); |
135 } | 135 } |
136 } | 136 } |
137 } | 137 } |
138 | 138 |
139 NOTREACHED(); | 139 NOTREACHED(); |
140 return NULL; | 140 return NULL; |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
619 external_video_surface_container_->ReleaseExternalVideoSurface(player_id); | 619 external_video_surface_container_->ReleaseExternalVideoSurface(player_id); |
620 #endif // defined(VIDEO_HOLE) | 620 #endif // defined(VIDEO_HOLE) |
621 } | 621 } |
622 | 622 |
623 void BrowserMediaPlayerManager::ReleasePlayer(MediaPlayerAndroid* player) { | 623 void BrowserMediaPlayerManager::ReleasePlayer(MediaPlayerAndroid* player) { |
624 player->Release(); | 624 player->Release(); |
625 ReleaseMediaResources(player->player_id()); | 625 ReleaseMediaResources(player->player_id()); |
626 } | 626 } |
627 | 627 |
628 } // namespace content | 628 } // namespace content |
OLD | NEW |