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:
parent
d31843e436
commit
5817d3dfaa
@ -144,7 +144,6 @@ rtc_static_library("audio_coding") {
|
||||
"..:module_api",
|
||||
"../../api:array_view",
|
||||
"../../api/audio_codecs:audio_codecs_api",
|
||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
||||
":audio_coding_module_typedefs",
|
||||
":neteq",
|
||||
":rent_a_codec",
|
||||
@ -1461,6 +1460,7 @@ if (rtc_include_tests) {
|
||||
"../../rtc_base:checks",
|
||||
":audio_coding",
|
||||
":neteq_tools",
|
||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
||||
"../../api/audio_codecs:audio_codecs_api",
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../test:test_support",
|
||||
@ -1488,6 +1488,7 @@ if (rtc_include_tests) {
|
||||
"../..:typedefs",
|
||||
"../../:webrtc_common",
|
||||
"../../api:optional",
|
||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../system_wrappers",
|
||||
"../../system_wrappers:system_wrappers_default",
|
||||
@ -1520,6 +1521,7 @@ if (rtc_include_tests) {
|
||||
"../..:typedefs",
|
||||
"../../:webrtc_common",
|
||||
"../../api:optional",
|
||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
||||
"../../rtc_base:rtc_base_approved",
|
||||
"../../system_wrappers",
|
||||
"../../system_wrappers:system_wrappers_default",
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "api/audio_codecs/audio_encoder.h"
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module.h"
|
||||
#include "modules/audio_coding/neteq/tools/input_audio_file.h"
|
||||
#include "modules/audio_coding/neteq/tools/packet.h"
|
||||
@ -28,7 +29,12 @@ AcmSendTestOldApi::AcmSendTestOldApi(InputAudioFile* audio_source,
|
||||
int source_rate_hz,
|
||||
int test_duration_ms)
|
||||
: clock_(0),
|
||||
acm_(webrtc::AudioCodingModule::Create(&clock_)),
|
||||
acm_(webrtc::AudioCodingModule::Create([this] {
|
||||
AudioCodingModule::Config config;
|
||||
config.clock = &clock_;
|
||||
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
return config;
|
||||
}())),
|
||||
audio_source_(audio_source),
|
||||
source_rate_hz_(source_rate_hz),
|
||||
input_block_size_samples_(
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -166,7 +166,12 @@ class AudioCodingModuleTestOldApi : public ::testing::Test {
|
||||
void TearDown() {}
|
||||
|
||||
void SetUp() {
|
||||
acm_.reset(AudioCodingModule::Create(clock_));
|
||||
acm_.reset(AudioCodingModule::Create([this] {
|
||||
AudioCodingModule::Config config;
|
||||
config.clock = clock_;
|
||||
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
return config;
|
||||
}()));
|
||||
|
||||
rtp_utility_->Populate(&rtp_header_);
|
||||
|
||||
|
||||
@ -66,7 +66,8 @@ class AudioCodingModule {
|
||||
|
||||
public:
|
||||
struct Config {
|
||||
Config();
|
||||
explicit Config(
|
||||
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory = nullptr);
|
||||
Config(const Config&);
|
||||
~Config();
|
||||
|
||||
@ -75,17 +76,6 @@ class AudioCodingModule {
|
||||
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory;
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// Creation and destruction of a ACM.
|
||||
//
|
||||
// The second method is used for testing where a simulated clock can be
|
||||
// injected into ACM. ACM will take the ownership of the object clock and
|
||||
// delete it when destroyed.
|
||||
//
|
||||
// TODO(solenberg): Remove once downstream projects are updated.
|
||||
RTC_DEPRECATED static AudioCodingModule* Create(int id);
|
||||
static AudioCodingModule* Create();
|
||||
static AudioCodingModule* Create(Clock* clock);
|
||||
static AudioCodingModule* Create(const Config& config);
|
||||
virtual ~AudioCodingModule() = default;
|
||||
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/test/utility.h"
|
||||
@ -47,8 +48,10 @@ void APITest::Wait(uint32_t waitLengthMs) {
|
||||
}
|
||||
|
||||
APITest::APITest()
|
||||
: _acmA(AudioCodingModule::Create()),
|
||||
_acmB(AudioCodingModule::Create()),
|
||||
: _acmA(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_acmB(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_channel_A2B(NULL),
|
||||
_channel_B2A(NULL),
|
||||
_writeToFile(true),
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module.h"
|
||||
@ -269,7 +270,8 @@ void EncodeDecodeTest::Perform() {
|
||||
codePars[1] = 0;
|
||||
codePars[2] = 0;
|
||||
|
||||
std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create());
|
||||
std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory())));
|
||||
struct CodecInst sendCodecTmp;
|
||||
numCodecs = acm->NumberOfCodecs();
|
||||
|
||||
@ -320,7 +322,8 @@ std::string EncodeDecodeTest::EncodeToFile(int fileType,
|
||||
int codeId,
|
||||
int* codePars,
|
||||
int testMode) {
|
||||
std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create());
|
||||
std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory())));
|
||||
RTPFile rtpFile;
|
||||
std::string fileName = webrtc::test::TempFilename(webrtc::test::OutputPath(),
|
||||
"encode_decode_rtp");
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "test/gtest.h"
|
||||
#include "test/testsupport/fileutils.h"
|
||||
|
||||
@ -127,7 +128,9 @@ void PacketLossTest::Perform() {
|
||||
#ifndef WEBRTC_CODEC_OPUS
|
||||
return;
|
||||
#else
|
||||
std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create());
|
||||
AudioCodingModule::Config config;
|
||||
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create(config));
|
||||
|
||||
int codec_id = acm->Codec("opus", 48000, channels_);
|
||||
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
#include <limits>
|
||||
#include <string>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module.h"
|
||||
@ -104,8 +105,10 @@ void TestPack::reset_payload_size() {
|
||||
}
|
||||
|
||||
TestAllCodecs::TestAllCodecs(int test_mode)
|
||||
: acm_a_(AudioCodingModule::Create()),
|
||||
acm_b_(AudioCodingModule::Create()),
|
||||
: acm_a_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
acm_b_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
channel_a_to_b_(NULL),
|
||||
test_count_(0),
|
||||
packet_size_samples_(0),
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module_typedefs.h"
|
||||
@ -34,21 +35,24 @@
|
||||
namespace webrtc {
|
||||
|
||||
namespace {
|
||||
const char kNameL16[] = "L16";
|
||||
const char kNamePCMU[] = "PCMU";
|
||||
const char kNameCN[] = "CN";
|
||||
const char kNameRED[] = "RED";
|
||||
const char kNameISAC[] = "ISAC";
|
||||
const char kNameG722[] = "G722";
|
||||
const char kNameOPUS[] = "opus";
|
||||
}
|
||||
|
||||
const char kNameL16[] = "L16";
|
||||
const char kNamePCMU[] = "PCMU";
|
||||
const char kNameCN[] = "CN";
|
||||
const char kNameRED[] = "RED";
|
||||
const char kNameISAC[] = "ISAC";
|
||||
const char kNameG722[] = "G722";
|
||||
const char kNameOPUS[] = "opus";
|
||||
|
||||
} // namespace
|
||||
|
||||
TestRedFec::TestRedFec()
|
||||
: _acmA(AudioCodingModule::Create()),
|
||||
_acmB(AudioCodingModule::Create()),
|
||||
: _acmA(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_acmB(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_channelA2B(NULL),
|
||||
_testCntr(0) {
|
||||
}
|
||||
_testCntr(0) {}
|
||||
|
||||
TestRedFec::~TestRedFec() {
|
||||
if (_channelA2B != NULL) {
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module_typedefs.h"
|
||||
@ -108,8 +109,10 @@ void TestPackStereo::set_lost_packet(bool lost) {
|
||||
}
|
||||
|
||||
TestStereo::TestStereo(int test_mode)
|
||||
: acm_a_(AudioCodingModule::Create()),
|
||||
acm_b_(AudioCodingModule::Create()),
|
||||
: acm_a_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
acm_b_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
channel_a2b_(NULL),
|
||||
test_cntr_(0),
|
||||
pack_size_samp_(0),
|
||||
@ -120,11 +123,13 @@ TestStereo::TestStereo(int test_mode)
|
||||
l16_16khz_pltype_(-1),
|
||||
l16_32khz_pltype_(-1)
|
||||
#ifdef PCMA_AND_PCMU
|
||||
, pcma_pltype_(-1)
|
||||
, pcmu_pltype_(-1)
|
||||
,
|
||||
pcma_pltype_(-1),
|
||||
pcmu_pltype_(-1)
|
||||
#endif
|
||||
#ifdef WEBRTC_CODEC_OPUS
|
||||
, opus_pltype_(-1)
|
||||
,
|
||||
opus_pltype_(-1)
|
||||
#endif
|
||||
{
|
||||
// test_mode = 0 for silent test (auto test)
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/test/PCMFile.h"
|
||||
#include "modules/audio_coding/test/utility.h"
|
||||
@ -62,8 +63,10 @@ void ActivityMonitor::GetStatistics(uint32_t* counter) {
|
||||
}
|
||||
|
||||
TestVadDtx::TestVadDtx()
|
||||
: acm_send_(AudioCodingModule::Create()),
|
||||
acm_receive_(AudioCodingModule::Create()),
|
||||
: acm_send_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
acm_receive_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
channel_(new Channel),
|
||||
monitor_(new ActivityMonitor) {
|
||||
EXPECT_EQ(0, acm_send_->RegisterTransportCallback(channel_.get()));
|
||||
|
||||
@ -34,8 +34,10 @@ namespace webrtc {
|
||||
#define MAX_FILE_NAME_LENGTH_BYTE 500
|
||||
|
||||
TwoWayCommunication::TwoWayCommunication(int testMode)
|
||||
: _acmA(AudioCodingModule::Create()),
|
||||
_acmRefA(AudioCodingModule::Create()),
|
||||
: _acmA(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_acmRefA(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_testMode(testMode) {
|
||||
AudioCodingModule::Config config;
|
||||
// The clicks will be more obvious in FAX mode. TODO(henrik.lundin) Really?
|
||||
@ -60,7 +62,8 @@ TwoWayCommunication::~TwoWayCommunication() {
|
||||
|
||||
void TwoWayCommunication::ChooseCodec(uint8_t* codecID_A,
|
||||
uint8_t* codecID_B) {
|
||||
std::unique_ptr<AudioCodingModule> tmpACM(AudioCodingModule::Create());
|
||||
std::unique_ptr<AudioCodingModule> tmpACM(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory())));
|
||||
uint8_t noCodec = tmpACM->NumberOfCodecs();
|
||||
CodecInst codecInst;
|
||||
printf("List of Supported Codecs\n");
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
#include <iostream>
|
||||
#include <memory>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module.h"
|
||||
@ -64,8 +65,10 @@ struct TestSettings {
|
||||
class DelayTest {
|
||||
public:
|
||||
DelayTest()
|
||||
: acm_a_(AudioCodingModule::Create()),
|
||||
acm_b_(AudioCodingModule::Create()),
|
||||
: acm_a_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
acm_b_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
channel_a2b_(new Channel),
|
||||
test_cntr_(0),
|
||||
encoding_sample_rate_hz_(8000) {}
|
||||
|
||||
@ -23,6 +23,7 @@
|
||||
#include <time.h>
|
||||
#endif
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/test/utility.h"
|
||||
#include "system_wrappers/include/event_wrapper.h"
|
||||
@ -67,8 +68,10 @@ int16_t SetISAConfig(ACMTestISACConfig& isacConfig, AudioCodingModule* acm,
|
||||
}
|
||||
|
||||
ISACTest::ISACTest(int testMode)
|
||||
: _acmA(AudioCodingModule::Create()),
|
||||
_acmB(AudioCodingModule::Create()),
|
||||
: _acmA(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_acmB(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
_testMode(testMode) {}
|
||||
|
||||
ISACTest::~ISACTest() {}
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module.h"
|
||||
@ -56,20 +57,31 @@ const int kPlayoutPeriodMs = 10;
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
namespace {
|
||||
|
||||
AudioCodingModule::Config AcmConfig(Clock* clock) {
|
||||
AudioCodingModule::Config config;
|
||||
config.clock = clock;
|
||||
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
|
||||
return config;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
class InsertPacketWithTiming {
|
||||
public:
|
||||
InsertPacketWithTiming()
|
||||
: sender_clock_(new SimulatedClock(0)),
|
||||
receiver_clock_(new SimulatedClock(0)),
|
||||
send_acm_(AudioCodingModule::Create(sender_clock_)),
|
||||
receive_acm_(AudioCodingModule::Create(receiver_clock_)),
|
||||
send_acm_(AudioCodingModule::Create(AcmConfig(sender_clock_))),
|
||||
receive_acm_(AudioCodingModule::Create(AcmConfig(receiver_clock_))),
|
||||
channel_(new Channel),
|
||||
seq_num_fid_(fopen(FLAG_seq_num, "rt")),
|
||||
send_ts_fid_(fopen(FLAG_send_ts, "rt")),
|
||||
receive_ts_fid_(fopen(FLAG_receive_ts, "rt")),
|
||||
pcm_out_fid_(fopen(FLAG_output, "wb")),
|
||||
samples_in_1ms_(48),
|
||||
num_10ms_in_codec_frame_(2), // Typical 20 ms frames.
|
||||
num_10ms_in_codec_frame_(2), // Typical 20 ms frames.
|
||||
time_to_insert_packet_ms_(3), // An arbitrary offset on pushing packet.
|
||||
next_receive_ts_(0),
|
||||
time_to_playout_audio_ms_(kPlayoutPeriodMs),
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/audio_format_conversion.h"
|
||||
#include "modules/audio_coding/codecs/opus/opus_interface.h"
|
||||
@ -27,7 +28,8 @@
|
||||
namespace webrtc {
|
||||
|
||||
OpusTest::OpusTest()
|
||||
: acm_receiver_(AudioCodingModule::Create()),
|
||||
: acm_receiver_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))),
|
||||
channel_a2b_(NULL),
|
||||
counter_(0),
|
||||
payload_type_(255),
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||
#include "common_types.h" // NOLINT(build/include)
|
||||
#include "modules/audio_coding/codecs/pcm16b/pcm16b.h"
|
||||
#include "modules/audio_coding/include/audio_coding_module.h"
|
||||
@ -22,7 +23,9 @@ namespace webrtc {
|
||||
|
||||
class TargetDelayTest : public ::testing::Test {
|
||||
protected:
|
||||
TargetDelayTest() : acm_(AudioCodingModule::Create()) {}
|
||||
TargetDelayTest()
|
||||
: acm_(AudioCodingModule::Create(
|
||||
AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory()))) {}
|
||||
|
||||
~TargetDelayTest() {}
|
||||
|
||||
|
||||
@ -647,6 +647,7 @@ if (is_ios || is_mac) {
|
||||
":videosource_objc",
|
||||
"../api:libjingle_peerconnection_api",
|
||||
"../api:video_frame_api",
|
||||
"../api/audio_codecs:builtin_audio_decoder_factory",
|
||||
"../api/video_codecs:video_codecs_api",
|
||||
"../common_video",
|
||||
"../media:rtc_media_base",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user