Chromium Code Reviews| Index: content/browser/media/android/browser_media_player_manager.cc |
| diff --git a/content/browser/media/android/browser_media_player_manager.cc b/content/browser/media/android/browser_media_player_manager.cc |
| index d37366ce7ee3d0978acc2b3d6569bae435f19b07..096b68657af6a1a39d5a1906f690137c2b6add85 100644 |
| --- a/content/browser/media/android/browser_media_player_manager.cc |
| +++ b/content/browser/media/android/browser_media_player_manager.cc |
| @@ -92,6 +92,7 @@ BrowserMediaPlayerManager::BrowserMediaPlayerManager( |
| : WebContentsObserver(WebContents::FromRenderViewHost(render_view_host)), |
| fullscreen_player_id_(-1), |
| pending_fullscreen_player_id_(-1), |
| + fullscreen_player_is_released_(false), |
| web_contents_(WebContents::FromRenderViewHost(render_view_host)), |
| weak_ptr_factory_(this) { |
| } |
| @@ -131,6 +132,10 @@ bool BrowserMediaPlayerManager::OnMessageReceived(const IPC::Message& msg) { |
| void BrowserMediaPlayerManager::FullscreenPlayerPlay() { |
| MediaPlayerAndroid* player = GetFullscreenPlayer(); |
| if (player) { |
| + if (fullscreen_player_is_released_) { |
| + video_view_->OpenVideo(); |
| + fullscreen_player_is_released_ = false; |
| + } |
| player->Start(); |
| Send(new MediaPlayerMsg_DidMediaPlayerPlay( |
| routing_id(), fullscreen_player_id_)); |
| @@ -149,6 +154,9 @@ void BrowserMediaPlayerManager::FullscreenPlayerPause() { |
| void BrowserMediaPlayerManager::FullscreenPlayerSeek(int msec) { |
| MediaPlayerAndroid* player = GetFullscreenPlayer(); |
| if (player) { |
| + // TODO(kbalazs): if fullscreen_player_is_released_ is true |
|
wolenetz
2013/11/25 20:59:38
nit: Add |...| around fullscreen_player_is_release
|
| + // at this point, player->GetCurrentTime() be wrong until |
| + // FullscreenPlayerPlay (crbug.com/322798). |
|
wolenetz
2013/11/25 20:59:38
nit: include http:// prefix in links
|
| OnSeekRequest(fullscreen_player_id_, |
| base::TimeDelta::FromMilliseconds(msec)); |
| } |
| @@ -499,11 +507,10 @@ void BrowserMediaPlayerManager::OnSetVolume(int player_id, double volume) { |
| void BrowserMediaPlayerManager::OnReleaseResources(int player_id) { |
| MediaPlayerAndroid* player = GetPlayer(player_id); |
| - // Don't release the fullscreen player when tab visibility changes, |
| - // it will be released when user hit the back/home button or when |
| - // OnDestroyPlayer is called. |
| - if (player && player_id != fullscreen_player_id_) |
| + if (player) |
| player->Release(); |
| + if (player_id == fullscreen_player_id_) |
| + fullscreen_player_is_released_ = true; |
| #if defined(GOOGLE_TV) |
| WebContentsViewAndroid* view = |