| Index: content/renderer/media/webrtc_audio_renderer.cc
|
| diff --git a/content/renderer/media/webrtc_audio_renderer.cc b/content/renderer/media/webrtc_audio_renderer.cc
|
| index bd2a4a3c5e8576f98778b1e180b68ffcb8a394c5..13eb07ae079973b48d61dcf4d241af0f6f29df99 100644
|
| --- a/content/renderer/media/webrtc_audio_renderer.cc
|
| +++ b/content/renderer/media/webrtc_audio_renderer.cc
|
| @@ -11,16 +11,16 @@
|
| #include "base/strings/string_util.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "build/build_config.h"
|
| -#include "content/renderer/media/audio_device_factory.h"
|
| #include "content/renderer/media/media_stream_audio_track.h"
|
| #include "content/renderer/media/media_stream_dispatcher.h"
|
| #include "content/renderer/media/media_stream_track.h"
|
| +#include "content/renderer/media/restartable_audio_output_device_factory.h"
|
| #include "content/renderer/media/webrtc_audio_device_impl.h"
|
| #include "content/renderer/media/webrtc_logging.h"
|
| #include "content/renderer/render_frame_impl.h"
|
| -#include "media/audio/audio_output_device.h"
|
| #include "media/audio/audio_parameters.h"
|
| #include "media/audio/sample_rates.h"
|
| +#include "media/base/restartable_audio_output_device.h"
|
| #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
|
| #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h"
|
| #include "third_party/libjingle/source/talk/media/base/audiorenderer.h"
|
| @@ -221,9 +221,11 @@ bool WebRtcAudioRenderer::Initialize(WebRtcAudioRendererSource* source) {
|
| DCHECK(!source_);
|
| }
|
|
|
| - sink_ =
|
| - AudioDeviceFactory::NewOutputDevice(source_render_frame_id_, session_id_,
|
| - output_device_id_, security_origin_);
|
| + sink_ = RestartableAudioOutputDeviceFactory::NewOutputDevice(
|
| + RestartableAudioOutputDeviceFactory::kSourceWebRTC,
|
| + source_render_frame_id_, session_id_, output_device_id_,
|
| + security_origin_);
|
| +
|
| if (sink_->GetDeviceStatus() != media::OUTPUT_DEVICE_STATUS_OK)
|
| return false;
|
|
|
| @@ -238,6 +240,7 @@ bool WebRtcAudioRenderer::Initialize(WebRtcAudioRendererSource* source) {
|
| state_ = PAUSED;
|
| }
|
| sink_->Start();
|
| + sink_->Play(); // RestartableAudioOutputDevice does not play on start.
|
|
|
| return true;
|
| }
|
| @@ -380,9 +383,10 @@ void WebRtcAudioRenderer::SwitchOutputDevice(
|
| DCHECK_NE(state_, UNINITIALIZED);
|
| }
|
|
|
| - scoped_refptr<media::AudioOutputDevice> new_sink =
|
| - AudioDeviceFactory::NewOutputDevice(source_render_frame_id_, session_id_,
|
| - device_id, security_origin);
|
| + scoped_refptr<media::RestartableAudioOutputDevice> new_sink =
|
| + RestartableAudioOutputDeviceFactory::NewOutputDevice(
|
| + RestartableAudioOutputDeviceFactory::kSourceWebRTC,
|
| + source_render_frame_id_, session_id_, device_id, security_origin);
|
| if (new_sink->GetDeviceStatus() != media::OUTPUT_DEVICE_STATUS_OK) {
|
| callback.Run(new_sink->GetDeviceStatus());
|
| return;
|
|
|