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 55fbf55b180da679719b9069d90bbd743517461a..3ca1c2d583070bca1a492239835ee95e886a5e9a 100644 |
--- a/content/browser/media/android/browser_media_player_manager.cc |
+++ b/content/browser/media/android/browser_media_player_manager.cc |
@@ -6,6 +6,7 @@ |
#include "base/android/scoped_java_ref.h" |
#include "base/command_line.h" |
+#include "content/browser/android/audio_monitor_android.h" |
#include "content/browser/android/content_view_core_impl.h" |
#include "content/browser/media/android/browser_demuxer_android.h" |
#include "content/browser/media/android/media_resource_getter_impl.h" |
@@ -56,10 +57,11 @@ void BrowserMediaPlayerManager::RegisterMediaUrlInterceptor( |
// static |
BrowserMediaPlayerManager* BrowserMediaPlayerManager::Create( |
- RenderFrameHost* rfh) { |
+ RenderFrameHost* rfh, |
+ AudioMonitorAndroid* 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 { |
@@ -120,8 +122,10 @@ MediaPlayerAndroid* BrowserMediaPlayerManager::CreateMediaPlayer( |
} |
BrowserMediaPlayerManager::BrowserMediaPlayerManager( |
- RenderFrameHost* render_frame_host) |
+ RenderFrameHost* render_frame_host, |
+ AudioMonitorAndroid* 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)), |
@@ -251,6 +255,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()) { |
@@ -515,6 +525,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; |
} |
} |