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

Side by Side Diff: content/browser/renderer_host/media/audio_renderer_host.cc

Issue 11359196: Associate audio streams with their source/destination RenderView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased; and numerous clean-ups. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/media/audio_renderer_host.h" 5 #include "content/browser/renderer_host/media/audio_renderer_host.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/process.h" 9 #include "base/process.h"
10 #include "base/shared_memory.h" 10 #include "base/shared_memory.h"
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 DeleteEntryOnError(entry); 196 DeleteEntryOnError(entry);
197 } 197 }
198 198
199 /////////////////////////////////////////////////////////////////////////////// 199 ///////////////////////////////////////////////////////////////////////////////
200 // IPC Messages handler 200 // IPC Messages handler
201 bool AudioRendererHost::OnMessageReceived(const IPC::Message& message, 201 bool AudioRendererHost::OnMessageReceived(const IPC::Message& message,
202 bool* message_was_ok) { 202 bool* message_was_ok) {
203 bool handled = true; 203 bool handled = true;
204 IPC_BEGIN_MESSAGE_MAP_EX(AudioRendererHost, message, *message_was_ok) 204 IPC_BEGIN_MESSAGE_MAP_EX(AudioRendererHost, message, *message_was_ok)
205 IPC_MESSAGE_HANDLER(AudioHostMsg_CreateStream, OnCreateStream) 205 IPC_MESSAGE_HANDLER(AudioHostMsg_CreateStream, OnCreateStream)
206 IPC_MESSAGE_HANDLER(AudioHostMsg_AssociateStreamWithProducer,
207 OnAssociateStreamWithProducer)
206 IPC_MESSAGE_HANDLER(AudioHostMsg_PlayStream, OnPlayStream) 208 IPC_MESSAGE_HANDLER(AudioHostMsg_PlayStream, OnPlayStream)
207 IPC_MESSAGE_HANDLER(AudioHostMsg_PauseStream, OnPauseStream) 209 IPC_MESSAGE_HANDLER(AudioHostMsg_PauseStream, OnPauseStream)
208 IPC_MESSAGE_HANDLER(AudioHostMsg_FlushStream, OnFlushStream) 210 IPC_MESSAGE_HANDLER(AudioHostMsg_FlushStream, OnFlushStream)
209 IPC_MESSAGE_HANDLER(AudioHostMsg_CloseStream, OnCloseStream) 211 IPC_MESSAGE_HANDLER(AudioHostMsg_CloseStream, OnCloseStream)
210 IPC_MESSAGE_HANDLER(AudioHostMsg_SetVolume, OnSetVolume) 212 IPC_MESSAGE_HANDLER(AudioHostMsg_SetVolume, OnSetVolume)
211 IPC_MESSAGE_UNHANDLED(handled = false) 213 IPC_MESSAGE_UNHANDLED(handled = false)
212 IPC_END_MESSAGE_MAP_EX() 214 IPC_END_MESSAGE_MAP_EX()
213 215
214 return handled; 216 return handled;
215 } 217 }
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 } 276 }
275 277
276 // If we have created the controller successfully, create an entry and add it 278 // If we have created the controller successfully, create an entry and add it
277 // to the map. 279 // to the map.
278 entry->stream_id = stream_id; 280 entry->stream_id = stream_id;
279 audio_entries_.insert(std::make_pair(stream_id, entry.release())); 281 audio_entries_.insert(std::make_pair(stream_id, entry.release()));
280 if (media_observer_) 282 if (media_observer_)
281 media_observer_->OnSetAudioStreamStatus(this, stream_id, "created"); 283 media_observer_->OnSetAudioStreamStatus(this, stream_id, "created");
282 } 284 }
283 285
286 void AudioRendererHost::OnAssociateStreamWithProducer(int stream_id,
287 int render_view_id) {
288 // TODO(miu): Will use render_view_id in upcoming change.
289 DVLOG(1) << "AudioRendererHost@" << this
290 << "::OnAssociateStreamWithProducer(stream_id=" << stream_id
291 << ", render_view_id=" << render_view_id << ")";
292 }
293
284 void AudioRendererHost::OnPlayStream(int stream_id) { 294 void AudioRendererHost::OnPlayStream(int stream_id) {
285 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 295 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
286 296
287 AudioEntry* entry = LookupById(stream_id); 297 AudioEntry* entry = LookupById(stream_id);
288 if (!entry) { 298 if (!entry) {
289 SendErrorMessage(stream_id); 299 SendErrorMessage(stream_id);
290 return; 300 return;
291 } 301 }
292 302
293 entry->controller->Play(); 303 entry->controller->Play();
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 return NULL; 435 return NULL;
426 } 436 }
427 437
428 media::AudioOutputController* AudioRendererHost::LookupControllerByIdForTesting( 438 media::AudioOutputController* AudioRendererHost::LookupControllerByIdForTesting(
429 int stream_id) { 439 int stream_id) {
430 AudioEntry* const entry = LookupById(stream_id); 440 AudioEntry* const entry = LookupById(stream_id);
431 return entry ? entry->controller : NULL; 441 return entry ? entry->controller : NULL;
432 } 442 }
433 443
434 } // namespace content 444 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698