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

Unified Diff: content/renderer/media/webrtc_audio_renderer.cc

Issue 11359196: Associate audio streams with their source/destination RenderView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Dale's comments. Created 8 years, 1 month 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/renderer/media/webrtc_audio_renderer.cc
diff --git a/content/renderer/media/webrtc_audio_renderer.cc b/content/renderer/media/webrtc_audio_renderer.cc
index 4c3427e459a2955a1c82af823a794c2924b5dabd..f533586e08167cc8f7e7b0fe97f5981041570ed2 100644
--- a/content/renderer/media/webrtc_audio_renderer.cc
+++ b/content/renderer/media/webrtc_audio_renderer.cc
@@ -7,9 +7,11 @@
#include "base/logging.h"
#include "base/metrics/histogram.h"
#include "base/string_util.h"
-#include "content/renderer/media/audio_device_factory.h"
#include "content/renderer/media/audio_hardware.h"
+#include "content/renderer/media/audio_message_filter.h"
#include "content/renderer/media/webrtc_audio_device_impl.h"
+#include "content/renderer/render_thread_impl.h"
+#include "media/audio/audio_output_device.h"
#include "media/audio/audio_util.h"
#include "media/audio/sample_rates.h"
#if defined(OS_WIN)
@@ -80,8 +82,9 @@ void AddHistogramFramesPerBuffer(int param) {
} // namespace
-WebRtcAudioRenderer::WebRtcAudioRenderer()
+WebRtcAudioRenderer::WebRtcAudioRenderer(int source_render_view_id)
: state_(UNINITIALIZED),
+ source_render_view_id_(source_render_view_id),
source_(NULL) {
}
@@ -97,9 +100,6 @@ bool WebRtcAudioRenderer::Initialize(WebRtcAudioRendererSource* source) {
DCHECK(!sink_);
DCHECK(!source_);
- sink_ = AudioDeviceFactory::NewOutputDevice();
- DCHECK(sink_);
-
// Ask the browser for the default audio output hardware sample-rate.
// This request is based on a synchronous IPC message.
int sample_rate = GetAudioOutputSampleRate();
@@ -190,8 +190,14 @@ bool WebRtcAudioRenderer::Initialize(WebRtcAudioRendererSource* source) {
source->SetRenderFormat(params_);
// Configure the audio rendering client and start the rendering.
+ scoped_refptr<content::AudioMessageFilter> audio_message_filter =
+ RenderThreadImpl::current()->audio_message_filter();
+ sink_ = new media::AudioOutputDevice(
+ audio_message_filter,
+ RenderThreadImpl::current()->GetIOMessageLoopProxy());
sink_->Initialize(params_, this);
-
+ audio_message_filter->AssociateStreamWithProducer(sink_->stream_id(),
+ source_render_view_id_);
sink_->Start();
state_ = PAUSED;

Powered by Google App Engine
This is Rietveld 408576698