From 5478b47b5a79bb6839aeb4f194d21ff6b3fe1dc0 Mon Sep 17 00:00:00 2001 From: Karl Wiberg Date: Fri, 3 Nov 2017 11:28:17 +0100 Subject: [PATCH] WebRtcMediaEngineFactory: Require caller to supply an AudioDecoderFactory So that we don't have to be capable of creating one ourselves, which requires a dependency on the audio decoders. BUG=webrtc:6000, webrtc:8396 Change-Id: Ibb6b3f36f14b956c55d4edc934d101cb855b272d Reviewed-on: https://webrtc-review.googlesource.com/18420 Reviewed-by: Fredrik Solenberg Reviewed-by: Oskar Sundbom Commit-Queue: Karl Wiberg Cr-Commit-Position: refs/heads/master@{#20622} --- media/BUILD.gn | 2 - media/engine/webrtcmediaengine.cc | 43 ---------------------- media/engine/webrtcmediaengine.h | 27 +------------- media/engine/webrtcmediaengine_unittest.cc | 6 --- 4 files changed, 1 insertion(+), 77 deletions(-) diff --git a/media/BUILD.gn b/media/BUILD.gn index d6b6b4ea0a..2af6121785 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -242,8 +242,6 @@ rtc_static_library("rtc_audio_video") { "../api:transport_api", "../api:video_frame_api", "../api/audio_codecs:audio_codecs_api", - "../api/audio_codecs:builtin_audio_decoder_factory", - "../api/audio_codecs:builtin_audio_encoder_factory", "../api/video_codecs:video_codecs_api", "../call", "../call:video_stream_api", diff --git a/media/engine/webrtcmediaengine.cc b/media/engine/webrtcmediaengine.cc index 869ef219d8..8d8b768170 100644 --- a/media/engine/webrtcmediaengine.cc +++ b/media/engine/webrtcmediaengine.cc @@ -15,8 +15,6 @@ #include #include -#include "api/audio_codecs/builtin_audio_decoder_factory.h" -#include "api/audio_codecs/builtin_audio_encoder_factory.h" #include "api/video_codecs/video_decoder_factory.h" #include "api/video_codecs/video_encoder_factory.h" #include "media/engine/webrtcvoiceengine.h" @@ -60,47 +58,6 @@ MediaEngineInterface* CreateWebRtcMediaEngine( } // namespace -// TODO(ossu): Backwards-compatible interface. Will be deprecated once the -// audio decoder factory is fully plumbed and used throughout WebRTC. -// See: crbug.com/webrtc/6000 -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory) { - return CreateWebRtcMediaEngine( - adm, webrtc::CreateBuiltinAudioEncoderFactory(), - webrtc::CreateBuiltinAudioDecoderFactory(), video_encoder_factory, - video_decoder_factory, nullptr, webrtc::AudioProcessing::Create()); -} - -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory) { - return CreateWebRtcMediaEngine( - adm, webrtc::CreateBuiltinAudioEncoderFactory(), audio_decoder_factory, - video_encoder_factory, video_decoder_factory, nullptr, - webrtc::AudioProcessing::Create()); -} - -// Used by PeerConnectionFactory to create a media engine passed into -// ChannelManager. -MediaEngineInterface* WebRtcMediaEngineFactory::Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr audio_processing) { - return CreateWebRtcMediaEngine( - adm, webrtc::CreateBuiltinAudioEncoderFactory(), audio_decoder_factory, - video_encoder_factory, video_decoder_factory, audio_mixer, - audio_processing); -} - MediaEngineInterface* WebRtcMediaEngineFactory::Create( webrtc::AudioDeviceModule* adm, const rtc::scoped_refptr& diff --git a/media/engine/webrtcmediaengine.h b/media/engine/webrtcmediaengine.h index 0d1bb2993a..1b1649aec6 100644 --- a/media/engine/webrtcmediaengine.h +++ b/media/engine/webrtcmediaengine.h @@ -38,33 +38,9 @@ class WebRtcMediaEngineFactory { // These Create methods may be called on any thread, though the engine is // only expected to be used on one thread, internally called the "worker // thread". This is the thread Init must be called on. - - // TODO(ossu): Backwards-compatible interface. Will be deprecated once the - // audio decoder factory is fully plumbed and used throughout WebRTC. - // See: crbug.com/webrtc/6000 - static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory); - + // // TODO(deadbeef): Change these to return an std::unique_ptr<>, to indicate // that the caller owns the returned object. - static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory); - - static MediaEngineInterface* Create( - webrtc::AudioDeviceModule* adm, - const rtc::scoped_refptr& - audio_decoder_factory, - WebRtcVideoEncoderFactory* video_encoder_factory, - WebRtcVideoDecoderFactory* video_decoder_factory, - rtc::scoped_refptr audio_mixer, - rtc::scoped_refptr apm); - static MediaEngineInterface* Create( webrtc::AudioDeviceModule* adm, const rtc::scoped_refptr& @@ -73,7 +49,6 @@ class WebRtcMediaEngineFactory { audio_decoder_factory, WebRtcVideoEncoderFactory* video_encoder_factory, WebRtcVideoDecoderFactory* video_decoder_factory); - static MediaEngineInterface* Create( webrtc::AudioDeviceModule* adm, const rtc::scoped_refptr& diff --git a/media/engine/webrtcmediaengine_unittest.cc b/media/engine/webrtcmediaengine_unittest.cc index 1e881c6390..85170e24e5 100644 --- a/media/engine/webrtcmediaengine_unittest.cc +++ b/media/engine/webrtcmediaengine_unittest.cc @@ -236,12 +236,6 @@ TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_3) { EXPECT_EQ(RtpExtension::kTimestampOffsetUri, filtered[0].uri); } -TEST(WebRtcMediaEngineFactoryTest, CreateOldApi) { - std::unique_ptr engine( - WebRtcMediaEngineFactory::Create(nullptr, nullptr, nullptr)); - EXPECT_TRUE(engine); -} - TEST(WebRtcMediaEngineFactoryTest, CreateWithBuiltinDecoders) { std::unique_ptr engine(WebRtcMediaEngineFactory::Create( nullptr, webrtc::CreateBuiltinAudioEncoderFactory(),