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

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

Issue 15499006: Enable seek in fullscreen mode for MSE impl on android (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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_impl.h" 5 #include "content/browser/android/media_player_manager_impl.h"
6 6
7 #include "content/browser/android/media_resource_getter_impl.h" 7 #include "content/browser/android/media_resource_getter_impl.h"
8 #include "content/browser/web_contents/web_contents_view_android.h" 8 #include "content/browser/web_contents/web_contents_view_android.h"
9 #include "content/common/media/media_player_messages_android.h" 9 #include "content/common/media/media_player_messages_android.h"
10 #include "content/public/browser/browser_context.h" 10 #include "content/public/browser/browser_context.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerStart, OnStart) 59 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerStart, OnStart)
60 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerSeek, OnSeek) 60 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerSeek, OnSeek)
61 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerPause, OnPause) 61 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerPause, OnPause)
62 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerRelease, 62 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaPlayerRelease,
63 OnReleaseResources) 63 OnReleaseResources)
64 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer) 64 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyMediaPlayer, OnDestroyPlayer)
65 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers, 65 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DestroyAllMediaPlayers,
66 DestroyAllMediaPlayers) 66 DestroyAllMediaPlayers)
67 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DemuxerReady, 67 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_DemuxerReady,
68 OnDemuxerReady) 68 OnDemuxerReady)
69 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ReadFromDemuxerAck,
70 OnReadFromDemuxerAck)
71 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_MediaSeekRequestAck,
72 OnMediaSeekRequestAck)
69 #if defined(GOOGLE_TV) 73 #if defined(GOOGLE_TV)
70 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyExternalSurface, 74 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_NotifyExternalSurface,
71 OnNotifyExternalSurface) 75 OnNotifyExternalSurface)
72 #endif 76 #endif
73 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_ReadFromDemuxerAck,
74 OnReadFromDemuxerAck)
75 IPC_MESSAGE_UNHANDLED(handled = false) 77 IPC_MESSAGE_UNHANDLED(handled = false)
76 IPC_END_MESSAGE_MAP() 78 IPC_END_MESSAGE_MAP()
77 return handled; 79 return handled;
78 } 80 }
79 81
80 void MediaPlayerManagerImpl::FullscreenPlayerPlay() { 82 void MediaPlayerManagerImpl::FullscreenPlayerPlay() {
81 MediaPlayerAndroid* player = GetFullscreenPlayer(); 83 MediaPlayerAndroid* player = GetFullscreenPlayer();
82 if (player) { 84 if (player) {
83 player->Start(); 85 player->Start();
84 Send(new MediaPlayerMsg_DidMediaPlayerPlay( 86 Send(new MediaPlayerMsg_DidMediaPlayerPlay(
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 #endif 256 #endif
255 257
256 void MediaPlayerManagerImpl::OnReadFromDemuxerAck( 258 void MediaPlayerManagerImpl::OnReadFromDemuxerAck(
257 int player_id, 259 int player_id,
258 const media::MediaPlayerHostMsg_ReadFromDemuxerAck_Params& params) { 260 const media::MediaPlayerHostMsg_ReadFromDemuxerAck_Params& params) {
259 MediaPlayerAndroid* player = GetPlayer(player_id); 261 MediaPlayerAndroid* player = GetPlayer(player_id);
260 if (player) 262 if (player)
261 player->ReadFromDemuxerAck(params); 263 player->ReadFromDemuxerAck(params);
262 } 264 }
263 265
266 void MediaPlayerManagerImpl::OnMediaSeekRequestAck(int player_id) {
267 MediaPlayerAndroid* player = GetPlayer(player_id);
268 if (player)
269 player->OnSeekRequestAck();
270 }
271
264 MediaPlayerAndroid* MediaPlayerManagerImpl::GetPlayer(int player_id) { 272 MediaPlayerAndroid* MediaPlayerManagerImpl::GetPlayer(int player_id) {
265 for (ScopedVector<MediaPlayerAndroid>::iterator it = players_.begin(); 273 for (ScopedVector<MediaPlayerAndroid>::iterator it = players_.begin();
266 it != players_.end(); ++it) { 274 it != players_.end(); ++it) {
267 if ((*it)->player_id() == player_id) 275 if ((*it)->player_id() == player_id)
268 return *it; 276 return *it;
269 } 277 }
270 return NULL; 278 return NULL;
271 } 279 }
272 280
273 MediaPlayerAndroid* MediaPlayerManagerImpl::GetFullscreenPlayer() { 281 MediaPlayerAndroid* MediaPlayerManagerImpl::GetFullscreenPlayer() {
(...skipping 23 matching lines...) Expand all
297 305
298 void MediaPlayerManagerImpl::OnBufferingUpdate( 306 void MediaPlayerManagerImpl::OnBufferingUpdate(
299 int player_id, int percentage) { 307 int player_id, int percentage) {
300 Send(new MediaPlayerMsg_MediaBufferingUpdate( 308 Send(new MediaPlayerMsg_MediaBufferingUpdate(
301 routing_id(), player_id, percentage)); 309 routing_id(), player_id, percentage));
302 if (fullscreen_player_id_ != -1) 310 if (fullscreen_player_id_ != -1)
303 video_view_.OnBufferingUpdate(percentage); 311 video_view_.OnBufferingUpdate(percentage);
304 } 312 }
305 313
306 void MediaPlayerManagerImpl::OnSeekComplete(int player_id, 314 void MediaPlayerManagerImpl::OnSeekComplete(int player_id,
307 base::TimeDelta current_time) { 315 base::TimeDelta current_time) {
308 Send(new MediaPlayerMsg_MediaSeekCompleted( 316 Send(new MediaPlayerMsg_MediaSeekCompleted(
309 routing_id(), player_id, current_time)); 317 routing_id(), player_id, current_time));
310 } 318 }
311 319
320 void MediaPlayerManagerImpl::OnMediaSeekRequest(
321 int player_id, base::TimeDelta time_to_seek, bool request_surface) {
322 bool request_texture_peer = request_surface;
323 if (request_surface && player_id == fullscreen_player_id_) {
324 video_view_.CreateContentVideoView();
325 request_texture_peer = false;
326 }
327 Send(new MediaPlayerMsg_MediaSeekRequest(
328 routing_id(), player_id, time_to_seek, request_texture_peer));
329 }
330
312 void MediaPlayerManagerImpl::OnError(int player_id, int error) { 331 void MediaPlayerManagerImpl::OnError(int player_id, int error) {
313 Send(new MediaPlayerMsg_MediaError(routing_id(), player_id, error)); 332 Send(new MediaPlayerMsg_MediaError(routing_id(), player_id, error));
314 if (fullscreen_player_id_ != -1) 333 if (fullscreen_player_id_ != -1)
315 video_view_.OnMediaPlayerError(error); 334 video_view_.OnMediaPlayerError(error);
316 } 335 }
317 336
318 void MediaPlayerManagerImpl::OnVideoSizeChanged( 337 void MediaPlayerManagerImpl::OnVideoSizeChanged(
319 int player_id, int width, int height) { 338 int player_id, int width, int height) {
320 Send(new MediaPlayerMsg_MediaVideoSizeChanged(routing_id(), player_id, 339 Send(new MediaPlayerMsg_MediaVideoSizeChanged(routing_id(), player_id,
321 width, height)); 340 width, height));
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 } 385 }
367 } 386 }
368 } 387 }
369 388
370 void MediaPlayerManagerImpl::ReleaseMediaResources( 389 void MediaPlayerManagerImpl::ReleaseMediaResources(
371 MediaPlayerAndroid* player) { 390 MediaPlayerAndroid* player) {
372 // Nothing needs to be done. 391 // Nothing needs to be done.
373 } 392 }
374 393
375 } // namespace content 394 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/android/media_player_manager_impl.h ('k') | content/common/media/media_player_messages_android.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698