Chromium Code Reviews| Index: content/renderer/media/renderer_webaudiodevice_impl.cc |
| diff --git a/content/renderer/media/renderer_webaudiodevice_impl.cc b/content/renderer/media/renderer_webaudiodevice_impl.cc |
| index fc698e4d6a3fb43a79d3e4e844bf4b6344285b4e..bd956c53ab1d5c46accc1a5b315c67a6d7cfb919 100644 |
| --- a/content/renderer/media/renderer_webaudiodevice_impl.cc |
| +++ b/content/renderer/media/renderer_webaudiodevice_impl.cc |
| @@ -28,10 +28,12 @@ namespace content { |
| RendererWebAudioDeviceImpl::RendererWebAudioDeviceImpl( |
| const media::AudioParameters& params, |
| + const AudioDeviceFactory::SourceType source_type, |
| WebAudioDevice::RenderCallback* callback, |
| int session_id, |
| const url::Origin& security_origin) |
| - : params_(params), |
| + : sink_params_(params), |
|
o1ka
2016/11/15 22:44:27
There is no point in passing these params. Sink wi
Andrew MacPherson
2016/11/16 10:58:29
This makes perfect sense to me, thanks for the det
|
| + source_type_(source_type), |
| client_callback_(callback), |
| session_id_(session_id), |
| security_origin_(security_origin) { |
| @@ -59,25 +61,20 @@ void RendererWebAudioDeviceImpl::start() { |
| RenderFrame* const render_frame = |
| web_frame ? RenderFrame::FromWebFrame(web_frame) : NULL; |
| sink_ = AudioDeviceFactory::NewAudioRendererSink( |
| - AudioDeviceFactory::kSourceWebAudioInteractive, |
| + source_type_, |
| render_frame ? render_frame->GetRoutingID() : MSG_ROUTING_NONE, |
| session_id_, std::string(), security_origin_); |
| - // Specify the latency info to be passed to the browser side. |
| - media::AudioParameters sink_params(params_); |
| - sink_params.set_latency_tag(AudioDeviceFactory::GetSourceLatencyType( |
| - AudioDeviceFactory::kSourceWebAudioInteractive)); |
| - |
| #if defined(OS_ANDROID) |
| // Use the media thread instead of the render thread for fake Render() calls |
| // since it has special connotations for Blink and garbage collection. Timeout |
| // value chosen to be highly unlikely in the normal case. |
| webaudio_suspender_.reset(new media::SilentSinkSuspender( |
| - this, base::TimeDelta::FromSeconds(30), sink_params, sink_, |
| + this, base::TimeDelta::FromSeconds(30), sink_params_, sink_, |
| RenderThreadImpl::current()->GetMediaThreadTaskRunner())); |
| - sink_->Initialize(sink_params, webaudio_suspender_.get()); |
| + sink_->Initialize(sink_params_, webaudio_suspender_.get()); |
| #else |
| - sink_->Initialize(sink_params, this); |
| + sink_->Initialize(sink_params_, this); |
| #endif |
| sink_->Start(); |
| @@ -97,7 +94,11 @@ void RendererWebAudioDeviceImpl::stop() { |
| } |
| double RendererWebAudioDeviceImpl::sampleRate() { |
| - return params_.sample_rate(); |
| + return sink_params_.sample_rate(); |
| +} |
| + |
| +int RendererWebAudioDeviceImpl::framesPerBuffer() { |
| + return sink_params_.frames_per_buffer(); |
| } |
| int RendererWebAudioDeviceImpl::Render(media::AudioBus* dest, |