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

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

Issue 1666363005: Switching audio clients to using RestartableAudioRendererSink interface as a sink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months 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/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;

Powered by Google App Engine
This is Rietveld 408576698