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 a7e9408ee6fada23bebb7f32162887ce95fb0f8c..cb5e9ca8c20477f1cf6b13cf67259989ee70b031 100644 |
--- a/content/renderer/media/renderer_webaudiodevice_impl.cc |
+++ b/content/renderer/media/renderer_webaudiodevice_impl.cc |
@@ -14,11 +14,11 @@ |
#include "base/thread_task_runner_handle.h" |
#include "base/time/time.h" |
#include "build/build_config.h" |
-#include "content/renderer/media/audio_device_factory.h" |
+#include "content/renderer/media/restartable_audio_output_device_factory.h" |
#include "content/renderer/render_frame_impl.h" |
-#include "media/audio/audio_output_device.h" |
#include "media/audio/null_audio_sink.h" |
#include "media/base/media_switches.h" |
+#include "media/base/restartable_audio_output_device.h" |
#include "third_party/WebKit/public/web/WebLocalFrame.h" |
#include "third_party/WebKit/public/web/WebView.h" |
@@ -69,11 +69,14 @@ void RendererWebAudioDeviceImpl::start() { |
WebLocalFrame* const web_frame = WebLocalFrame::frameForCurrentContext(); |
RenderFrame* const render_frame = |
web_frame ? RenderFrame::FromWebFrame(web_frame) : NULL; |
- output_device_ = AudioDeviceFactory::NewOutputDevice( |
+ output_device_ = RestartableAudioOutputDeviceFactory::NewOutputDevice( |
+ RestartableAudioOutputDeviceFactory::kSourceWebAudio, |
render_frame ? render_frame->GetRoutingID() : MSG_ROUTING_NONE, |
session_id_, std::string(), url::Origin()); |
output_device_->Initialize(params_, this); |
output_device_->Start(); |
+ // RestartableAudioOutputDevice does not play on start: |
+ output_device_->Play(); |
start_null_audio_sink_callback_.Reset( |
base::Bind(&media::NullAudioSink::Play, null_audio_sink_)); |
// Note: Default behavior is to auto-play on start. |