From f7f753b32095d93f1cc49ba0a6f1dba212bdf3f8 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Mon, 17 Dec 2018 15:02:25 +0000 Subject: [PATCH] Revert "Add AudioDecoderFactory to NetEqTest constructor." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 > Reviewed-by: Ivo Creusen > Reviewed-by: Björn Terelius > Commit-Queue: Niels Moller > 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 Reviewed-by: Oleh Prypin Cr-Commit-Position: refs/heads/master@{#26030} --- modules/audio_coding/BUILD.gn | 2 +- .../neteq/neteq_decoder_plc_unittest.cc | 6 ++-- modules/audio_coding/neteq/neteq_unittest.cc | 5 ++- .../audio_coding/neteq/tools/neteq_test.cc | 4 +-- modules/audio_coding/neteq/tools/neteq_test.h | 2 -- .../neteq/tools/neteq_test_factory.cc | 7 ++-- rtc_tools/BUILD.gn | 21 ++++++------ rtc_tools/event_log_visualizer/analyzer.cc | 33 ++++++++----------- test/fuzzers/BUILD.gn | 2 -- test/fuzzers/neteq_rtp_fuzzer.cc | 5 ++- test/fuzzers/neteq_signal_fuzzer.cc | 5 ++- 11 files changed, 38 insertions(+), 54 deletions(-) diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index 195f7b93cb..e2a13f3cfb 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn @@ -1062,6 +1062,7 @@ 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", @@ -1511,7 +1512,6 @@ 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", diff --git a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc index 4b0d09f190..acc25b7efc 100644 --- a/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc +++ b/modules/audio_coding/neteq/neteq_decoder_plc_unittest.cc @@ -15,7 +15,6 @@ #include #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" @@ -186,9 +185,8 @@ NetEqNetworkStatistics RunTest(int loss_cadence, std::string* checksum) { // No callback objects. NetEqTest::Callbacks callbacks; - NetEqTest neteq_test(config, CreateBuiltinAudioDecoderFactory(), decoders, - external_decoders, nullptr, std::move(lossy_input), - std::move(output), callbacks); + NetEqTest neteq_test(config, 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 5dd77e5af4..922f9fcfb9 100644 --- a/modules/audio_coding/neteq/neteq_unittest.cc +++ b/modules/audio_coding/neteq/neteq_unittest.cc @@ -1726,9 +1726,8 @@ TEST(NetEqNoTimeStretchingMode, RunTest) { new TimeLimitedNetEqInput(std::move(input), 20000)); std::unique_ptr output(new VoidAudioSink); NetEqTest::Callbacks callbacks; - NetEqTest test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs, - nullptr, std::move(input_time_limit), std::move(output), - callbacks); + NetEqTest test(config, 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 90d49793fd..a3c3ffa32b 100644 --- a/modules/audio_coding/neteq/tools/neteq_test.cc +++ b/modules/audio_coding/neteq/tools/neteq_test.cc @@ -13,6 +13,7 @@ #include #include +#include "api/audio_codecs/builtin_audio_decoder_factory.h" #include "modules/rtp_rtcp/source/byte_io.h" namespace webrtc { @@ -51,14 +52,13 @@ void DefaultNetEqTestErrorCallback::OnGetAudioError() { } NetEqTest::NetEqTest(const NetEq::Config& config, - rtc::scoped_refptr decoder_factory, const DecoderMap& codecs, const ExtDecoderMap& ext_codecs, std::unique_ptr text_log, std::unique_ptr input, std::unique_ptr output, Callbacks callbacks) - : neteq_(NetEq::Create(config, decoder_factory)), + : neteq_(NetEq::Create(config, CreateBuiltinAudioDecoderFactory())), 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 3ccb6fe3b4..edbb620831 100644 --- a/modules/audio_coding/neteq/tools/neteq_test.h +++ b/modules/audio_coding/neteq/tools/neteq_test.h @@ -18,7 +18,6 @@ #include #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" @@ -87,7 +86,6 @@ 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 decoder_factory, const DecoderMap& codecs, const ExtDecoderMap& ext_codecs, std::unique_ptr 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 47c3e47e9a..b462776a2f 100644 --- a/modules/audio_coding/neteq/tools/neteq_test_factory.cc +++ b/modules/audio_coding/neteq/tools/neteq_test_factory.cc @@ -22,7 +22,6 @@ #include #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" @@ -487,9 +486,9 @@ std::unique_ptr 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( - config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs_, - std::move(text_log), std::move(input), std::move(output), callbacks); + return absl::make_unique(config, codecs, ext_codecs_, + std::move(text_log), std::move(input), + std::move(output), callbacks); } } // namespace test diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn index 88121aca43..4cdfd09c54 100644 --- a/rtc_tools/BUILD.gn +++ b/rtc_tools/BUILD.gn @@ -235,7 +235,7 @@ if (!build_with_chromium) { rtc_static_library("event_log_visualizer_utils") { visibility = [ "*" ] - testonly = true + allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. sources = [ "event_log_visualizer/analyzer.cc", "event_log_visualizer/analyzer.h", @@ -255,10 +255,6 @@ if (!build_with_chromium) { deps = [ ":chart_proto", "../:webrtc_common", - - # TODO(kwiberg): Remove this dependency. - "../api/audio_codecs:audio_codecs_api", - "../api/transport:goog_cc", "../call:call_interfaces", "../call:video_stream_api", "../logging:rtc_event_log_api", @@ -268,6 +264,15 @@ if (!build_with_chromium) { "../modules/audio_coding:ana_debug_dump_proto", "../modules/audio_coding:audio_network_adaptor", "../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/goog_cc:delay_based_bwe", "../modules/congestion_controller/goog_cc:estimators", @@ -275,12 +280,6 @@ if (!build_with_chromium) { "../modules/pacing", "../modules/remote_bitrate_estimator", "../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", ] } diff --git a/rtc_tools/event_log_visualizer/analyzer.cc b/rtc_tools/event_log_visualizer/analyzer.cc index cae810c185..7cf003991b 100644 --- a/rtc_tools/event_log_visualizer/analyzer.cc +++ b/rtc_tools/event_log_visualizer/analyzer.cc @@ -57,7 +57,6 @@ #include "rtc_base/numerics/sequence_number_util.h" #include "rtc_base/rate_statistics.h" #include "rtc_base/strings/string_builder.h" -#include "test/function_audio_decoder_factory.h" #ifndef BWE_TEST_LOGGING_COMPILE_TIME_ENABLE #define BWE_TEST_LOGGING_COMPILE_TIME_ENABLE 0 @@ -1711,23 +1710,20 @@ std::unique_ptr CreateNetEqTestAndRun( std::unique_ptr output(new test::VoidAudioSink()); - // Factory to create a "replacement decoder" that produces the decoded audio - // by reading from a file rather than from the encoded payloads. - rtc::scoped_refptr decoder_factory = - new rtc::RefCountedObject( - [replacement_file_name, file_sample_rate_hz]() { - std::unique_ptr replacement_file( - new test::ResampleInputAudioFile(replacement_file_name, - file_sample_rate_hz)); - replacement_file->set_output_rate_hz(48000); - return absl::make_unique( - std::move(replacement_file), 48000, false); - }); - test::NetEqTest::DecoderMap codecs; - codecs[kReplacementPt] = {NetEqDecoder::kDecoderPCM16Bswb48kHz, - "replacement codec"}; + // Create a "replacement decoder" that produces the decoded audio by reading + // from a file rather than from the encoded payloads. + std::unique_ptr replacement_file( + new test::ResampleInputAudioFile(replacement_file_name, + file_sample_rate_hz)); + replacement_file->set_output_rate_hz(48000); + std::unique_ptr replacement_decoder( + new test::FakeDecodeFromFile(std::move(replacement_file), 48000, false)); + test::NetEqTest::ExtDecoderMap ext_codecs; + ext_codecs[kReplacementPt] = {replacement_decoder.get(), + NetEqDecoder::kDecoderArbitrary, + "replacement codec"}; std::unique_ptr delay_cb( new test::NetEqDelayAnalyzer); @@ -1739,9 +1735,8 @@ std::unique_ptr CreateNetEqTestAndRun( callbacks.post_insert_packet = neteq_stats_getter->delay_analyzer(); callbacks.get_audio_callback = neteq_stats_getter.get(); - test::NetEqTest::ExtDecoderMap ext_codecs; - test::NetEqTest test(config, decoder_factory, codecs, ext_codecs, nullptr, - std::move(input), std::move(output), callbacks); + test::NetEqTest test(config, codecs, ext_codecs, nullptr, std::move(input), + std::move(output), callbacks); test.Run(); return neteq_stats_getter; } diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn index f78669ae96..85bf373624 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -358,7 +358,6 @@ webrtc_fuzzer_test("neteq_rtp_fuzzer") { ] deps = [ "../../api:array_view", - "../../api/audio_codecs:builtin_audio_decoder_factory", "../../modules/audio_coding:neteq", "../../modules/audio_coding:neteq_test_tools", "../../modules/audio_coding:neteq_tools_minimal", @@ -374,7 +373,6 @@ webrtc_fuzzer_test("neteq_signal_fuzzer") { ] deps = [ "../../api:array_view", - "../../api/audio_codecs:builtin_audio_decoder_factory", "../../modules/audio_coding:neteq", "../../modules/audio_coding:neteq_test_tools", "../../modules/audio_coding:neteq_tools_minimal", diff --git a/test/fuzzers/neteq_rtp_fuzzer.cc b/test/fuzzers/neteq_rtp_fuzzer.cc index c4e6dcf757..1582507c6e 100644 --- a/test/fuzzers/neteq_rtp_fuzzer.cc +++ b/test/fuzzers/neteq_rtp_fuzzer.cc @@ -13,7 +13,6 @@ #include #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/neteq/tools/audio_checksum.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 test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs, - nullptr, std::move(input), std::move(output), callbacks); + NetEqTest test(config, codecs, ext_codecs, nullptr, std::move(input), + std::move(output), callbacks); test.Run(); } diff --git a/test/fuzzers/neteq_signal_fuzzer.cc b/test/fuzzers/neteq_signal_fuzzer.cc index 96ba95d96a..1bdc43a81a 100644 --- a/test/fuzzers/neteq_signal_fuzzer.cc +++ b/test/fuzzers/neteq_signal_fuzzer.cc @@ -14,7 +14,6 @@ #include #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/neteq/tools/audio_checksum.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 test(config, CreateBuiltinAudioDecoderFactory(), codecs, ext_codecs, - nullptr, std::move(input), std::move(output), callbacks); + NetEqTest test(config, codecs, ext_codecs, nullptr, std::move(input), + std::move(output), callbacks); test.Run(); }