Index: content/browser/renderer_host/media/audio_renderer_host.cc |
diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc |
index 1901e2fb1ebf9b1cfbfe277d65313dcaff60b85a..b4cd34e324e1d36a7af7e811aef2735159d4006c 100644 |
--- a/content/browser/renderer_host/media/audio_renderer_host.cc |
+++ b/content/browser/renderer_host/media/audio_renderer_host.cc |
@@ -13,6 +13,8 @@ |
#include "content/browser/renderer_host/media/audio_mirroring_manager.h" |
#include "content/browser/renderer_host/media/audio_sync_reader.h" |
#include "content/common/media/audio_messages.h" |
+#include "content/public/browser/content_browser_client.h" |
+#include "content/public/browser/media_observer.h" |
#include "media/audio/shared_memory_util.h" |
#include "media/base/audio_bus.h" |
#include "media/base/limits.h" |
@@ -331,6 +333,9 @@ void AudioRendererHost::OnAssociateStreamWithProducer(int stream_id, |
if (entry->render_view_id == render_view_id) |
return; |
+ // TODO(miu): Merge "AssociateWithProducer" message into "CreateStream" |
+ // message so AudioRendererHost can assume a simpler "render_view_id is set |
+ // once" scheme. http://crbug.com/166779 |
if (mirroring_manager_) { |
mirroring_manager_->RemoveDiverter( |
render_process_id_, entry->render_view_id, entry->controller); |
@@ -354,6 +359,13 @@ void AudioRendererHost::OnPlayStream(int stream_id) { |
entry->controller->Play(); |
if (media_internals_) |
media_internals_->OnSetAudioStreamPlaying(this, stream_id, true); |
+ |
+ MediaObserver* media_observer = |
+ GetContentClient()->browser()->GetMediaObserver(); |
+ if (media_observer) { |
+ media_observer->OnAudioStreamPlayingChanged( |
+ render_process_id_, entry->render_view_id, true); |
+ } |
} |
void AudioRendererHost::OnPauseStream(int stream_id) { |
@@ -368,6 +380,13 @@ void AudioRendererHost::OnPauseStream(int stream_id) { |
entry->controller->Pause(); |
if (media_internals_) |
media_internals_->OnSetAudioStreamPlaying(this, stream_id, false); |
+ |
+ MediaObserver* media_observer = |
+ GetContentClient()->browser()->GetMediaObserver(); |
+ if (media_observer) { |
+ media_observer->OnAudioStreamPlayingChanged( |
+ render_process_id_, entry->render_view_id, true); |
miu
2013/02/05 23:18:25
I think you meant s/true/false/ here.
miu
2013/02/05 23:18:25
Also, note that streams are not necessarily paused
Bernhard Bauer
2013/02/08 16:44:14
Urr, yes. Done.
Bernhard Bauer
2013/02/08 16:44:14
Hm. I changed it to a map from RenderView ID to a
|
+ } |
} |
void AudioRendererHost::OnFlushStream(int stream_id) { |