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

@ -49,7 +49,7 @@ bool IsCng(int codec_id) {
AcmReceiver::AcmReceiver(const AudioCodingModule::Config& config)
: last_audio_decoder_(nullptr),
last_audio_buffer_(new int16_t[AudioFrame::kMaxDataSizeSamples]),
neteq_(NetEq::Create(config.neteq_config)),
neteq_(NetEq::Create(config.neteq_config, config.decoder_factory)),
clock_(config.clock),
resampled_last_output_frame_(true) {
assert(clock_);

View File

@ -18,6 +18,7 @@
#include "webrtc/base/safe_conversions.h"
#include "webrtc/modules/audio_coding/include/audio_coding_module.h"
#include "webrtc/modules/audio_coding/acm2/audio_coding_module_impl.h"
#include "webrtc/modules/audio_coding/codecs/builtin_audio_decoder_factory.h"
#include "webrtc/modules/audio_coding/neteq/tools/rtp_generator.h"
#include "webrtc/system_wrappers/include/clock.h"
#include "webrtc/test/test_suite.h"
@ -60,6 +61,7 @@ class AcmReceiverTestOldApi : public AudioPacketizationCallback,
packet_sent_(false),
last_packet_send_timestamp_(timestamp_),
last_frame_type_(kEmptyFrame) {
config_.decoder_factory = CreateBuiltinAudioDecoderFactory();
}
~AcmReceiverTestOldApi() {}

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);
}