Add AudioDecoderFactory to NetEqTest constructor.
Update EventLogAnalyzer to not depend on builtin audio decoders.
Bug: webrtc:8396, webrtc:10080
Change-Id: Ie02ed9cda6d4f11bfdf2e65eb6482283b7520738
Reviewed-on: https://webrtc-review.googlesource.com/c/114301
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26026}
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
index e2a13f3..195f7b9 100644
--- a/modules/audio_coding/BUILD.gn
+++ b/modules/audio_coding/BUILD.gn
@@ -1062,7 +1062,6 @@
"../../api:neteq_simulator_api",
"../../api/audio:audio_frame_api",
"../../api/audio_codecs:audio_codecs_api",
- "../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../rtp_rtcp",
@@ -1512,6 +1511,7 @@
":neteq",
":neteq_test_tools",
"../..:webrtc_common",
+ "../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
"//third_party/abseil-cpp/absl/memory",
diff --git a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
index acc25b7..4b0d09f 100644
--- a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
+++ b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc
@@ -15,6 +15,7 @@
#include <vector>
#include "absl/types/optional.h"
+#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.h"
#include "modules/audio_coding/neteq/tools/audio_checksum.h"
#include "modules/audio_coding/neteq/tools/audio_sink.h"
@@ -185,8 +186,9 @@
// No callback objects.
NetEqTest::Callbacks callbacks;
- NetEqTest neteq_test(config, decoders, external_decoders, nullptr,
- std::move(lossy_input), std::move(output), callbacks);
+ NetEqTest neteq_test(config, CreateBuiltinAudioDecoderFactory(), decoders,
+ external_decoders, nullptr, std::move(lossy_input),
+ std::move(output), callbacks);
EXPECT_LE(kRunTimeMs, neteq_test.Run());
auto lifetime_stats = neteq_test.LifetimeStats();
diff --git a/modules/audio_coding/neteq/neteq_unittest.cc b/modules/audio_coding/neteq/neteq_unittest.cc
index 922f9fc..5dd77e5 100644
--- a/modules/audio_coding/neteq/neteq_unittest.cc
+++ b/modules/audio_coding/neteq/neteq_unittest.cc
@@ -1726,8 +1726,9 @@
new TimeLimitedNetEqInput(std::move(input), 20000));
std::unique_ptr<AudioSink> output(new VoidAudioSink);
NetEqTest::Callbacks callbacks;
- NetEqTest test(config, codecs, ext_codecs, nullptr,
- std::move(input_time_limit), std::move(output), callbacks);
+ NetEqTest test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs,
+ nullptr, std::move(input_time_limit), std::move(output),
+ callbacks);
test.Run();
const auto stats = test.SimulationStats();
EXPECT_EQ(0, stats.accelerate_rate);
diff --git a/modules/audio_coding/neteq/tools/neteq_test.cc b/modules/audio_coding/neteq/tools/neteq_test.cc
index a3c3ffa..90d4979 100644
--- a/modules/audio_coding/neteq/tools/neteq_test.cc
+++ b/modules/audio_coding/neteq/tools/neteq_test.cc
@@ -13,7 +13,6 @@
#include <iomanip>
#include <iostream>
-#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "modules/rtp_rtcp/source/byte_io.h"
namespace webrtc {
@@ -52,13 +51,14 @@
}
NetEqTest::NetEqTest(const NetEq::Config& config,
+ rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
const DecoderMap& codecs,
const ExtDecoderMap& ext_codecs,
std::unique_ptr<std::ofstream> text_log,
std::unique_ptr<NetEqInput> input,
std::unique_ptr<AudioSink> output,
Callbacks callbacks)
- : neteq_(NetEq::Create(config, CreateBuiltinAudioDecoderFactory())),
+ : neteq_(NetEq::Create(config, decoder_factory)),
input_(std::move(input)),
output_(std::move(output)),
callbacks_(callbacks),
diff --git a/modules/audio_coding/neteq/tools/neteq_test.h b/modules/audio_coding/neteq/tools/neteq_test.h
index edbb620..3ccb6fe 100644
--- a/modules/audio_coding/neteq/tools/neteq_test.h
+++ b/modules/audio_coding/neteq/tools/neteq_test.h
@@ -18,6 +18,7 @@
#include <utility>
#include "absl/types/optional.h"
+#include "api/audio_codecs/audio_decoder_factory.h"
#include "api/test/neteq_simulator.h"
#include "modules/audio_coding/neteq/include/neteq.h"
#include "modules/audio_coding/neteq/tools/audio_sink.h"
@@ -86,6 +87,7 @@
// Sets up the test with given configuration, codec mappings, input, ouput,
// and callback objects for error reporting.
NetEqTest(const NetEq::Config& config,
+ rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
const DecoderMap& codecs,
const ExtDecoderMap& ext_codecs,
std::unique_ptr<std::ofstream> text_log,
diff --git a/modules/audio_coding/neteq/tools/neteq_test_factory.cc b/modules/audio_coding/neteq/tools/neteq_test_factory.cc
index b462776..47c3e47 100644
--- a/modules/audio_coding/neteq/tools/neteq_test_factory.cc
+++ b/modules/audio_coding/neteq/tools/neteq_test_factory.cc
@@ -22,6 +22,7 @@
#include <utility>
#include "absl/memory/memory.h"
+#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "modules/audio_coding/neteq/include/neteq.h"
#include "modules/audio_coding/neteq/tools/fake_decode_from_file.h"
#include "modules/audio_coding/neteq/tools/input_audio_file.h"
@@ -486,9 +487,9 @@
config.sample_rate_hz = *sample_rate_hz;
config.max_packets_in_buffer = FLAG_max_nr_packets_in_buffer;
config.enable_fast_accelerate = FLAG_enable_fast_accelerate;
- return absl::make_unique<NetEqTest>(config, codecs, ext_codecs_,
- std::move(text_log), std::move(input),
- std::move(output), callbacks);
+ return absl::make_unique<NetEqTest>(
+ config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs_,
+ std::move(text_log), std::move(input), std::move(output), callbacks);
}
} // namespace test