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

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

Issue 11166002: Plumb render view ID from audio-related code in renderer through IPCs to AudioRendererHost in brows… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 8 years, 2 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/renderer/media/webrtc_audio_device_impl.cc
diff --git a/content/renderer/media/webrtc_audio_device_impl.cc b/content/renderer/media/webrtc_audio_device_impl.cc
index 9fea501836b0b970ea83de8ac7072e3b01e9e134..55ee36eb7dd64f1514c389f1fec20d111a566f4e 100644
--- a/content/renderer/media/webrtc_audio_device_impl.cc
+++ b/content/renderer/media/webrtc_audio_device_impl.cc
@@ -129,7 +129,7 @@ static void AddHistogramFramesPerBuffer(HistogramDirection dir, int param) {
}
}
-WebRtcAudioDeviceImpl::WebRtcAudioDeviceImpl()
+WebRtcAudioDeviceImpl::WebRtcAudioDeviceImpl(int render_view_id)
: ref_count_(0),
render_loop_(base::MessageLoopProxy::current()),
audio_transport_callback_(NULL),
@@ -148,7 +148,9 @@ WebRtcAudioDeviceImpl::WebRtcAudioDeviceImpl()
// input side as well.
DCHECK(RenderThreadImpl::current()) <<
"WebRtcAudioDeviceImpl must be constructed on the render thread";
- audio_output_device_ = AudioDeviceFactory::NewOutputDevice();
+ audio_input_device_ = AudioDeviceFactory::NewInputDevice(render_view_id);
+ DCHECK(audio_input_device_);
+ audio_output_device_ = AudioDeviceFactory::NewOutputDevice(render_view_id);
DCHECK(audio_output_device_);
}
@@ -408,7 +410,6 @@ int32_t WebRtcAudioDeviceImpl::Init() {
if (initialized_)
return 0;
- DCHECK(!audio_input_device_);
DCHECK(!input_buffer_.get());
DCHECK(!output_buffer_.get());
@@ -572,7 +573,6 @@ int32_t WebRtcAudioDeviceImpl::Init() {
16, in_buffer_size);
// Create and configure the audio capturing client.
- audio_input_device_ = AudioDeviceFactory::NewInputDevice();
audio_input_device_->Initialize(input_audio_parameters_, this, this);
UMA_HISTOGRAM_ENUMERATION("WebRTC.AudioOutputChannelLayout",
@@ -585,8 +585,6 @@ int32_t WebRtcAudioDeviceImpl::Init() {
// Configure the audio rendering client.
audio_output_device_->Initialize(output_audio_parameters_, this);
- DCHECK(audio_input_device_);
-
// Allocate local audio buffers based on the parameters above.
// It is assumed that each audio sample contains 16 bits and each
// audio frame contains one or two audio samples depending on the
@@ -624,12 +622,10 @@ int32_t WebRtcAudioDeviceImpl::Terminate() {
if (!initialized_)
return 0;
- DCHECK(audio_input_device_);
DCHECK(input_buffer_.get());
DCHECK(output_buffer_.get());
// Release all resources allocated in Init().
- audio_input_device_ = NULL;
input_buffer_.reset();
output_buffer_.reset();

Powered by Google App Engine
This is Rietveld 408576698