From 5c469b49d939ef73771879b90d5b61e46ab54462 Mon Sep 17 00:00:00 2001 From: "qinmin@chromium.org" Date: Mon, 26 Nov 2012 22:25:30 +0000 Subject: Release video resources when switching tabs or leave clank The media framework prefer at most 2 players playing. Release video decoding resources when switching tabs. Review URL: https://chromiumcodereview.appspot.com/11418120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169505 0039d316-1c4b-4281-b951-d872f2087c98 --- webkit/media/android/webmediaplayer_manager_android.cc | 4 ++-- webkit/media/android/webmediaplayer_manager_android.h | 4 ++-- webkit/support/webkit_support.cc | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'webkit') diff --git a/webkit/media/android/webmediaplayer_manager_android.cc b/webkit/media/android/webmediaplayer_manager_android.cc index affc210..4d24ad43 100644 --- a/webkit/media/android/webmediaplayer_manager_android.cc +++ b/webkit/media/android/webmediaplayer_manager_android.cc @@ -26,14 +26,14 @@ void WebMediaPlayerManagerAndroid::UnregisterMediaPlayer(int player_id) { media_players_.erase(player_id); } -void WebMediaPlayerManagerAndroid::ReleaseMediaResourcesIfNotPlaying() { +void WebMediaPlayerManagerAndroid::ReleaseMediaResources() { std::map::iterator player_it; for (player_it = media_players_.begin(); player_it != media_players_.end(); ++player_it) { WebMediaPlayerAndroid* player = player_it->second; // Do not release if an audio track is still playing - if (player && player->paused()) + if (player && (player->paused() || player->hasVideo())) player->ReleaseMediaResources(); } } diff --git a/webkit/media/android/webmediaplayer_manager_android.h b/webkit/media/android/webmediaplayer_manager_android.h index d342c31..ce345b7 100644 --- a/webkit/media/android/webmediaplayer_manager_android.h +++ b/webkit/media/android/webmediaplayer_manager_android.h @@ -29,8 +29,8 @@ class WebMediaPlayerManagerAndroid { void UnregisterMediaPlayer(int player_id); // Release all the media resources managed by this object unless - // a media play is in progress. - void ReleaseMediaResourcesIfNotPlaying(); + // an audio play is in progress. + void ReleaseMediaResources(); // Check whether a player can enter fullscreen. bool CanEnterFullscreen(WebKit::WebFrame* frame); diff --git a/webkit/support/webkit_support.cc b/webkit/support/webkit_support.cc index 510c50f..c42c00b 100644 --- a/webkit/support/webkit_support.cc +++ b/webkit/support/webkit_support.cc @@ -448,7 +448,7 @@ WebKit::WebMediaPlayer* CreateMediaPlayer( #if defined(OS_ANDROID) void ReleaseMediaResources() { - test_environment->media_player_manager()->ReleaseMediaResourcesIfNotPlaying(); + test_environment->media_player_manager()->ReleaseMediaResources(); } #endif -- cgit v1.1