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}
This commit is contained in:
@ -1062,7 +1062,6 @@ rtc_source_set("neteq_tools_minimal") {
|
||||
"../../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 @@ if (rtc_include_tests) {
|
||||
":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",
|
||||
|
||||
@ -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 @@ NetEqNetworkStatistics RunTest(int loss_cadence, std::string* checksum) {
|
||||
// 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();
|
||||
|
||||
@ -1726,8 +1726,9 @@ TEST(NetEqNoTimeStretchingMode, RunTest) {
|
||||
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);
|
||||
|
||||
@ -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 @@ void DefaultNetEqTestErrorCallback::OnGetAudioError() {
|
||||
}
|
||||
|
||||
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),
|
||||
|
||||
@ -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 @@ class NetEqTest : public NetEqSimulator {
|
||||
// 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,
|
||||
|
||||
@ -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 @@ std::unique_ptr<NetEqTest> NetEqTestFactory::InitializeTest(
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user