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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
72 return new BrowserMediaPlayerManager(rfh, audio_monitor); | 72 return new BrowserMediaPlayerManager(rfh, audio_monitor); |
73 } | 73 } |
74 | 74 |
75 ContentViewCore* BrowserMediaPlayerManager::GetContentViewCore() const { | 75 ContentViewCore* BrowserMediaPlayerManager::GetContentViewCore() const { |
76 return ContentViewCoreImpl::FromWebContents(web_contents()); | 76 return ContentViewCoreImpl::FromWebContents(web_contents()); |
77 } | 77 } |
78 | 78 |
79 MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer( | 79 MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer( |
80 const MediaPlayerHostMsg_Initialize_Params& media_player_params, | 80 const MediaPlayerHostMsg_Initialize_Params& media_player_params, |
81 bool hide_url_log, | 81 bool hide_url_log, |
82 MediaPlayerManager* manager, | 82 MediaPlayerManager* manager, |
timav
2015/05/11 23:17:40
It seems we always pass |this| for |manager|, can
| |
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, |
(...skipping 19 matching lines...) Expand all Loading... | |
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 |