Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 6c4573fb75aecf16a14461ae0f5f84b162823718..0ade026dfaef2f68c0499a4a667794575b8c4eaf 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -5681,7 +5681,11 @@ void RenderViewImpl::OnWasHidden() { |
#if defined(OS_ANDROID) |
// Inform WebMediaPlayerManagerAndroid to release all media player resources. |
- media_player_manager_->ReleaseMediaResources(); |
+ // unless some media is playing. |
+ // If something is in progress the resource will not be freed, it will |
+ // only be freed once the tab is destroyed or if the user navigates away |
+ // via WebMediaPlayerAndroid::Destroy |
+ media_player_manager_->ReleaseMediaResourcesIfNotPlaying(); |
#endif |
if (webview()) { |