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

Side by Side Diff: content/renderer/media/webrtc_local_audio_renderer.cc

Issue 12383016: Merge AssociateStreamWithProducer message into CreateStream message for both audio output and input. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 8 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 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/renderer/media/webrtc_local_audio_renderer.h" 5 #include "content/renderer/media/webrtc_local_audio_renderer.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/message_loop_proxy.h" 9 #include "base/message_loop_proxy.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
11 #include "content/renderer/media/audio_device_factory.h" 11 #include "content/renderer/media/audio_device_factory.h"
12 #include "content/renderer/media/renderer_audio_output_device.h"
13 #include "content/renderer/media/webrtc_audio_capturer.h" 12 #include "content/renderer/media/webrtc_audio_capturer.h"
13 #include "media/audio/audio_output_device.h"
14 #include "media/base/audio_bus.h" 14 #include "media/base/audio_bus.h"
15 15
16 namespace content { 16 namespace content {
17 17
18 // media::AudioRendererSink::RenderCallback implementation 18 // media::AudioRendererSink::RenderCallback implementation
19 int WebRtcLocalAudioRenderer::Render( 19 int WebRtcLocalAudioRenderer::Render(
20 media::AudioBus* audio_bus, int audio_delay_milliseconds) { 20 media::AudioBus* audio_bus, int audio_delay_milliseconds) {
21 base::AutoLock auto_lock(thread_lock_); 21 base::AutoLock auto_lock(thread_lock_);
22 22
23 if (!playing_) { 23 if (!playing_) {
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 DCHECK(!loopback_fifo_); 151 DCHECK(!loopback_fifo_);
152 loopback_fifo_.reset(new media::AudioFifo( 152 loopback_fifo_.reset(new media::AudioFifo(
153 source_params.channels(), 153 source_params.channels(),
154 10 * source_params.frames_per_buffer())); 154 10 * source_params.frames_per_buffer()));
155 155
156 media::AudioParameters sink_params(source_params.format(), 156 media::AudioParameters sink_params(source_params.format(),
157 source_params.channel_layout(), 157 source_params.channel_layout(),
158 source_params.sample_rate(), 158 source_params.sample_rate(),
159 source_params.bits_per_sample(), 159 source_params.bits_per_sample(),
160 2 * source_params.frames_per_buffer()); 160 2 * source_params.frames_per_buffer());
161 sink_ = AudioDeviceFactory::NewOutputDevice(); 161 sink_ = AudioDeviceFactory::NewOutputDevice(source_render_view_id_);
162 // TODO(henrika): we could utilize the unified audio here instead and do 162 // TODO(henrika): we could utilize the unified audio here instead and do
163 // sink_->InitializeIO(sink_params, 2, callback_.get()); 163 // sink_->InitializeIO(sink_params, 2, callback_.get());
164 // It would then be possible to avoid using the WebRtcAudioCapturer. 164 // It would then be possible to avoid using the WebRtcAudioCapturer.
165 sink_->Initialize(sink_params, this); 165 sink_->Initialize(sink_params, this);
166 sink_->SetSourceRenderView(source_render_view_id_);
167 166
168 // Start the capturer and local rendering. Note that, the capturer is owned 167 // Start the capturer and local rendering. Note that, the capturer is owned
169 // by the WebRTC ADM and might already bee running. 168 // by the WebRTC ADM and might already bee running.
170 source_->Start(); 169 source_->Start();
171 sink_->Start(); 170 sink_->Start();
172 171
173 last_render_time_ = base::Time::Now(); 172 last_render_time_ = base::Time::Now();
174 playing_ = false; 173 playing_ = false;
175 } 174 }
176 175
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 if (!sink_) 251 if (!sink_)
253 return base::TimeDelta(); 252 return base::TimeDelta();
254 return total_render_time(); 253 return total_render_time();
255 } 254 }
256 255
257 bool WebRtcLocalAudioRenderer::IsLocalRenderer() const { 256 bool WebRtcLocalAudioRenderer::IsLocalRenderer() const {
258 return true; 257 return true;
259 } 258 }
260 259
261 } // namespace content 260 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webrtc_local_audio_renderer.h ('k') | content/renderer/pepper/pepper_platform_audio_input_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698