Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(981)

Unified Diff: content/browser/renderer_host/media/audio_renderer_host.cc

Issue 11573066: Add a method to tab_utils.h to find out whether a tab is playing audio. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 83b5f2510baaa405905af5e07c561e76283b9ade..3453cd90ffd2ad494e919377fd29b565048cbaaf 100644
--- a/content/browser/renderer_host/media/audio_renderer_host.cc
+++ b/content/browser/renderer_host/media/audio_renderer_host.cc
@@ -39,11 +39,14 @@ struct AudioRendererHost::AudioEntry {
// Set to true after we called Close() for the controller.
bool pending_close;
+
+ int render_view_id;
};
AudioRendererHost::AudioEntry::AudioEntry()
: stream_id(0),
- pending_close(false) {
+ pending_close(false),
+ render_view_id(0) {
miu 2012/12/19 00:49:08 nit: This should probably default to MSG_ROUTING_N
}
AudioRendererHost::AudioEntry::~AudioEntry() {}
@@ -51,8 +54,11 @@ AudioRendererHost::AudioEntry::~AudioEntry() {}
///////////////////////////////////////////////////////////////////////////////
// AudioRendererHost implementations.
AudioRendererHost::AudioRendererHost(
- media::AudioManager* audio_manager, MediaObserver* media_observer)
- : audio_manager_(audio_manager),
+ int render_process_id,
+ media::AudioManager* audio_manager,
+ MediaObserver* media_observer)
+ : render_process_id_(render_process_id),
+ audio_manager_(audio_manager),
media_observer_(media_observer) {
}
@@ -285,10 +291,15 @@ void AudioRendererHost::OnCreateStream(
void AudioRendererHost::OnAssociateStreamWithProducer(int stream_id,
int render_view_id) {
- // TODO(miu): Will use render_view_id in upcoming change.
- DVLOG(1) << "AudioRendererHost@" << this
- << "::OnAssociateStreamWithProducer(stream_id=" << stream_id
- << ", render_view_id=" << render_view_id << ")";
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+
+ AudioEntry* entry = LookupById(stream_id);
+ if (!entry) {
+ SendErrorMessage(stream_id);
+ return;
+ }
+
+ entry->render_view_id = render_view_id;
miu 2012/12/19 00:49:08 While you're here, could you add a comment: TODO(
Bernhard Bauer 2013/02/05 18:45:18 Done.
}
void AudioRendererHost::OnPlayStream(int stream_id) {
@@ -302,7 +313,8 @@ void AudioRendererHost::OnPlayStream(int stream_id) {
entry->controller->Play();
if (media_observer_)
- media_observer_->OnSetAudioStreamPlaying(this, stream_id, true);
+ media_observer_->OnSetAudioStreamPlaying(
+ this, stream_id, render_process_id_, entry->render_view_id, true);
}
void AudioRendererHost::OnPauseStream(int stream_id) {
@@ -315,8 +327,10 @@ void AudioRendererHost::OnPauseStream(int stream_id) {
}
entry->controller->Pause();
- if (media_observer_)
- media_observer_->OnSetAudioStreamPlaying(this, stream_id, false);
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamPlaying(
+ this, stream_id, render_process_id_, entry->render_view_id, false);
+ }
}
void AudioRendererHost::OnFlushStream(int stream_id) {

Powered by Google App Engine
This is Rietveld 408576698