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:
@ -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_);
|
||||
|
||||
@ -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() {}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user