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 <solenberg@webrtc.org> Reviewed-by: Oskar Sundbom <ossu@webrtc.org> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20622}
This commit is contained in:
parent
34029e209d
commit
5478b47b5a
@ -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",
|
||||
|
||||
@ -15,8 +15,6 @@
|
||||
#include <tuple>
|
||||
#include <utility>
|
||||
|
||||
#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<webrtc::AudioDecoderFactory>&
|
||||
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<webrtc::AudioDecoderFactory>&
|
||||
audio_decoder_factory,
|
||||
WebRtcVideoEncoderFactory* video_encoder_factory,
|
||||
WebRtcVideoDecoderFactory* video_decoder_factory,
|
||||
rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
|
||||
rtc::scoped_refptr<webrtc::AudioProcessing> 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<webrtc::AudioEncoderFactory>&
|
||||
|
||||
@ -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<webrtc::AudioDecoderFactory>&
|
||||
audio_decoder_factory,
|
||||
WebRtcVideoEncoderFactory* video_encoder_factory,
|
||||
WebRtcVideoDecoderFactory* video_decoder_factory);
|
||||
|
||||
static MediaEngineInterface* Create(
|
||||
webrtc::AudioDeviceModule* adm,
|
||||
const rtc::scoped_refptr<webrtc::AudioDecoderFactory>&
|
||||
audio_decoder_factory,
|
||||
WebRtcVideoEncoderFactory* video_encoder_factory,
|
||||
WebRtcVideoDecoderFactory* video_decoder_factory,
|
||||
rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
|
||||
rtc::scoped_refptr<webrtc::AudioProcessing> apm);
|
||||
|
||||
static MediaEngineInterface* Create(
|
||||
webrtc::AudioDeviceModule* adm,
|
||||
const rtc::scoped_refptr<webrtc::AudioEncoderFactory>&
|
||||
@ -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<webrtc::AudioEncoderFactory>&
|
||||
|
||||
@ -236,12 +236,6 @@ TEST(WebRtcMediaEngineTest, FilterRtpExtensions_RemoveRedundantBwe_3) {
|
||||
EXPECT_EQ(RtpExtension::kTimestampOffsetUri, filtered[0].uri);
|
||||
}
|
||||
|
||||
TEST(WebRtcMediaEngineFactoryTest, CreateOldApi) {
|
||||
std::unique_ptr<MediaEngineInterface> engine(
|
||||
WebRtcMediaEngineFactory::Create(nullptr, nullptr, nullptr));
|
||||
EXPECT_TRUE(engine);
|
||||
}
|
||||
|
||||
TEST(WebRtcMediaEngineFactoryTest, CreateWithBuiltinDecoders) {
|
||||
std::unique_ptr<MediaEngineInterface> engine(WebRtcMediaEngineFactory::Create(
|
||||
nullptr, webrtc::CreateBuiltinAudioEncoderFactory(),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user