Moved injection of AudioDecoderFactory into voe::Channel.

Channel's API remains unchanged, but the creation of a BuiltinAudioDecoderFactory is now in Channel. The next step would be to amend Channel's API (through CreateChannel, I believe) to allow an AudioDecoderFactory to be sent along.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/1992763002
Cr-Commit-Position: refs/heads/master@{#12893}
This commit is contained in:
ossu
2016-05-25 07:37:43 -07:00
committed by Commit bot
parent 57779104f0
commit e352578bc8
19 changed files with 62 additions and 19 deletions

View File

@ -14,6 +14,7 @@
#include "webrtc/common_types.h"
#include "webrtc/modules/audio_coding/acm2/audio_coding_module_impl.h"
#include "webrtc/modules/audio_coding/acm2/rent_a_codec.h"
#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h"
#include "webrtc/system_wrappers/include/clock.h"
#include "webrtc/system_wrappers/include/trace.h"
@ -24,6 +25,7 @@ AudioCodingModule* AudioCodingModule::Create(int id) {
Config config;
config.id = id;
config.clock = Clock::GetRealTimeClock();
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
return Create(config);
}
@ -31,10 +33,18 @@ AudioCodingModule* AudioCodingModule::Create(int id, Clock* clock) {
Config config;
config.id = id;
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 acm2::AudioCodingModuleImpl(config_copy);
}
return new acm2::AudioCodingModuleImpl(config);
}