diff --git a/media/engine/webrtc_voice_engine.cc b/media/engine/webrtc_voice_engine.cc index da5f594085..f1ebaf39ee 100644 --- a/media/engine/webrtc_voice_engine.cc +++ b/media/engine/webrtc_voice_engine.cc @@ -587,14 +587,15 @@ bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) { if (options.experimental_ns) { experimental_ns_ = options.experimental_ns; } - if (experimental_ns_) { - RTC_LOG(LS_INFO) << "Experimental ns is enabled? " << *experimental_ns_; - config.Set( - new webrtc::ExperimentalNs(*experimental_ns_)); - } webrtc::AudioProcessing::Config apm_config = ap->GetConfig(); +#if !(defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS)) + if (experimental_ns_.has_value()) { + apm_config.transient_suppression.enabled = experimental_ns_.value(); + } +#endif + if (options.echo_cancellation) { apm_config.echo_canceller.enabled = *options.echo_cancellation; apm_config.echo_canceller.mobile_mode = use_mobile_software_aec; diff --git a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc index 6d5b9879b9..1e96901307 100644 --- a/modules/audio_processing/aec_dump/aec_dump_integration_test.cc +++ b/modules/audio_processing/aec_dump/aec_dump_integration_test.cc @@ -24,9 +24,8 @@ using ::testing::StrictMock; namespace { rtc::scoped_refptr CreateAudioProcessing() { - webrtc::Config config; rtc::scoped_refptr apm( - webrtc::AudioProcessingBuilderForTesting().Create(config)); + webrtc::AudioProcessingBuilderForTesting().Create()); RTC_DCHECK(apm); return apm; } diff --git a/modules/audio_processing/audio_processing_builder_impl.cc b/modules/audio_processing/audio_processing_builder_impl.cc index a6b7d5f23e..40be2a511d 100644 --- a/modules/audio_processing/audio_processing_builder_impl.cc +++ b/modules/audio_processing/audio_processing_builder_impl.cc @@ -21,25 +21,14 @@ AudioProcessingBuilder::AudioProcessingBuilder() = default; AudioProcessingBuilder::~AudioProcessingBuilder() = default; rtc::scoped_refptr AudioProcessingBuilder::Create() { - webrtc::Config config; - return Create(config); -} - -rtc::scoped_refptr AudioProcessingBuilder::Create( - const webrtc::Config& config) { #ifdef WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE - - // Implementation returning a null pointer for using when the APM is excluded - // from the build.. + // Return a null pointer when the APM is excluded from the build. return nullptr; - -#else - - // Standard implementation. +#else // WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE return rtc::make_ref_counted( - config, std::move(capture_post_processing_), - std::move(render_pre_processing_), std::move(echo_control_factory_), - std::move(echo_detector_), std::move(capture_analyzer_)); + std::move(capture_post_processing_), std::move(render_pre_processing_), + std::move(echo_control_factory_), std::move(echo_detector_), + std::move(capture_analyzer_)); #endif } diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc index 9b1493116c..166853916d 100644 --- a/modules/audio_processing/audio_processing_impl.cc +++ b/modules/audio_processing/audio_processing_impl.cc @@ -234,9 +234,8 @@ bool AudioProcessingImpl::SubmoduleStates::HighPassFilteringRequired() const { noise_suppressor_enabled_; } -AudioProcessingImpl::AudioProcessingImpl(const webrtc::Config& config) - : AudioProcessingImpl(config, - /*capture_post_processor=*/nullptr, +AudioProcessingImpl::AudioProcessingImpl() + : AudioProcessingImpl(/*capture_post_processor=*/nullptr, /*render_pre_processor=*/nullptr, /*echo_control_factory=*/nullptr, /*echo_detector=*/nullptr, @@ -245,7 +244,6 @@ AudioProcessingImpl::AudioProcessingImpl(const webrtc::Config& config) int AudioProcessingImpl::instance_count_ = 0; AudioProcessingImpl::AudioProcessingImpl( - const webrtc::Config& config, std::unique_ptr capture_post_processor, std::unique_ptr render_pre_processor, std::unique_ptr echo_control_factory, @@ -300,12 +298,6 @@ AudioProcessingImpl::AudioProcessingImpl( submodules_.echo_detector = rtc::make_ref_counted(); } -#if !(defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS)) - // TODO(webrtc:5298): Remove once the use of ExperimentalNs has been - // deprecated. - config_.transient_suppression.enabled = config.Get().enabled; -#endif - Initialize(); } diff --git a/modules/audio_processing/audio_processing_impl.h b/modules/audio_processing/audio_processing_impl.h index 27abbd4c20..7c54173658 100644 --- a/modules/audio_processing/audio_processing_impl.h +++ b/modules/audio_processing/audio_processing_impl.h @@ -55,10 +55,9 @@ class AudioProcessingImpl : public AudioProcessing { public: // Methods forcing APM to run in a single-threaded manner. // Acquires both the render and capture locks. - explicit AudioProcessingImpl(const webrtc::Config& config); + AudioProcessingImpl(); // AudioProcessingImpl takes ownership of capture post processor. - AudioProcessingImpl(const webrtc::Config& config, - std::unique_ptr capture_post_processor, + AudioProcessingImpl(std::unique_ptr capture_post_processor, std::unique_ptr render_pre_processor, std::unique_ptr echo_control_factory, rtc::scoped_refptr echo_detector, diff --git a/modules/audio_processing/audio_processing_impl_unittest.cc b/modules/audio_processing/audio_processing_impl_unittest.cc index c68ce41652..5354f54d35 100644 --- a/modules/audio_processing/audio_processing_impl_unittest.cc +++ b/modules/audio_processing/audio_processing_impl_unittest.cc @@ -35,8 +35,7 @@ using ::testing::NotNull; class MockInitialize : public AudioProcessingImpl { public: - explicit MockInitialize(const webrtc::Config& config) - : AudioProcessingImpl(config) {} + MockInitialize() : AudioProcessingImpl() {} MOCK_METHOD(void, InitializeLocked, (), (override)); void RealInitializeLocked() { @@ -132,12 +131,11 @@ class TestRenderPreProcessor : public CustomProcessing { } // namespace TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) { - webrtc::Config webrtc_config; - MockInitialize mock(webrtc_config); - ON_CALL(mock, InitializeLocked()) + MockInitialize mock; + ON_CALL(mock, InitializeLocked) .WillByDefault(Invoke(&mock, &MockInitialize::RealInitializeLocked)); - EXPECT_CALL(mock, InitializeLocked()).Times(1); + EXPECT_CALL(mock, InitializeLocked).Times(1); mock.Initialize(); constexpr size_t kMaxSampleRateHz = 32000; @@ -146,20 +144,20 @@ TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) { frame.fill(0); StreamConfig config(16000, 1, /*has_keyboard=*/false); // Call with the default parameters; there should be an init. - EXPECT_CALL(mock, InitializeLocked()).Times(0); + EXPECT_CALL(mock, InitializeLocked).Times(0); EXPECT_NOERR(mock.ProcessStream(frame.data(), config, config, frame.data())); EXPECT_NOERR( mock.ProcessReverseStream(frame.data(), config, config, frame.data())); // New sample rate. (Only impacts ProcessStream). config = StreamConfig(32000, 1, /*has_keyboard=*/false); - EXPECT_CALL(mock, InitializeLocked()).Times(1); + EXPECT_CALL(mock, InitializeLocked).Times(1); EXPECT_NOERR(mock.ProcessStream(frame.data(), config, config, frame.data())); // New number of channels. // TODO(peah): Investigate why this causes 2 inits. config = StreamConfig(32000, 2, /*has_keyboard=*/false); - EXPECT_CALL(mock, InitializeLocked()).Times(2); + EXPECT_CALL(mock, InitializeLocked).Times(2); EXPECT_NOERR(mock.ProcessStream(frame.data(), config, config, frame.data())); // ProcessStream sets num_channels_ == num_output_channels. EXPECT_NOERR( @@ -167,7 +165,7 @@ TEST(AudioProcessingImplTest, AudioParameterChangeTriggersInit) { // A new sample rate passed to ProcessReverseStream should cause an init. config = StreamConfig(16000, 2, /*has_keyboard=*/false); - EXPECT_CALL(mock, InitializeLocked()).Times(1); + EXPECT_CALL(mock, InitializeLocked).Times(1); EXPECT_NOERR( mock.ProcessReverseStream(frame.data(), config, config, frame.data())); } @@ -605,7 +603,7 @@ TEST(AudioProcessingImplTest, RenderPreProcessorBeforeEchoDetector) { // config should be bit-exact with running APM with said submodules disabled. // This mainly tests that SetCreateOptionalSubmodulesForTesting has an effect. TEST(ApmWithSubmodulesExcludedTest, BitexactWithDisabledModules) { - auto apm = rtc::make_ref_counted(webrtc::Config()); + auto apm = rtc::make_ref_counted(); ASSERT_EQ(apm->Initialize(), AudioProcessing::kNoError); ApmSubmoduleCreationOverrides overrides; @@ -653,7 +651,7 @@ TEST(ApmWithSubmodulesExcludedTest, BitexactWithDisabledModules) { // Disable transient suppressor creation and run APM in ways that should trigger // calls to the transient suppressor API. TEST(ApmWithSubmodulesExcludedTest, ReinitializeTransientSuppressor) { - auto apm = rtc::make_ref_counted(webrtc::Config()); + auto apm = rtc::make_ref_counted(); ASSERT_EQ(apm->Initialize(), kNoErr); ApmSubmoduleCreationOverrides overrides; @@ -714,7 +712,7 @@ TEST(ApmWithSubmodulesExcludedTest, ReinitializeTransientSuppressor) { // Disable transient suppressor creation and run APM in ways that should trigger // calls to the transient suppressor API. TEST(ApmWithSubmodulesExcludedTest, ToggleTransientSuppressor) { - auto apm = rtc::make_ref_counted(webrtc::Config()); + auto apm = rtc::make_ref_counted(); ASSERT_EQ(apm->Initialize(), AudioProcessing::kNoError); ApmSubmoduleCreationOverrides overrides; diff --git a/modules/audio_processing/audio_processing_performance_unittest.cc b/modules/audio_processing/audio_processing_performance_unittest.cc index b79acc7182..ed6a238dce 100644 --- a/modules/audio_processing/audio_processing_performance_unittest.cc +++ b/modules/audio_processing/audio_processing_performance_unittest.cc @@ -482,8 +482,7 @@ class CallSimulator : public ::testing::TestWithParam { break; } case SettingsType::kDefaultApmDesktop: { - Config config; - apm_ = AudioProcessingBuilderForTesting().Create(config); + apm_ = AudioProcessingBuilderForTesting().Create(); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); break; @@ -495,15 +494,13 @@ class CallSimulator : public ::testing::TestWithParam { break; } case SettingsType::kDefaultApmDesktopWithoutDelayAgnostic: { - Config config; - apm_ = AudioProcessingBuilderForTesting().Create(config); + apm_ = AudioProcessingBuilderForTesting().Create(); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); break; } case SettingsType::kDefaultApmDesktopWithoutExtendedFilter: { - Config config; - apm_ = AudioProcessingBuilderForTesting().Create(config); + apm_ = AudioProcessingBuilderForTesting().Create(); ASSERT_TRUE(!!apm_); set_default_desktop_apm_runtime_settings(apm_.get()); break; diff --git a/modules/audio_processing/audio_processing_unittest.cc b/modules/audio_processing/audio_processing_unittest.cc index 5af8aa9ddb..e763b78776 100644 --- a/modules/audio_processing/audio_processing_unittest.cc +++ b/modules/audio_processing/audio_processing_unittest.cc @@ -2673,14 +2673,13 @@ class MyEchoControlFactory : public EchoControlFactory { TEST(ApmConfiguration, EchoControlInjection) { // Verify that apm uses an injected echo controller if one is provided. - webrtc::Config webrtc_config; std::unique_ptr echo_control_factory( new MyEchoControlFactory()); rtc::scoped_refptr apm = AudioProcessingBuilderForTesting() .SetEchoControlFactory(std::move(echo_control_factory)) - .Create(webrtc_config); + .Create(); Int16FrameData audio; audio.num_channels = 1; @@ -2700,9 +2699,8 @@ TEST(ApmConfiguration, EchoControlInjection) { } rtc::scoped_refptr CreateApm(bool mobile_aec) { - Config old_config; rtc::scoped_refptr apm = - AudioProcessingBuilderForTesting().Create(old_config); + AudioProcessingBuilderForTesting().Create(); if (!apm) { return apm; } diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h index a752e91b29..54ca996f67 100644 --- a/modules/audio_processing/include/audio_processing.h +++ b/modules/audio_processing/include/audio_processing.h @@ -65,19 +65,6 @@ static constexpr int kAgcStartupMinVolume = 0; #endif // defined(WEBRTC_CHROMIUM_BUILD) static constexpr int kClippedLevelMin = 70; -// To be deprecated: Please instead use the flag in the -// AudioProcessing::Config::TransientSuppression. -// -// Use to enable experimental noise suppression. It can be set in the -// constructor. -// TODO(webrtc:5298): Remove. -struct ExperimentalNs { - ExperimentalNs() : enabled(false) {} - explicit ExperimentalNs(bool enabled) : enabled(enabled) {} - static const ConfigOptionID identifier = ConfigOptionID::kExperimentalNs; - bool enabled; -}; - // The Audio Processing Module (APM) provides a collection of voice processing // components designed for real-time communications software. // @@ -800,7 +787,6 @@ class RTC_EXPORT AudioProcessingBuilder { // This creates an APM instance using the previously set components. Calling // the Create function resets the AudioProcessingBuilder to its initial state. rtc::scoped_refptr Create(); - rtc::scoped_refptr Create(const webrtc::Config& config); private: std::unique_ptr echo_control_factory_; diff --git a/modules/audio_processing/test/audio_processing_builder_for_testing.cc b/modules/audio_processing/test/audio_processing_builder_for_testing.cc index 05c3d3e95f..adf0c5d535 100644 --- a/modules/audio_processing/test/audio_processing_builder_for_testing.cc +++ b/modules/audio_processing/test/audio_processing_builder_for_testing.cc @@ -24,16 +24,10 @@ AudioProcessingBuilderForTesting::~AudioProcessingBuilderForTesting() = default; #ifdef WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE rtc::scoped_refptr AudioProcessingBuilderForTesting::Create() { - webrtc::Config config; - return Create(config); -} - -rtc::scoped_refptr AudioProcessingBuilderForTesting::Create( - const webrtc::Config& config) { return rtc::make_ref_counted( - config, std::move(capture_post_processing_), - std::move(render_pre_processing_), std::move(echo_control_factory_), - std::move(echo_detector_), std::move(capture_analyzer_)); + std::move(capture_post_processing_), std::move(render_pre_processing_), + std::move(echo_control_factory_), std::move(echo_detector_), + std::move(capture_analyzer_)); } #else @@ -44,13 +38,6 @@ rtc::scoped_refptr AudioProcessingBuilderForTesting::Create() { return builder.Create(); } -rtc::scoped_refptr AudioProcessingBuilderForTesting::Create( - const webrtc::Config& config) { - AudioProcessingBuilder builder; - TransferOwnershipsToBuilder(&builder); - return builder.Create(config); -} - #endif void AudioProcessingBuilderForTesting::TransferOwnershipsToBuilder( diff --git a/modules/audio_processing/test/audio_processing_builder_for_testing.h b/modules/audio_processing/test/audio_processing_builder_for_testing.h index ba0f7b110e..2d2124818f 100644 --- a/modules/audio_processing/test/audio_processing_builder_for_testing.h +++ b/modules/audio_processing/test/audio_processing_builder_for_testing.h @@ -63,7 +63,6 @@ class AudioProcessingBuilderForTesting { // the Create function resets the AudioProcessingBuilderForTesting to its // initial state. rtc::scoped_refptr Create(); - rtc::scoped_refptr Create(const webrtc::Config& config); private: // Transfers the ownership to a non-testing builder. diff --git a/modules/audio_processing/test/debug_dump_replayer.cc b/modules/audio_processing/test/debug_dump_replayer.cc index b202469cb0..cab6966765 100644 --- a/modules/audio_processing/test/debug_dump_replayer.cc +++ b/modules/audio_processing/test/debug_dump_replayer.cc @@ -178,14 +178,13 @@ void DebugDumpReplayer::OnRuntimeSettingEvent( void DebugDumpReplayer::MaybeRecreateApm(const audioproc::Config& msg) { // These configurations cannot be changed on the fly. - Config config; RTC_CHECK(msg.has_aec_delay_agnostic_enabled()); RTC_CHECK(msg.has_aec_extended_filter_enabled()); // We only create APM once, since changes on these fields should not // happen in current implementation. if (!apm_.get()) { - apm_ = AudioProcessingBuilderForTesting().Create(config); + apm_ = AudioProcessingBuilderForTesting().Create(); } } diff --git a/modules/audio_processing/test/debug_dump_test.cc b/modules/audio_processing/test/debug_dump_test.cc index 6c02571a15..b7351609ec 100644 --- a/modules/audio_processing/test/debug_dump_test.cc +++ b/modules/audio_processing/test/debug_dump_test.cc @@ -47,13 +47,11 @@ class DebugDumpGenerator { const std::string& reverse_file_name, int reverse_rate_hz, int reverse_channels, - const Config& config, const std::string& dump_file_name, bool enable_pre_amplifier); // Constructor that uses default input files. - explicit DebugDumpGenerator(const Config& config, - const AudioProcessing::Config& apm_config); + explicit DebugDumpGenerator(const AudioProcessing::Config& apm_config); ~DebugDumpGenerator(); @@ -123,7 +121,6 @@ DebugDumpGenerator::DebugDumpGenerator(const std::string& input_file_name, const std::string& reverse_file_name, int reverse_rate_hz, int reverse_channels, - const Config& config, const std::string& dump_file_name, bool enable_pre_amplifier) : input_config_(input_rate_hz, input_channels), @@ -143,11 +140,10 @@ DebugDumpGenerator::DebugDumpGenerator(const std::string& input_file_name, worker_queue_("debug_dump_generator_worker_queue"), dump_file_name_(dump_file_name) { AudioProcessingBuilderForTesting apm_builder; - apm_ = apm_builder.Create(config); + apm_ = apm_builder.Create(); } DebugDumpGenerator::DebugDumpGenerator( - const Config& config, const AudioProcessing::Config& apm_config) : DebugDumpGenerator(ResourcePath("near32_stereo", "pcm"), 32000, @@ -155,7 +151,6 @@ DebugDumpGenerator::DebugDumpGenerator( ResourcePath("far32_stereo", "pcm"), 32000, 2, - config, TempFilename(OutputPath(), "debug_aec"), apm_config.pre_amplifier.enabled) { apm_->ApplyConfig(apm_config); @@ -290,8 +285,7 @@ void DebugDumpTest::VerifyDebugDump(const std::string& in_filename) { } TEST_F(DebugDumpTest, SimpleCase) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); generator.StopRecording(); @@ -299,8 +293,7 @@ TEST_F(DebugDumpTest, SimpleCase) { } TEST_F(DebugDumpTest, ChangeInputFormat) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); @@ -317,8 +310,7 @@ TEST_F(DebugDumpTest, ChangeInputFormat) { } TEST_F(DebugDumpTest, ChangeReverseFormat) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); generator.SetReverseRate(48000); @@ -329,8 +321,7 @@ TEST_F(DebugDumpTest, ChangeReverseFormat) { } TEST_F(DebugDumpTest, ChangeOutputFormat) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); generator.SetOutputRate(48000); @@ -341,10 +332,9 @@ TEST_F(DebugDumpTest, ChangeOutputFormat) { } TEST_F(DebugDumpTest, ToggleAec) { - Config config; AudioProcessing::Config apm_config; apm_config.echo_canceller.enabled = true; - DebugDumpGenerator generator(config, apm_config); + DebugDumpGenerator generator(apm_config); generator.StartRecording(); generator.Process(100); @@ -357,14 +347,13 @@ TEST_F(DebugDumpTest, ToggleAec) { } TEST_F(DebugDumpTest, VerifyCombinedExperimentalStringInclusive) { - Config config; AudioProcessing::Config apm_config; apm_config.echo_canceller.enabled = true; apm_config.gain_controller1.analog_gain_controller.enabled = true; apm_config.gain_controller1.analog_gain_controller.startup_min_volume = 0; // Arbitrarily set clipping gain to 17, which will never be the default. apm_config.gain_controller1.analog_gain_controller.clipped_level_min = 17; - DebugDumpGenerator generator(config, apm_config); + DebugDumpGenerator generator(apm_config); generator.StartRecording(); generator.Process(100); generator.StopRecording(); @@ -388,10 +377,9 @@ TEST_F(DebugDumpTest, VerifyCombinedExperimentalStringInclusive) { } TEST_F(DebugDumpTest, VerifyCombinedExperimentalStringExclusive) { - Config config; AudioProcessing::Config apm_config; apm_config.echo_canceller.enabled = true; - DebugDumpGenerator generator(config, apm_config); + DebugDumpGenerator generator(apm_config); generator.StartRecording(); generator.Process(100); generator.StopRecording(); @@ -414,10 +402,9 @@ TEST_F(DebugDumpTest, VerifyCombinedExperimentalStringExclusive) { } TEST_F(DebugDumpTest, VerifyAec3ExperimentalString) { - Config config; AudioProcessing::Config apm_config; apm_config.echo_canceller.enabled = true; - DebugDumpGenerator generator(config, apm_config); + DebugDumpGenerator generator(apm_config); generator.StartRecording(); generator.Process(100); generator.StopRecording(); @@ -439,13 +426,12 @@ TEST_F(DebugDumpTest, VerifyAec3ExperimentalString) { } TEST_F(DebugDumpTest, VerifyAgcClippingLevelExperimentalString) { - Config config; AudioProcessing::Config apm_config; apm_config.gain_controller1.analog_gain_controller.enabled = true; apm_config.gain_controller1.analog_gain_controller.startup_min_volume = 0; // Arbitrarily set clipping gain to 17, which will never be the default. apm_config.gain_controller1.analog_gain_controller.clipped_level_min = 17; - DebugDumpGenerator generator(config, apm_config); + DebugDumpGenerator generator(apm_config); generator.StartRecording(); generator.Process(100); generator.StopRecording(); @@ -467,8 +453,7 @@ TEST_F(DebugDumpTest, VerifyAgcClippingLevelExperimentalString) { } TEST_F(DebugDumpTest, VerifyEmptyExperimentalString) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); generator.StopRecording(); @@ -495,8 +480,7 @@ TEST_F(DebugDumpTest, VerifyEmptyExperimentalString) { #define MAYBE_ToggleAgc ToggleAgc #endif TEST_F(DebugDumpTest, MAYBE_ToggleAgc) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); @@ -510,8 +494,7 @@ TEST_F(DebugDumpTest, MAYBE_ToggleAgc) { } TEST_F(DebugDumpTest, ToggleNs) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); generator.StartRecording(); generator.Process(100); @@ -525,8 +508,7 @@ TEST_F(DebugDumpTest, ToggleNs) { } TEST_F(DebugDumpTest, TransientSuppressionOn) { - Config config; - DebugDumpGenerator generator(config, AudioProcessing::Config()); + DebugDumpGenerator generator(/*apm_config=*/{}); AudioProcessing::Config apm_config = generator.apm()->GetConfig(); apm_config.transient_suppression.enabled = true; @@ -539,10 +521,9 @@ TEST_F(DebugDumpTest, TransientSuppressionOn) { } TEST_F(DebugDumpTest, PreAmplifierIsOn) { - Config config; AudioProcessing::Config apm_config; apm_config.pre_amplifier.enabled = true; - DebugDumpGenerator generator(config, apm_config); + DebugDumpGenerator generator(apm_config); generator.StartRecording(); generator.Process(100); generator.StopRecording(); diff --git a/test/fuzzers/audio_processing_configs_fuzzer.cc b/test/fuzzers/audio_processing_configs_fuzzer.cc index fb7bde8f0f..cb2f7a8bf4 100644 --- a/test/fuzzers/audio_processing_configs_fuzzer.cc +++ b/test/fuzzers/audio_processing_configs_fuzzer.cc @@ -40,7 +40,7 @@ rtc::scoped_refptr CreateApm(test::FuzzDataHelper* fuzz_data, // Parse boolean values for optionally enabling different // configurable public components of APM. static_cast(fuzz_data->ReadOrDefaultValue(true)); - bool exp_ns = fuzz_data->ReadOrDefaultValue(true); + bool use_ts = fuzz_data->ReadOrDefaultValue(true); static_cast(fuzz_data->ReadOrDefaultValue(true)); static_cast(fuzz_data->ReadOrDefaultValue(true)); static_cast(fuzz_data->ReadOrDefaultValue(true)); @@ -96,21 +96,15 @@ rtc::scoped_refptr CreateApm(test::FuzzDataHelper* fuzz_data, return nullptr; } - // Components can be enabled through webrtc::Config and - // webrtc::AudioProcessingConfig. - Config config; - std::unique_ptr echo_control_factory; if (aec3) { echo_control_factory.reset(new EchoCanceller3Factory()); } - config.Set(new ExperimentalNs(exp_ns)); - rtc::scoped_refptr apm = AudioProcessingBuilderForTesting() .SetEchoControlFactory(std::move(echo_control_factory)) - .Create(config); + .Create(); #ifdef WEBRTC_LINUX apm->AttachAecDump(AecDumpFactory::Create("/dev/null", -1, worker_queue)); @@ -138,6 +132,7 @@ rtc::scoped_refptr CreateApm(test::FuzzDataHelper* fuzz_data, apm_config.gain_controller2.adaptive_digital.use_saturation_protector = use_agc2_adaptive_digital_saturation_protector; apm_config.noise_suppression.enabled = use_ns; + apm_config.transient_suppression.enabled = use_ts; apm_config.voice_detection.enabled = use_vad; apm_config.level_estimation.enabled = use_le; apm->ApplyConfig(apm_config);