AudioCodingModule::Create(): 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:5801, webrtc:8396 Change-Id: I80749ec3b86cba73994307046d05964f59167d44 Reviewed-on: https://webrtc-review.googlesource.com/18440 Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Oskar Sundbom <ossu@webrtc.org> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22774}
This commit is contained in:
@ -12,7 +12,6 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "modules/audio_coding/acm2/acm_receiver.h"
|
||||
#include "modules/audio_coding/acm2/acm_resampler.h"
|
||||
#include "modules/audio_coding/acm2/codec_manager.h"
|
||||
@ -1243,8 +1242,11 @@ ANAStats AudioCodingModuleImpl::GetANAStats() const {
|
||||
|
||||
} // namespace
|
||||
|
||||
AudioCodingModule::Config::Config()
|
||||
: neteq_config(), clock(Clock::GetRealTimeClock()) {
|
||||
AudioCodingModule::Config::Config(
|
||||
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory)
|
||||
: neteq_config(),
|
||||
clock(Clock::GetRealTimeClock()),
|
||||
decoder_factory(decoder_factory) {
|
||||
// Post-decode VAD is disabled by default in NetEq, however, Audio
|
||||
// Conference Mixer relies on VAD decisions and fails without them.
|
||||
neteq_config.enable_post_decode_vad = true;
|
||||
@ -1253,34 +1255,7 @@ AudioCodingModule::Config::Config()
|
||||
AudioCodingModule::Config::Config(const Config&) = default;
|
||||
AudioCodingModule::Config::~Config() = default;
|
||||
|
||||
AudioCodingModule* AudioCodingModule::Create(int id) {
|
||||
RTC_UNUSED(id);
|
||||
return Create();
|
||||
}
|
||||
|
||||
// Create module
|
||||
AudioCodingModule* AudioCodingModule::Create() {
|
||||
Config config;
|
||||
config.clock = Clock::GetRealTimeClock();
|
||||
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
return Create(config);
|
||||
}
|
||||
|
||||
AudioCodingModule* AudioCodingModule::Create(Clock* clock) {
|
||||
Config config;
|
||||
config.clock = clock;
|
||||
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
return Create(config);
|
||||
}
|
||||
|
||||
AudioCodingModule* AudioCodingModule::Create(const Config& config) {
|
||||
if (!config.decoder_factory) {
|
||||
// TODO(ossu): Backwards compatibility. Will be removed after a deprecation
|
||||
// cycle.
|
||||
Config config_copy = config;
|
||||
config_copy.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
return new AudioCodingModuleImpl(config_copy);
|
||||
}
|
||||
return new AudioCodingModuleImpl(config);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user