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

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

Issue 10823097: Part 2: Plumb render view ID to content::MediaObserver (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 8 years, 5 months 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 4a9fa7e40716f958cc4487947946cfa12027e3e9..42c80d73d892a0beebd570db0f5d5a127e13fbf8 100644
--- a/content/browser/renderer_host/media/audio_renderer_host.cc
+++ b/content/browser/renderer_host/media/audio_renderer_host.cc
@@ -27,9 +27,11 @@ AudioRendererHost::AudioEntry::~AudioEntry() {}
///////////////////////////////////////////////////////////////////////////////
// AudioRendererHost implementations.
AudioRendererHost::AudioRendererHost(
+ int render_process_id,
media::AudioManager* audio_manager,
content::MediaObserver* media_observer)
- : audio_manager_(audio_manager),
+ : render_process_id_(render_process_id),
+ audio_manager_(audio_manager),
media_observer_(media_observer) {
}
@@ -237,9 +239,12 @@ void AudioRendererHost::OnCreateStream(
// If we have created the controller successfully, create an entry and add it
// to the map.
entry->stream_id = stream_id;
+ entry->render_view_id = render_view_id;
audio_entries_.insert(std::make_pair(stream_id, entry.release()));
- if (media_observer_)
- media_observer_->OnSetAudioStreamStatus(this, stream_id, "created");
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamStatus(
+ render_process_id_, render_view_id, stream_id, "created");
+ }
}
void AudioRendererHost::OnPlayStream(int stream_id) {
@@ -252,8 +257,10 @@ void AudioRendererHost::OnPlayStream(int stream_id) {
}
entry->controller->Play();
- if (media_observer_)
- media_observer_->OnSetAudioStreamPlaying(this, stream_id, true);
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamPlaying(
+ render_process_id_, entry->render_view_id, stream_id, true);
+ }
}
void AudioRendererHost::OnPauseStream(int stream_id) {
@@ -266,8 +273,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(
+ render_process_id_, entry->render_view_id, stream_id, false);
+ }
}
void AudioRendererHost::OnFlushStream(int stream_id) {
@@ -280,20 +289,25 @@ void AudioRendererHost::OnFlushStream(int stream_id) {
}
entry->controller->Flush();
- if (media_observer_)
- media_observer_->OnSetAudioStreamStatus(this, stream_id, "flushed");
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamStatus(
+ render_process_id_, entry->render_view_id, stream_id, "flushed");
+ }
}
void AudioRendererHost::OnCloseStream(int stream_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- if (media_observer_)
- media_observer_->OnSetAudioStreamStatus(this, stream_id, "closed");
-
AudioEntry* entry = LookupById(stream_id);
+ if (!entry)
+ return;
- if (entry)
- CloseAndDeleteStream(entry);
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamStatus(
+ render_process_id_, entry->render_view_id, stream_id, "closed");
+ }
+
+ CloseAndDeleteStream(entry);
}
void AudioRendererHost::OnSetVolume(int stream_id, double volume) {
@@ -309,8 +323,10 @@ void AudioRendererHost::OnSetVolume(int stream_id, double volume) {
if (volume < 0 || volume > 1.0)
return;
entry->controller->SetVolume(volume);
- if (media_observer_)
- media_observer_->OnSetAudioStreamVolume(this, stream_id, volume);
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamVolume(
+ render_process_id_, entry->render_view_id, stream_id, volume);
+ }
}
void AudioRendererHost::SendErrorMessage(int32 stream_id) {
@@ -347,8 +363,10 @@ void AudioRendererHost::DeleteEntry(AudioEntry* entry) {
audio_entries_.erase(entry->stream_id);
// Notify the media observer.
- if (media_observer_)
- media_observer_->OnDeleteAudioStream(this, entry->stream_id);
+ if (media_observer_) {
+ media_observer_->OnDeleteAudioStream(
+ render_process_id_, entry->render_view_id, entry->stream_id);
+ }
}
void AudioRendererHost::DeleteEntryOnError(AudioEntry* entry) {
@@ -358,8 +376,10 @@ void AudioRendererHost::DeleteEntryOnError(AudioEntry* entry) {
// |entry| is destroyed in DeleteEntry().
SendErrorMessage(entry->stream_id);
- if (media_observer_)
- media_observer_->OnSetAudioStreamStatus(this, entry->stream_id, "error");
+ if (media_observer_) {
+ media_observer_->OnSetAudioStreamStatus(
+ render_process_id_, entry->render_view_id, entry->stream_id, "error");
+ }
CloseAndDeleteStream(entry);
}

Powered by Google App Engine
This is Rietveld 408576698