Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: content/browser/android/media_player_manager_impl.cc

Issue 14314020: Rename MediaPlayerBridgeManager to MediaPlayerManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: additional rebase conflict Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/android/media_player_manager_android.h" 5 #include "content/browser/android/media_player_manager_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "content/browser/android/media_resource_getter_impl.h" 8 #include "content/browser/android/media_resource_getter_impl.h"
9 #include "content/browser/web_contents/web_contents_view_android.h" 9 #include "content/browser/web_contents/web_contents_view_android.h"
10 #include "content/common/media/media_player_messages.h" 10 #include "content/common/media/media_player_messages.h"
11 #include "content/public/browser/browser_context.h" 11 #include "content/public/browser/browser_context.h"
12 #include "content/public/browser/render_process_host.h" 12 #include "content/public/browser/render_process_host.h"
13 #include "content/public/browser/render_view_host.h" 13 #include "content/public/browser/render_view_host.h"
14 #include "content/public/browser/storage_partition.h" 14 #include "content/public/browser/storage_partition.h"
15 15
16 using media::MediaPlayerBridge; 16 using media::MediaPlayerBridge;
17 17
18 // Threshold on the number of media players per renderer before we start 18 // Threshold on the number of media players per renderer before we start
19 // attempting to release inactive media players. 19 // attempting to release inactive media players.
20 static const int kMediaPlayerThreshold = 1; 20 static const int kMediaPlayerThreshold = 1;
21 21
22 namespace content { 22 namespace content {
23 23
24 MediaPlayerManagerAndroid::MediaPlayerManagerAndroid( 24 MediaPlayerManagerImpl::MediaPlayerManagerImpl(
25 RenderViewHost* render_view_host) 25 RenderViewHost* render_view_host)
26 : RenderViewHostObserver(render_view_host), 26 : RenderViewHostObserver(render_view_host),
27 video_view_(this), 27 video_view_(this),
28 fullscreen_player_id_(-1), 28 fullscreen_player_id_(-1),
29 web_contents_(WebContents::FromRenderViewHost(render_view_host)) { 29 web_contents_(WebContents::FromRenderViewHost(render_view_host)) {
30 } 30 }
31 31
32 MediaPlayerManagerAndroid::~MediaPlayerManagerAndroid() {} 32 MediaPlayerManagerImpl::~MediaPlayerManagerImpl() {}
33 33
34 bool MediaPlayerManagerAndroid::OnMessageReceived(const IPC::Message& msg) { 34 bool MediaPlayerManagerImpl::OnMessageReceived(const IPC::Message& msg) {
35 bool handled = true; 35 bool handled = true;
36 IPC_BEGIN_MESSAGE_MAP(MediaPlayerManagerAndroid, msg) 36 IPC_BEGIN_MESSAGE_MAP(MediaPlayerManagerImpl, msg)
37 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_EnterFullscreen, OnEnterFullscreen) 37 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_EnterFullscreen, OnEnterFullscreen)
38 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ExitFullscreen, OnExitFullscreen) 38 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ExitFullscreen, OnExitFullscreen)
39 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerInitialize, OnInitialize) 39 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerInitialize, OnInitialize)
40 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerStart, OnStart) 40 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerStart, OnStart)
41 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerSeek, OnSeek) 41 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerSeek, OnSeek)
42 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerPause, OnPause) 42 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerPause, OnPause)
43 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerRelease, 43 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerRelease,
44 OnReleaseResources) 44 OnReleaseResources)
45 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer) 45 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer)
46 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers, 46 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers,
47 DestroyAllMediaPlayers) 47 DestroyAllMediaPlayers)
48 #if defined(GOOGLE_TV) 48 #if defined(GOOGLE_TV)
49 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_RequestExternalSurface, 49 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_RequestExternalSurface,
50 OnRequestExternalSurface) 50 OnRequestExternalSurface)
51 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyGeometryChange, 51 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyGeometryChange,
52 OnNotifyGeometryChange) 52 OnNotifyGeometryChange)
53 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DemuxerReady, 53 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DemuxerReady,
54 OnDemuxerReady) 54 OnDemuxerReady)
55 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ReadFromDemuxerAck, 55 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ReadFromDemuxerAck,
56 OnReadFromDemuxerAck) 56 OnReadFromDemuxerAck)
57 #endif 57 #endif
58 IPC_MESSAGE_UNHANDLED(handled = false) 58 IPC_MESSAGE_UNHANDLED(handled = false)
59 IPC_END_MESSAGE_MAP() 59 IPC_END_MESSAGE_MAP()
60 return handled; 60 return handled;
61 } 61 }
62 62
63 void MediaPlayerManagerAndroid::FullscreenPlayerPlay() { 63 void MediaPlayerManagerImpl::FullscreenPlayerPlay() {
64 MediaPlayerBridge* player = GetFullscreenPlayer(); 64 MediaPlayerBridge* player = GetFullscreenPlayer();
65 if (player) { 65 if (player) {
66 player->Start(); 66 player->Start();
67 Send(new MediaPlayerMsg_DidMediaPlayerPlay( 67 Send(new MediaPlayerMsg_DidMediaPlayerPlay(
68 routing_id(), fullscreen_player_id_)); 68 routing_id(), fullscreen_player_id_));
69 } 69 }
70 } 70 }
71 71
72 void MediaPlayerManagerAndroid::FullscreenPlayerPause() { 72 void MediaPlayerManagerImpl::FullscreenPlayerPause() {
73 MediaPlayerBridge* player = GetFullscreenPlayer(); 73 MediaPlayerBridge* player = GetFullscreenPlayer();
74 if (player) { 74 if (player) {
75 player->Pause(); 75 player->Pause();
76 Send(new MediaPlayerMsg_DidMediaPlayerPause( 76 Send(new MediaPlayerMsg_DidMediaPlayerPause(
77 routing_id(), fullscreen_player_id_)); 77 routing_id(), fullscreen_player_id_));
78 } 78 }
79 } 79 }
80 80
81 void MediaPlayerManagerAndroid::FullscreenPlayerSeek(int msec) { 81 void MediaPlayerManagerImpl::FullscreenPlayerSeek(int msec) {
82 MediaPlayerBridge* player = GetFullscreenPlayer(); 82 MediaPlayerBridge* player = GetFullscreenPlayer();
83 if (player) 83 if (player)
84 player->SeekTo(base::TimeDelta::FromMilliseconds(msec)); 84 player->SeekTo(base::TimeDelta::FromMilliseconds(msec));
85 } 85 }
86 86
87 void MediaPlayerManagerAndroid::ExitFullscreen(bool release_media_player) { 87 void MediaPlayerManagerImpl::ExitFullscreen(bool release_media_player) {
88 Send(new MediaPlayerMsg_DidExitFullscreen( 88 Send(new MediaPlayerMsg_DidExitFullscreen(
89 routing_id(), fullscreen_player_id_)); 89 routing_id(), fullscreen_player_id_));
90 MediaPlayerBridge* player = GetFullscreenPlayer(); 90 MediaPlayerBridge* player = GetFullscreenPlayer();
91 fullscreen_player_id_ = -1; 91 fullscreen_player_id_ = -1;
92 if (!player) 92 if (!player)
93 return; 93 return;
94 if (release_media_player) 94 if (release_media_player)
95 player->Release(); 95 player->Release();
96 else 96 else
97 player->SetVideoSurface(NULL); 97 player->SetVideoSurface(NULL);
98 } 98 }
99 99
100 void MediaPlayerManagerAndroid::SetVideoSurface(jobject surface) { 100 void MediaPlayerManagerImpl::SetVideoSurface(jobject surface) {
101 MediaPlayerBridge* player = GetFullscreenPlayer(); 101 MediaPlayerBridge* player = GetFullscreenPlayer();
102 if (player) { 102 if (player) {
103 player->SetVideoSurface(surface); 103 player->SetVideoSurface(surface);
104 Send(new MediaPlayerMsg_DidEnterFullscreen( 104 Send(new MediaPlayerMsg_DidEnterFullscreen(
105 routing_id(), player->player_id())); 105 routing_id(), player->player_id()));
106 } 106 }
107 } 107 }
108 108
109 void MediaPlayerManagerAndroid::OnInitialize( 109 void MediaPlayerManagerImpl::OnInitialize(
110 int player_id, const GURL& url, 110 int player_id, const GURL& url,
111 bool is_media_source, 111 bool is_media_source,
112 const GURL& first_party_for_cookies) { 112 const GURL& first_party_for_cookies) {
113 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin(); 113 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin();
114 it != players_.end(); ++it) { 114 it != players_.end(); ++it) {
115 if ((*it)->player_id() == player_id) { 115 if ((*it)->player_id() == player_id) {
116 players_.erase(it); 116 players_.erase(it);
117 break; 117 break;
118 } 118 }
119 } 119 }
120 120
121 RenderProcessHost* host = render_view_host()->GetProcess(); 121 RenderProcessHost* host = render_view_host()->GetProcess();
122 BrowserContext* context = host->GetBrowserContext();
123 StoragePartition* partition = host->GetStoragePartition();
124 fileapi::FileSystemContext* file_system_context =
125 partition ? partition->GetFileSystemContext() : NULL;
126 players_.push_back(media::MediaPlayerBridge::Create( 122 players_.push_back(media::MediaPlayerBridge::Create(
127 player_id, url, is_media_source, first_party_for_cookies, 123 player_id, url, is_media_source, first_party_for_cookies,
128 new MediaResourceGetterImpl(context, file_system_context, host->GetID(), 124 host->GetBrowserContext()->IsOffTheRecord(), this,
129 routing_id()),
130 context->IsOffTheRecord(), this,
131 #if defined(GOOGLE_TV) 125 #if defined(GOOGLE_TV)
132 base::Bind(&MediaPlayerManagerAndroid::OnReadFromDemuxer, 126 base::Bind(&MediaPlayerManagerImpl::OnReadFromDemuxer,
133 base::Unretained(this)), 127 base::Unretained(this)),
134 #endif 128 #endif
135 base::Bind(&MediaPlayerManagerAndroid::OnError, base::Unretained(this)), 129 base::Bind(&MediaPlayerManagerImpl::OnError, base::Unretained(this)),
136 base::Bind(&MediaPlayerManagerAndroid::OnVideoSizeChanged, 130 base::Bind(&MediaPlayerManagerImpl::OnVideoSizeChanged,
137 base::Unretained(this)), 131 base::Unretained(this)),
138 base::Bind(&MediaPlayerManagerAndroid::OnBufferingUpdate, 132 base::Bind(&MediaPlayerManagerImpl::OnBufferingUpdate,
139 base::Unretained(this)), 133 base::Unretained(this)),
140 base::Bind(&MediaPlayerManagerAndroid::OnMediaMetadataChanged, 134 base::Bind(&MediaPlayerManagerImpl::OnMediaMetadataChanged,
141 base::Unretained(this)), 135 base::Unretained(this)),
142 base::Bind(&MediaPlayerManagerAndroid::OnPlaybackComplete, 136 base::Bind(&MediaPlayerManagerImpl::OnPlaybackComplete,
143 base::Unretained(this)), 137 base::Unretained(this)),
144 base::Bind(&MediaPlayerManagerAndroid::OnSeekComplete, 138 base::Bind(&MediaPlayerManagerImpl::OnSeekComplete,
145 base::Unretained(this)), 139 base::Unretained(this)),
146 base::Bind(&MediaPlayerManagerAndroid::OnTimeUpdate, 140 base::Bind(&MediaPlayerManagerImpl::OnTimeUpdate,
147 base::Unretained(this)), 141 base::Unretained(this)),
148 base::Bind(&MediaPlayerManagerAndroid::OnMediaInterrupted, 142 base::Bind(&MediaPlayerManagerImpl::OnMediaInterrupted,
149 base::Unretained(this)))); 143 base::Unretained(this))));
150 } 144 }
151 145
152 void MediaPlayerManagerAndroid::OnStart(int player_id) { 146 media::MediaResourceGetter* MediaPlayerManagerImpl::GetMediaResourceGetter() {
147 if (!media_resource_getter_.get()) {
148 RenderProcessHost* host = render_view_host()->GetProcess();
149 BrowserContext* context = host->GetBrowserContext();
150 StoragePartition* partition = host->GetStoragePartition();
151 fileapi::FileSystemContext* file_system_context =
152 partition ? partition->GetFileSystemContext() : NULL;
153 media_resource_getter_.reset(new MediaResourceGetterImpl(
154 context, file_system_context, host->GetID(), routing_id()));
155 }
156 return media_resource_getter_.get();
157 }
158
159 void MediaPlayerManagerImpl::OnStart(int player_id) {
153 MediaPlayerBridge* player = GetPlayer(player_id); 160 MediaPlayerBridge* player = GetPlayer(player_id);
154 if (player) 161 if (player)
155 player->Start(); 162 player->Start();
156 } 163 }
157 164
158 void MediaPlayerManagerAndroid::OnSeek(int player_id, base::TimeDelta time) { 165 void MediaPlayerManagerImpl::OnSeek(int player_id, base::TimeDelta time) {
159 MediaPlayerBridge* player = GetPlayer(player_id); 166 MediaPlayerBridge* player = GetPlayer(player_id);
160 if (player) 167 if (player)
161 player->SeekTo(time); 168 player->SeekTo(time);
162 } 169 }
163 170
164 void MediaPlayerManagerAndroid::OnPause(int player_id) { 171 void MediaPlayerManagerImpl::OnPause(int player_id) {
165 MediaPlayerBridge* player = GetPlayer(player_id); 172 MediaPlayerBridge* player = GetPlayer(player_id);
166 if (player) 173 if (player)
167 player->Pause(); 174 player->Pause();
168 } 175 }
169 176
170 void MediaPlayerManagerAndroid::OnEnterFullscreen(int player_id) { 177 void MediaPlayerManagerImpl::OnEnterFullscreen(int player_id) {
171 DCHECK_EQ(fullscreen_player_id_, -1); 178 DCHECK_EQ(fullscreen_player_id_, -1);
172 179
173 fullscreen_player_id_ = player_id; 180 fullscreen_player_id_ = player_id;
174 video_view_.CreateContentVideoView(); 181 video_view_.CreateContentVideoView();
175 } 182 }
176 183
177 void MediaPlayerManagerAndroid::OnExitFullscreen(int player_id) { 184 void MediaPlayerManagerImpl::OnExitFullscreen(int player_id) {
178 if (fullscreen_player_id_ == player_id) { 185 if (fullscreen_player_id_ == player_id) {
179 MediaPlayerBridge* player = GetPlayer(player_id); 186 MediaPlayerBridge* player = GetPlayer(player_id);
180 if (player) 187 if (player)
181 player->SetVideoSurface(NULL); 188 player->SetVideoSurface(NULL);
182 video_view_.DestroyContentVideoView(); 189 video_view_.DestroyContentVideoView();
183 fullscreen_player_id_ = -1; 190 fullscreen_player_id_ = -1;
184 } 191 }
185 } 192 }
186 193
187 void MediaPlayerManagerAndroid::OnReleaseResources(int player_id) { 194 void MediaPlayerManagerImpl::OnReleaseResources(int player_id) {
188 MediaPlayerBridge* player = GetPlayer(player_id); 195 MediaPlayerBridge* player = GetPlayer(player_id);
189 // Don't release the fullscreen player when tab visibility changes, 196 // Don't release the fullscreen player when tab visibility changes,
190 // it will be released when user hit the back/home button or when 197 // it will be released when user hit the back/home button or when
191 // OnDestroyPlayer is called. 198 // OnDestroyPlayer is called.
192 if (player && player_id != fullscreen_player_id_) 199 if (player && player_id != fullscreen_player_id_)
193 player->Release(); 200 player->Release();
194 } 201 }
195 202
196 void MediaPlayerManagerAndroid::OnDestroyPlayer(int player_id) { 203 void MediaPlayerManagerImpl::OnDestroyPlayer(int player_id) {
197 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin(); 204 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin();
198 it != players_.end(); ++it) { 205 it != players_.end(); ++it) {
199 if ((*it)->player_id() == player_id) { 206 if ((*it)->player_id() == player_id) {
200 players_.erase(it); 207 players_.erase(it);
201 break; 208 break;
202 } 209 }
203 } 210 }
204 if (fullscreen_player_id_ == player_id) 211 if (fullscreen_player_id_ == player_id)
205 fullscreen_player_id_ = -1; 212 fullscreen_player_id_ = -1;
206 } 213 }
207 214
208 void MediaPlayerManagerAndroid::DestroyAllMediaPlayers() { 215 void MediaPlayerManagerImpl::DestroyAllMediaPlayers() {
209 players_.clear(); 216 players_.clear();
210 if (fullscreen_player_id_ != -1) { 217 if (fullscreen_player_id_ != -1) {
211 video_view_.DestroyContentVideoView(); 218 video_view_.DestroyContentVideoView();
212 fullscreen_player_id_ = -1; 219 fullscreen_player_id_ = -1;
213 } 220 }
214 } 221 }
215 222
216 #if defined(GOOGLE_TV) 223 #if defined(GOOGLE_TV)
217 void MediaPlayerManagerAndroid::AttachExternalVideoSurface(int player_id, 224 void MediaPlayerManagerImpl::AttachExternalVideoSurface(int player_id,
218 jobject surface) { 225 jobject surface) {
219 MediaPlayerBridge* player = GetPlayer(player_id); 226 MediaPlayerBridge* player = GetPlayer(player_id);
220 if (player) 227 if (player)
221 player->SetVideoSurface(surface); 228 player->SetVideoSurface(surface);
222 } 229 }
223 230
224 void MediaPlayerManagerAndroid::DetachExternalVideoSurface(int player_id) { 231 void MediaPlayerManagerImpl::DetachExternalVideoSurface(int player_id) {
225 MediaPlayerBridge* player = GetPlayer(player_id); 232 MediaPlayerBridge* player = GetPlayer(player_id);
226 if (player) 233 if (player)
227 player->SetVideoSurface(NULL); 234 player->SetVideoSurface(NULL);
228 } 235 }
229 236
230 void MediaPlayerManagerAndroid::OnRequestExternalSurface(int player_id) { 237 void MediaPlayerManagerImpl::OnRequestExternalSurface(int player_id) {
231 if (!web_contents_) 238 if (!web_contents_)
232 return; 239 return;
233 240
234 WebContentsViewAndroid* view = 241 WebContentsViewAndroid* view =
235 static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); 242 static_cast<WebContentsViewAndroid*>(web_contents_->GetView());
236 if (view) 243 if (view)
237 view->RequestExternalVideoSurface(player_id); 244 view->RequestExternalVideoSurface(player_id);
238 } 245 }
239 246
240 void MediaPlayerManagerAndroid::OnNotifyGeometryChange(int player_id, 247 void MediaPlayerManagerImpl::OnNotifyGeometryChange(int player_id,
241 const gfx::RectF& rect) { 248 const gfx::RectF& rect) {
242 if (!web_contents_) 249 if (!web_contents_)
243 return; 250 return;
244 251
245 WebContentsViewAndroid* view = 252 WebContentsViewAndroid* view =
246 static_cast<WebContentsViewAndroid*>(web_contents_->GetView()); 253 static_cast<WebContentsViewAndroid*>(web_contents_->GetView());
247 if (view) 254 if (view)
248 view->NotifyGeometryChange(player_id, rect); 255 view->NotifyGeometryChange(player_id, rect);
249 } 256 }
250 257
251 void MediaPlayerManagerAndroid::OnDemuxerReady( 258 void MediaPlayerManagerImpl::OnDemuxerReady(
252 int player_id, 259 int player_id,
253 const media::MediaPlayerHostMsg_DemuxerReady_Params& params) { 260 const media::MediaPlayerHostMsg_DemuxerReady_Params& params) {
254 MediaPlayerBridge* player = GetPlayer(player_id); 261 MediaPlayerBridge* player = GetPlayer(player_id);
255 if (player) 262 if (player)
256 player->DemuxerReady(params); 263 player->DemuxerReady(params);
257 } 264 }
258 265
259 void MediaPlayerManagerAndroid::OnReadFromDemuxerAck( 266 void MediaPlayerManagerImpl::OnReadFromDemuxerAck(
260 int player_id, 267 int player_id,
261 const media::MediaPlayerHostMsg_ReadFromDemuxerAck_Params& params) { 268 const media::MediaPlayerHostMsg_ReadFromDemuxerAck_Params& params) {
262 MediaPlayerBridge* player = GetPlayer(player_id); 269 MediaPlayerBridge* player = GetPlayer(player_id);
263 if (player) 270 if (player)
264 player->ReadFromDemuxerAck(params); 271 player->ReadFromDemuxerAck(params);
265 } 272 }
266 #endif 273 #endif
267 274
268 MediaPlayerBridge* MediaPlayerManagerAndroid::GetPlayer(int player_id) { 275 MediaPlayerBridge* MediaPlayerManagerImpl::GetPlayer(int player_id) {
269 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin(); 276 for (ScopedVector<MediaPlayerBridge>::iterator it = players_.begin();
270 it != players_.end(); ++it) { 277 it != players_.end(); ++it) {
271 if ((*it)->player_id() == player_id) 278 if ((*it)->player_id() == player_id)
272 return *it; 279 return *it;
273 } 280 }
274 return NULL; 281 return NULL;
275 } 282 }
276 283
277 MediaPlayerBridge* MediaPlayerManagerAndroid::GetFullscreenPlayer() { 284 MediaPlayerBridge* MediaPlayerManagerImpl::GetFullscreenPlayer() {
278 return GetPlayer(fullscreen_player_id_); 285 return GetPlayer(fullscreen_player_id_);
279 } 286 }
280 287
281 void MediaPlayerManagerAndroid::OnMediaMetadataChanged( 288 void MediaPlayerManagerImpl::OnMediaMetadataChanged(
282 int player_id, base::TimeDelta duration, int width, int height, 289 int player_id, base::TimeDelta duration, int width, int height,
283 bool success) { 290 bool success) {
284 Send(new MediaPlayerMsg_MediaMetadataChanged( 291 Send(new MediaPlayerMsg_MediaMetadataChanged(
285 routing_id(), player_id, duration, width, height, success)); 292 routing_id(), player_id, duration, width, height, success));
286 if (fullscreen_player_id_ != -1) 293 if (fullscreen_player_id_ != -1)
287 video_view_.UpdateMediaMetadata(); 294 video_view_.UpdateMediaMetadata();
288 } 295 }
289 296
290 void MediaPlayerManagerAndroid::OnPlaybackComplete(int player_id) { 297 void MediaPlayerManagerImpl::OnPlaybackComplete(int player_id) {
291 Send(new MediaPlayerMsg_MediaPlaybackCompleted(routing_id(), player_id)); 298 Send(new MediaPlayerMsg_MediaPlaybackCompleted(routing_id(), player_id));
292 if (fullscreen_player_id_ != -1) 299 if (fullscreen_player_id_ != -1)
293 video_view_.OnPlaybackComplete(); 300 video_view_.OnPlaybackComplete();
294 } 301 }
295 302
296 void MediaPlayerManagerAndroid::OnMediaInterrupted(int player_id) { 303 void MediaPlayerManagerImpl::OnMediaInterrupted(int player_id) {
297 // Tell WebKit that the audio should be paused, then release all resources 304 // Tell WebKit that the audio should be paused, then release all resources
298 Send(new MediaPlayerMsg_DidMediaPlayerPause(routing_id(), player_id)); 305 Send(new MediaPlayerMsg_DidMediaPlayerPause(routing_id(), player_id));
299 OnReleaseResources(player_id); 306 OnReleaseResources(player_id);
300 } 307 }
301 308
302 void MediaPlayerManagerAndroid::OnBufferingUpdate( 309 void MediaPlayerManagerImpl::OnBufferingUpdate(
303 int player_id, int percentage) { 310 int player_id, int percentage) {
304 Send(new MediaPlayerMsg_MediaBufferingUpdate( 311 Send(new MediaPlayerMsg_MediaBufferingUpdate(
305 routing_id(), player_id, percentage)); 312 routing_id(), player_id, percentage));
306 if (fullscreen_player_id_ != -1) 313 if (fullscreen_player_id_ != -1)
307 video_view_.OnBufferingUpdate(percentage); 314 video_view_.OnBufferingUpdate(percentage);
308 } 315 }
309 316
310 void MediaPlayerManagerAndroid::OnSeekComplete(int player_id, 317 void MediaPlayerManagerImpl::OnSeekComplete(int player_id,
311 base::TimeDelta current_time) { 318 base::TimeDelta current_time) {
312 Send(new MediaPlayerMsg_MediaSeekCompleted( 319 Send(new MediaPlayerMsg_MediaSeekCompleted(
313 routing_id(), player_id, current_time)); 320 routing_id(), player_id, current_time));
314 } 321 }
315 322
316 void MediaPlayerManagerAndroid::OnError(int player_id, int error) { 323 void MediaPlayerManagerImpl::OnError(int player_id, int error) {
317 Send(new MediaPlayerMsg_MediaError(routing_id(), player_id, error)); 324 Send(new MediaPlayerMsg_MediaError(routing_id(), player_id, error));
318 if (fullscreen_player_id_ != -1) 325 if (fullscreen_player_id_ != -1)
319 video_view_.OnMediaPlayerError(error); 326 video_view_.OnMediaPlayerError(error);
320 } 327 }
321 328
322 void MediaPlayerManagerAndroid::OnVideoSizeChanged( 329 void MediaPlayerManagerImpl::OnVideoSizeChanged(
323 int player_id, int width, int height) { 330 int player_id, int width, int height) {
324 Send(new MediaPlayerMsg_MediaVideoSizeChanged(routing_id(), player_id, 331 Send(new MediaPlayerMsg_MediaVideoSizeChanged(routing_id(), player_id,
325 width, height)); 332 width, height));
326 if (fullscreen_player_id_ != -1) 333 if (fullscreen_player_id_ != -1)
327 video_view_.OnVideoSizeChanged(width, height); 334 video_view_.OnVideoSizeChanged(width, height);
328 } 335 }
329 336
330 void MediaPlayerManagerAndroid::OnTimeUpdate(int player_id, 337 void MediaPlayerManagerImpl::OnTimeUpdate(int player_id,
331 base::TimeDelta current_time) { 338 base::TimeDelta current_time) {
332 Send(new MediaPlayerMsg_MediaTimeUpdate( 339 Send(new MediaPlayerMsg_MediaTimeUpdate(
333 routing_id(), player_id, current_time)); 340 routing_id(), player_id, current_time));
334 } 341 }
335 342
336 #if defined(GOOGLE_TV) 343 #if defined(GOOGLE_TV)
337 void MediaPlayerManagerAndroid::OnReadFromDemuxer( 344 void MediaPlayerManagerImpl::OnReadFromDemuxer(
338 int player_id, media::DemuxerStream::Type type, bool seek_done) { 345 int player_id, media::DemuxerStream::Type type, bool seek_done) {
339 Send(new MediaPlayerMsg_ReadFromDemuxer( 346 Send(new MediaPlayerMsg_ReadFromDemuxer(
340 routing_id(), player_id, type, seek_done)); 347 routing_id(), player_id, type, seek_done));
341 } 348 }
342 #endif 349 #endif
343 350
344 void MediaPlayerManagerAndroid::RequestMediaResources( 351 void MediaPlayerManagerImpl::RequestMediaResources(
345 MediaPlayerBridge* player) { 352 MediaPlayerBridge* player) {
346 if (player == NULL) 353 if (player == NULL)
347 return; 354 return;
348 355
349 int num_active_player = 0; 356 int num_active_player = 0;
350 ScopedVector<MediaPlayerBridge>::iterator it; 357 ScopedVector<MediaPlayerBridge>::iterator it;
351 for (it = players_.begin(); it != players_.end(); ++it) { 358 for (it = players_.begin(); it != players_.end(); ++it) {
352 if (!(*it)->prepared()) 359 if (!(*it)->prepared())
353 continue; 360 continue;
354 361
(...skipping 11 matching lines...) Expand all
366 for (it = players_.begin(); it != players_.end(); ++it) { 373 for (it = players_.begin(); it != players_.end(); ++it) {
367 if ((*it)->prepared() && !(*it)->IsPlaying() && 374 if ((*it)->prepared() && !(*it)->IsPlaying() &&
368 fullscreen_player_id_ != (*it)->player_id()) { 375 fullscreen_player_id_ != (*it)->player_id()) {
369 (*it)->Release(); 376 (*it)->Release();
370 Send(new MediaPlayerMsg_MediaPlayerReleased( 377 Send(new MediaPlayerMsg_MediaPlayerReleased(
371 routing_id(), (*it)->player_id())); 378 routing_id(), (*it)->player_id()));
372 } 379 }
373 } 380 }
374 } 381 }
375 382
376 void MediaPlayerManagerAndroid::ReleaseMediaResources( 383 void MediaPlayerManagerImpl::ReleaseMediaResources(
377 MediaPlayerBridge* player) { 384 MediaPlayerBridge* player) {
378 // Nothing needs to be done. 385 // Nothing needs to be done.
379 } 386 }
380 387
381 } // namespace content 388 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/media_player_manager_impl.h ('k') | content/browser/android/surface_texture_peer_browser_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698