diff options
author | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-26 22:25:30 +0000 |
---|---|---|
committer | qinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-26 22:25:30 +0000 |
commit | 5c469b49d939ef73771879b90d5b61e46ab54462 (patch) | |
tree | 7839d73a5583e6e171cc0be0acb5bf8cae89e906 /webkit | |
parent | 81fcf950c92dc813a46de3e2854fdfa8957cde3c (diff) | |
download | chromium_src-5c469b49d939ef73771879b90d5b61e46ab54462.zip chromium_src-5c469b49d939ef73771879b90d5b61e46ab54462.tar.gz chromium_src-5c469b49d939ef73771879b90d5b61e46ab54462.tar.bz2 |
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
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/media/android/webmediaplayer_manager_android.cc | 4 | ||||
-rw-r--r-- | webkit/media/android/webmediaplayer_manager_android.h | 4 | ||||
-rw-r--r-- | webkit/support/webkit_support.cc | 2 |
3 files changed, 5 insertions, 5 deletions
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<int32, WebMediaPlayerAndroid*>::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 |