| 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 f57d182864680ccab0b51e037aa307ca74a9dfbb..257a417e309163344a7a3cb7b74118e940b98b24 100644
|
| --- a/content/browser/renderer_host/media/audio_renderer_host.cc
|
| +++ b/content/browser/renderer_host/media/audio_renderer_host.cc
|
| @@ -240,8 +240,6 @@ bool AudioRendererHost::OnMessageReceived(const IPC::Message& message,
|
| bool handled = true;
|
| IPC_BEGIN_MESSAGE_MAP_EX(AudioRendererHost, message, *message_was_ok)
|
| IPC_MESSAGE_HANDLER(AudioHostMsg_CreateStream, OnCreateStream)
|
| - IPC_MESSAGE_HANDLER(AudioHostMsg_AssociateStreamWithProducer,
|
| - OnAssociateStreamWithProducer)
|
| IPC_MESSAGE_HANDLER(AudioHostMsg_PlayStream, OnPlayStream)
|
| IPC_MESSAGE_HANDLER(AudioHostMsg_PauseStream, OnPauseStream)
|
| IPC_MESSAGE_HANDLER(AudioHostMsg_FlushStream, OnFlushStream)
|
| @@ -254,8 +252,13 @@ bool AudioRendererHost::OnMessageReceived(const IPC::Message& message,
|
| }
|
|
|
| void AudioRendererHost::OnCreateStream(
|
| - int stream_id, const media::AudioParameters& params) {
|
| + int stream_id, int render_view_id, const media::AudioParameters& params) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| +
|
| + DVLOG(1) << "AudioRendererHost@" << this
|
| + << "::OnCreateStream(stream_id=" << stream_id
|
| + << ", render_view_id=" << render_view_id << ")";
|
| +
|
| // media::AudioParameters is validated in the deserializer.
|
| int input_channels = params.input_channels();
|
| if (input_channels < 0 ||
|
| @@ -309,43 +312,18 @@ void AudioRendererHost::OnCreateStream(
|
| return;
|
| }
|
|
|
| - // If we have created the controller successfully, create an entry and add it
|
| + // Since the controller was created successfully, create an entry and add it
|
| // to the map.
|
| entry->stream_id = stream_id;
|
| - audio_entries_.insert(std::make_pair(stream_id, entry.release()));
|
| - if (media_internals_)
|
| - media_internals_->OnSetAudioStreamStatus(this, stream_id, "created");
|
| -}
|
| -
|
| -void AudioRendererHost::OnAssociateStreamWithProducer(int stream_id,
|
| - int render_view_id) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| -
|
| - DVLOG(1) << "AudioRendererHost@" << this
|
| - << "::OnAssociateStreamWithProducer(stream_id=" << stream_id
|
| - << ", render_view_id=" << render_view_id << ")";
|
| -
|
| - AudioEntry* const entry = LookupById(stream_id);
|
| - if (!entry) {
|
| - SendErrorMessage(stream_id);
|
| - return;
|
| - }
|
| -
|
| - 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);
|
| - }
|
| + DCHECK_LT(0, render_view_id);
|
| entry->render_view_id = render_view_id;
|
| if (mirroring_manager_) {
|
| mirroring_manager_->AddDiverter(
|
| render_process_id_, entry->render_view_id, entry->controller);
|
| }
|
| + audio_entries_.insert(std::make_pair(stream_id, entry.release()));
|
| + if (media_internals_)
|
| + media_internals_->OnSetAudioStreamStatus(this, stream_id, "created");
|
| }
|
|
|
| void AudioRendererHost::OnPlayStream(int stream_id) {
|
|
|