summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-26 22:25:30 +0000
committerqinmin@chromium.org <qinmin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-26 22:25:30 +0000
commit5c469b49d939ef73771879b90d5b61e46ab54462 (patch)
tree7839d73a5583e6e171cc0be0acb5bf8cae89e906 /webkit
parent81fcf950c92dc813a46de3e2854fdfa8957cde3c (diff)
downloadchromium_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.cc4
-rw-r--r--webkit/media/android/webmediaplayer_manager_android.h4
-rw-r--r--webkit/support/webkit_support.cc2
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