Revert "Add AudioDecoderFactory to NetEqTest constructor."
This reverts commit daa970f33e1923c5651a4a63c18e3d5361d0a795. Reason for revert: Speculative revert due to downstream breakage Original change's description: > 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} TBR=mbonadei@webrtc.org,aleloi@webrtc.org,kwiberg@webrtc.org,terelius@webrtc.org,nisse@webrtc.org,ivoc@webrtc.org No-Try: True Bug: webrtc:8396, webrtc:10080 Change-Id: Ided750d8ed800d8a38f7cce8f72095d8ed1bc6cb Reviewed-on: https://webrtc-review.googlesource.com/c/114552 Commit-Queue: Oleh Prypin <oprypin@webrtc.org> Reviewed-by: Oleh Prypin <oprypin@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26030}
This commit is contained in:
@ -1062,6 +1062,7 @@ rtc_source_set("neteq_tools_minimal") {
|
|||||||
"../../api:neteq_simulator_api",
|
"../../api:neteq_simulator_api",
|
||||||
"../../api/audio:audio_frame_api",
|
"../../api/audio:audio_frame_api",
|
||||||
"../../api/audio_codecs:audio_codecs_api",
|
"../../api/audio_codecs:audio_codecs_api",
|
||||||
|
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
||||||
"../../rtc_base:checks",
|
"../../rtc_base:checks",
|
||||||
"../../rtc_base:rtc_base_approved",
|
"../../rtc_base:rtc_base_approved",
|
||||||
"../rtp_rtcp",
|
"../rtp_rtcp",
|
||||||
@ -1511,7 +1512,6 @@ if (rtc_include_tests) {
|
|||||||
":neteq",
|
":neteq",
|
||||||
":neteq_test_tools",
|
":neteq_test_tools",
|
||||||
"../..:webrtc_common",
|
"../..:webrtc_common",
|
||||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
|
||||||
"../../rtc_base:rtc_base_approved",
|
"../../rtc_base:rtc_base_approved",
|
||||||
"../../test:test_support",
|
"../../test:test_support",
|
||||||
"//third_party/abseil-cpp/absl/memory",
|
"//third_party/abseil-cpp/absl/memory",
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "absl/types/optional.h"
|
#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/codecs/pcm16b/audio_encoder_pcm16b.h"
|
||||||
#include "modules/audio_coding/neteq/tools/audio_checksum.h"
|
#include "modules/audio_coding/neteq/tools/audio_checksum.h"
|
||||||
#include "modules/audio_coding/neteq/tools/audio_sink.h"
|
#include "modules/audio_coding/neteq/tools/audio_sink.h"
|
||||||
@ -186,9 +185,8 @@ NetEqNetworkStatistics RunTest(int loss_cadence, std::string* checksum) {
|
|||||||
// No callback objects.
|
// No callback objects.
|
||||||
NetEqTest::Callbacks callbacks;
|
NetEqTest::Callbacks callbacks;
|
||||||
|
|
||||||
NetEqTest neteq_test(config, CreateBuiltinAudioDecoderFactory(), decoders,
|
NetEqTest neteq_test(config, decoders, external_decoders, nullptr,
|
||||||
external_decoders, nullptr, std::move(lossy_input),
|
std::move(lossy_input), std::move(output), callbacks);
|
||||||
std::move(output), callbacks);
|
|
||||||
EXPECT_LE(kRunTimeMs, neteq_test.Run());
|
EXPECT_LE(kRunTimeMs, neteq_test.Run());
|
||||||
|
|
||||||
auto lifetime_stats = neteq_test.LifetimeStats();
|
auto lifetime_stats = neteq_test.LifetimeStats();
|
||||||
|
@ -1726,9 +1726,8 @@ TEST(NetEqNoTimeStretchingMode, RunTest) {
|
|||||||
new TimeLimitedNetEqInput(std::move(input), 20000));
|
new TimeLimitedNetEqInput(std::move(input), 20000));
|
||||||
std::unique_ptr<AudioSink> output(new VoidAudioSink);
|
std::unique_ptr<AudioSink> output(new VoidAudioSink);
|
||||||
NetEqTest::Callbacks callbacks;
|
NetEqTest::Callbacks callbacks;
|
||||||
NetEqTest test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs,
|
NetEqTest test(config, codecs, ext_codecs, nullptr,
|
||||||
nullptr, std::move(input_time_limit), std::move(output),
|
std::move(input_time_limit), std::move(output), callbacks);
|
||||||
callbacks);
|
|
||||||
test.Run();
|
test.Run();
|
||||||
const auto stats = test.SimulationStats();
|
const auto stats = test.SimulationStats();
|
||||||
EXPECT_EQ(0, stats.accelerate_rate);
|
EXPECT_EQ(0, stats.accelerate_rate);
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
||||||
#include "modules/rtp_rtcp/source/byte_io.h"
|
#include "modules/rtp_rtcp/source/byte_io.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -51,14 +52,13 @@ void DefaultNetEqTestErrorCallback::OnGetAudioError() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
NetEqTest::NetEqTest(const NetEq::Config& config,
|
NetEqTest::NetEqTest(const NetEq::Config& config,
|
||||||
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
|
|
||||||
const DecoderMap& codecs,
|
const DecoderMap& codecs,
|
||||||
const ExtDecoderMap& ext_codecs,
|
const ExtDecoderMap& ext_codecs,
|
||||||
std::unique_ptr<std::ofstream> text_log,
|
std::unique_ptr<std::ofstream> text_log,
|
||||||
std::unique_ptr<NetEqInput> input,
|
std::unique_ptr<NetEqInput> input,
|
||||||
std::unique_ptr<AudioSink> output,
|
std::unique_ptr<AudioSink> output,
|
||||||
Callbacks callbacks)
|
Callbacks callbacks)
|
||||||
: neteq_(NetEq::Create(config, decoder_factory)),
|
: neteq_(NetEq::Create(config, CreateBuiltinAudioDecoderFactory())),
|
||||||
input_(std::move(input)),
|
input_(std::move(input)),
|
||||||
output_(std::move(output)),
|
output_(std::move(output)),
|
||||||
callbacks_(callbacks),
|
callbacks_(callbacks),
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "absl/types/optional.h"
|
#include "absl/types/optional.h"
|
||||||
#include "api/audio_codecs/audio_decoder_factory.h"
|
|
||||||
#include "api/test/neteq_simulator.h"
|
#include "api/test/neteq_simulator.h"
|
||||||
#include "modules/audio_coding/neteq/include/neteq.h"
|
#include "modules/audio_coding/neteq/include/neteq.h"
|
||||||
#include "modules/audio_coding/neteq/tools/audio_sink.h"
|
#include "modules/audio_coding/neteq/tools/audio_sink.h"
|
||||||
@ -87,7 +86,6 @@ class NetEqTest : public NetEqSimulator {
|
|||||||
// Sets up the test with given configuration, codec mappings, input, ouput,
|
// Sets up the test with given configuration, codec mappings, input, ouput,
|
||||||
// and callback objects for error reporting.
|
// and callback objects for error reporting.
|
||||||
NetEqTest(const NetEq::Config& config,
|
NetEqTest(const NetEq::Config& config,
|
||||||
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory,
|
|
||||||
const DecoderMap& codecs,
|
const DecoderMap& codecs,
|
||||||
const ExtDecoderMap& ext_codecs,
|
const ExtDecoderMap& ext_codecs,
|
||||||
std::unique_ptr<std::ofstream> text_log,
|
std::unique_ptr<std::ofstream> text_log,
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "absl/memory/memory.h"
|
#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/include/neteq.h"
|
||||||
#include "modules/audio_coding/neteq/tools/fake_decode_from_file.h"
|
#include "modules/audio_coding/neteq/tools/fake_decode_from_file.h"
|
||||||
#include "modules/audio_coding/neteq/tools/input_audio_file.h"
|
#include "modules/audio_coding/neteq/tools/input_audio_file.h"
|
||||||
@ -487,9 +486,9 @@ std::unique_ptr<NetEqTest> NetEqTestFactory::InitializeTest(
|
|||||||
config.sample_rate_hz = *sample_rate_hz;
|
config.sample_rate_hz = *sample_rate_hz;
|
||||||
config.max_packets_in_buffer = FLAG_max_nr_packets_in_buffer;
|
config.max_packets_in_buffer = FLAG_max_nr_packets_in_buffer;
|
||||||
config.enable_fast_accelerate = FLAG_enable_fast_accelerate;
|
config.enable_fast_accelerate = FLAG_enable_fast_accelerate;
|
||||||
return absl::make_unique<NetEqTest>(
|
return absl::make_unique<NetEqTest>(config, codecs, ext_codecs_,
|
||||||
config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs_,
|
std::move(text_log), std::move(input),
|
||||||
std::move(text_log), std::move(input), std::move(output), callbacks);
|
std::move(output), callbacks);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace test
|
} // namespace test
|
||||||
|
@ -235,7 +235,7 @@ if (!build_with_chromium) {
|
|||||||
|
|
||||||
rtc_static_library("event_log_visualizer_utils") {
|
rtc_static_library("event_log_visualizer_utils") {
|
||||||
visibility = [ "*" ]
|
visibility = [ "*" ]
|
||||||
testonly = true
|
allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
|
||||||
sources = [
|
sources = [
|
||||||
"event_log_visualizer/analyzer.cc",
|
"event_log_visualizer/analyzer.cc",
|
||||||
"event_log_visualizer/analyzer.h",
|
"event_log_visualizer/analyzer.h",
|
||||||
@ -255,10 +255,6 @@ if (!build_with_chromium) {
|
|||||||
deps = [
|
deps = [
|
||||||
":chart_proto",
|
":chart_proto",
|
||||||
"../:webrtc_common",
|
"../:webrtc_common",
|
||||||
|
|
||||||
# TODO(kwiberg): Remove this dependency.
|
|
||||||
"../api/audio_codecs:audio_codecs_api",
|
|
||||||
"../api/transport:goog_cc",
|
|
||||||
"../call:call_interfaces",
|
"../call:call_interfaces",
|
||||||
"../call:video_stream_api",
|
"../call:video_stream_api",
|
||||||
"../logging:rtc_event_log_api",
|
"../logging:rtc_event_log_api",
|
||||||
@ -268,6 +264,15 @@ if (!build_with_chromium) {
|
|||||||
"../modules/audio_coding:ana_debug_dump_proto",
|
"../modules/audio_coding:ana_debug_dump_proto",
|
||||||
"../modules/audio_coding:audio_network_adaptor",
|
"../modules/audio_coding:audio_network_adaptor",
|
||||||
"../modules/audio_coding:neteq_tools",
|
"../modules/audio_coding:neteq_tools",
|
||||||
|
"../modules/rtp_rtcp:rtp_rtcp_format",
|
||||||
|
"../rtc_base:checks",
|
||||||
|
"../rtc_base:rtc_base_approved",
|
||||||
|
"../rtc_base:rtc_numerics",
|
||||||
|
"../rtc_base:stringutils",
|
||||||
|
|
||||||
|
# TODO(kwiberg): Remove this dependency.
|
||||||
|
"../api/audio_codecs:audio_codecs_api",
|
||||||
|
"../api/transport:goog_cc",
|
||||||
"../modules/congestion_controller",
|
"../modules/congestion_controller",
|
||||||
"../modules/congestion_controller/goog_cc:delay_based_bwe",
|
"../modules/congestion_controller/goog_cc:delay_based_bwe",
|
||||||
"../modules/congestion_controller/goog_cc:estimators",
|
"../modules/congestion_controller/goog_cc:estimators",
|
||||||
@ -275,12 +280,6 @@ if (!build_with_chromium) {
|
|||||||
"../modules/pacing",
|
"../modules/pacing",
|
||||||
"../modules/remote_bitrate_estimator",
|
"../modules/remote_bitrate_estimator",
|
||||||
"../modules/rtp_rtcp",
|
"../modules/rtp_rtcp",
|
||||||
"../modules/rtp_rtcp:rtp_rtcp_format",
|
|
||||||
"../rtc_base:checks",
|
|
||||||
"../rtc_base:rtc_base_approved",
|
|
||||||
"../rtc_base:rtc_numerics",
|
|
||||||
"../rtc_base:stringutils",
|
|
||||||
"../test:audio_codec_mocks",
|
|
||||||
"//third_party/abseil-cpp/absl/memory",
|
"//third_party/abseil-cpp/absl/memory",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,6 @@
|
|||||||
#include "rtc_base/numerics/sequence_number_util.h"
|
#include "rtc_base/numerics/sequence_number_util.h"
|
||||||
#include "rtc_base/rate_statistics.h"
|
#include "rtc_base/rate_statistics.h"
|
||||||
#include "rtc_base/strings/string_builder.h"
|
#include "rtc_base/strings/string_builder.h"
|
||||||
#include "test/function_audio_decoder_factory.h"
|
|
||||||
|
|
||||||
#ifndef BWE_TEST_LOGGING_COMPILE_TIME_ENABLE
|
#ifndef BWE_TEST_LOGGING_COMPILE_TIME_ENABLE
|
||||||
#define BWE_TEST_LOGGING_COMPILE_TIME_ENABLE 0
|
#define BWE_TEST_LOGGING_COMPILE_TIME_ENABLE 0
|
||||||
@ -1711,22 +1710,19 @@ std::unique_ptr<test::NetEqStatsGetter> CreateNetEqTestAndRun(
|
|||||||
|
|
||||||
std::unique_ptr<test::VoidAudioSink> output(new test::VoidAudioSink());
|
std::unique_ptr<test::VoidAudioSink> output(new test::VoidAudioSink());
|
||||||
|
|
||||||
// Factory to create a "replacement decoder" that produces the decoded audio
|
test::NetEqTest::DecoderMap codecs;
|
||||||
// by reading from a file rather than from the encoded payloads.
|
|
||||||
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory =
|
// Create a "replacement decoder" that produces the decoded audio by reading
|
||||||
new rtc::RefCountedObject<test::FunctionAudioDecoderFactory>(
|
// from a file rather than from the encoded payloads.
|
||||||
[replacement_file_name, file_sample_rate_hz]() {
|
|
||||||
std::unique_ptr<test::ResampleInputAudioFile> replacement_file(
|
std::unique_ptr<test::ResampleInputAudioFile> replacement_file(
|
||||||
new test::ResampleInputAudioFile(replacement_file_name,
|
new test::ResampleInputAudioFile(replacement_file_name,
|
||||||
file_sample_rate_hz));
|
file_sample_rate_hz));
|
||||||
replacement_file->set_output_rate_hz(48000);
|
replacement_file->set_output_rate_hz(48000);
|
||||||
return absl::make_unique<test::FakeDecodeFromFile>(
|
std::unique_ptr<AudioDecoder> replacement_decoder(
|
||||||
std::move(replacement_file), 48000, false);
|
new test::FakeDecodeFromFile(std::move(replacement_file), 48000, false));
|
||||||
});
|
test::NetEqTest::ExtDecoderMap ext_codecs;
|
||||||
|
ext_codecs[kReplacementPt] = {replacement_decoder.get(),
|
||||||
test::NetEqTest::DecoderMap codecs;
|
NetEqDecoder::kDecoderArbitrary,
|
||||||
|
|
||||||
codecs[kReplacementPt] = {NetEqDecoder::kDecoderPCM16Bswb48kHz,
|
|
||||||
"replacement codec"};
|
"replacement codec"};
|
||||||
|
|
||||||
std::unique_ptr<test::NetEqDelayAnalyzer> delay_cb(
|
std::unique_ptr<test::NetEqDelayAnalyzer> delay_cb(
|
||||||
@ -1739,9 +1735,8 @@ std::unique_ptr<test::NetEqStatsGetter> CreateNetEqTestAndRun(
|
|||||||
callbacks.post_insert_packet = neteq_stats_getter->delay_analyzer();
|
callbacks.post_insert_packet = neteq_stats_getter->delay_analyzer();
|
||||||
callbacks.get_audio_callback = neteq_stats_getter.get();
|
callbacks.get_audio_callback = neteq_stats_getter.get();
|
||||||
|
|
||||||
test::NetEqTest::ExtDecoderMap ext_codecs;
|
test::NetEqTest test(config, codecs, ext_codecs, nullptr, std::move(input),
|
||||||
test::NetEqTest test(config, decoder_factory, codecs, ext_codecs, nullptr,
|
std::move(output), callbacks);
|
||||||
std::move(input), std::move(output), callbacks);
|
|
||||||
test.Run();
|
test.Run();
|
||||||
return neteq_stats_getter;
|
return neteq_stats_getter;
|
||||||
}
|
}
|
||||||
|
@ -358,7 +358,6 @@ webrtc_fuzzer_test("neteq_rtp_fuzzer") {
|
|||||||
]
|
]
|
||||||
deps = [
|
deps = [
|
||||||
"../../api:array_view",
|
"../../api:array_view",
|
||||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
|
||||||
"../../modules/audio_coding:neteq",
|
"../../modules/audio_coding:neteq",
|
||||||
"../../modules/audio_coding:neteq_test_tools",
|
"../../modules/audio_coding:neteq_test_tools",
|
||||||
"../../modules/audio_coding:neteq_tools_minimal",
|
"../../modules/audio_coding:neteq_tools_minimal",
|
||||||
@ -374,7 +373,6 @@ webrtc_fuzzer_test("neteq_signal_fuzzer") {
|
|||||||
]
|
]
|
||||||
deps = [
|
deps = [
|
||||||
"../../api:array_view",
|
"../../api:array_view",
|
||||||
"../../api/audio_codecs:builtin_audio_decoder_factory",
|
|
||||||
"../../modules/audio_coding:neteq",
|
"../../modules/audio_coding:neteq",
|
||||||
"../../modules/audio_coding:neteq_test_tools",
|
"../../modules/audio_coding:neteq_test_tools",
|
||||||
"../../modules/audio_coding:neteq_tools_minimal",
|
"../../modules/audio_coding:neteq_tools_minimal",
|
||||||
|
@ -13,7 +13,6 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "api/array_view.h"
|
#include "api/array_view.h"
|
||||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
|
||||||
#include "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.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_checksum.h"
|
||||||
#include "modules/audio_coding/neteq/tools/encode_neteq_input.h"
|
#include "modules/audio_coding/neteq/tools/encode_neteq_input.h"
|
||||||
@ -139,8 +138,8 @@ void FuzzOneInputTest(const uint8_t* data, size_t size) {
|
|||||||
|
|
||||||
NetEqTest::ExtDecoderMap ext_codecs;
|
NetEqTest::ExtDecoderMap ext_codecs;
|
||||||
|
|
||||||
NetEqTest test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs,
|
NetEqTest test(config, codecs, ext_codecs, nullptr, std::move(input),
|
||||||
nullptr, std::move(input), std::move(output), callbacks);
|
std::move(output), callbacks);
|
||||||
test.Run();
|
test.Run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "api/array_view.h"
|
#include "api/array_view.h"
|
||||||
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
|
|
||||||
#include "modules/audio_coding/codecs/pcm16b/audio_encoder_pcm16b.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_checksum.h"
|
||||||
#include "modules/audio_coding/neteq/tools/encode_neteq_input.h"
|
#include "modules/audio_coding/neteq/tools/encode_neteq_input.h"
|
||||||
@ -184,8 +183,8 @@ void FuzzOneInputTest(const uint8_t* data, size_t size) {
|
|||||||
|
|
||||||
NetEqTest::ExtDecoderMap ext_codecs;
|
NetEqTest::ExtDecoderMap ext_codecs;
|
||||||
|
|
||||||
NetEqTest test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs,
|
NetEqTest test(config, codecs, ext_codecs, nullptr, std::move(input),
|
||||||
nullptr, std::move(input), std::move(output), callbacks);
|
std::move(output), callbacks);
|
||||||
test.Run();
|
test.Run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user