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, |