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

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

Issue 2501863003: Support for AudioContextOptions latencyHint. (Closed)
Patch Set: Created 4 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/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,

Powered by Google App Engine
This is Rietveld 408576698