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 5fecd39836ab9172aad7e9fcba7fa54af2c98030..8600a754ef3332910773cb92edb03aff60f4aa06 100644 |
--- a/content/browser/media/android/browser_media_player_manager.cc |
+++ b/content/browser/media/android/browser_media_player_manager.cc |
@@ -7,6 +7,7 @@ |
#include "base/android/scoped_java_ref.h" |
#include "base/command_line.h" |
#include "content/browser/android/content_view_core_impl.h" |
+#include "content/browser/android/media_players_observer.h" |
#include "content/browser/media/android/browser_demuxer_android.h" |
#include "content/browser/media/android/media_resource_getter_impl.h" |
#include "content/browser/renderer_host/render_view_host_impl.h" |
@@ -57,10 +58,11 @@ void BrowserMediaPlayerManager::RegisterMediaUrlInterceptor( |
// static |
BrowserMediaPlayerManager* BrowserMediaPlayerManager::Create( |
- RenderFrameHost* rfh) { |
+ RenderFrameHost* rfh, |
+ MediaPlayersObserver* audio_monitor) { |
if (g_factory) |
- return g_factory(rfh); |
- return new BrowserMediaPlayerManager(rfh); |
+ return g_factory(rfh, audio_monitor); |
+ return new BrowserMediaPlayerManager(rfh, audio_monitor); |
} |
ContentViewCoreImpl* BrowserMediaPlayerManager::GetContentViewCore() const { |
@@ -121,8 +123,10 @@ MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer( |
} |
BrowserMediaPlayerManager::BrowserMediaPlayerManager( |
- RenderFrameHost* render_frame_host) |
+ RenderFrameHost* render_frame_host, |
+ MediaPlayersObserver* audio_monitor) |
: render_frame_host_(render_frame_host), |
+ audio_monitor_(audio_monitor), |
fullscreen_player_id_(kInvalidMediaPlayerId), |
fullscreen_player_is_released_(false), |
web_contents_(WebContents::FromRenderFrameHost(render_frame_host)), |
@@ -254,6 +258,12 @@ void BrowserMediaPlayerManager::OnVideoSizeChanged( |
video_view_->OnVideoSizeChanged(width, height); |
} |
+void BrowserMediaPlayerManager::OnAudibleStateChanged( |
+ int player_id, bool is_audible) { |
+ audio_monitor_->OnAudibleStateChanged( |
+ render_frame_host_, player_id, is_audible); |
+} |
+ |
media::MediaResourceGetter* |
BrowserMediaPlayerManager::GetMediaResourceGetter() { |
if (!media_resource_getter_.get()) { |
@@ -518,6 +528,7 @@ void BrowserMediaPlayerManager::RemovePlayer(int player_id) { |
if ((*it)->player_id() == player_id) { |
ReleaseMediaResources(player_id); |
players_.erase(it); |
+ audio_monitor_->RemovePlayer(render_frame_host_, player_id); |
break; |
} |
} |