`ExperimentalNs` removed + APM not depending anymore on `webrtc::Config`
Thanks to the elimination of `ExperimentalNs`, there is no need anymore
to pass `webrtc::Config` to build APM.
Hence, `AudioProcessingBuilder::Create(const webrtc::Config&)` is also
removed.
Bug: webrtc:5298
Change-Id: I0a3482376a7753434486fe564681f7b9f83939c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232128
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35025}
diff --git a/media/engine/webrtc_voice_engine.cc b/media/engine/webrtc_voice_engine.cc
index da5f594..f1ebaf39 100644
--- a/media/engine/webrtc_voice_engine.cc
+++ b/media/engine/webrtc_voice_engine.cc
@@ -587,14 +587,15 @@
if (options.experimental_ns) {
experimental_ns_ = options.experimental_ns;
}
- if (experimental_ns_) {
- RTC_LOG(LS_INFO) << "Experimental ns is enabled? " << *experimental_ns_;
- config.Set<webrtc::ExperimentalNs>(
- 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 6d5b987..1e96901 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 @@
namespace {
rtc::scoped_refptr<webrtc::AudioProcessing> CreateAudioProcessing() {
- webrtc::Config config;
rtc::scoped_refptr<webrtc::AudioProcessing> 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 a6b7d5f..40be2a5 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;
rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilder::Create() {
- webrtc::Config config;
- return Create(config);
-}
-
-rtc::scoped_refptr<AudioProcessing> 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<AudioProcessingImpl>(
- 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 9b149311..1668539 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -234,9 +234,8 @@
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 @@
int AudioProcessingImpl::instance_count_ = 0;
AudioProcessingImpl::AudioProcessingImpl(
- const webrtc::Config& config,
std::unique_ptr<CustomProcessing> capture_post_processor,
std::unique_ptr<CustomProcessing> render_pre_processor,
std::unique_ptr<EchoControlFactory> echo_control_factory,
@@ -300,12 +298,6 @@
submodules_.echo_detector = rtc::make_ref_counted<ResidualEchoDetector>();
}
-#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<ExperimentalNs>().enabled;
-#endif
-
Initialize();
}
diff --git a/modules/audio_processing/audio_processing_impl.h b/modules/audio_processing/audio_processing_impl.h
index 27abbd4..7c54173 100644
--- a/modules/audio_processing/audio_processing_impl.h
+++ b/modules/audio_processing/audio_processing_impl.h
@@ -55,10 +55,9 @@
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<CustomProcessing> capture_post_processor,
+ AudioProcessingImpl(std::unique_ptr<CustomProcessing> capture_post_processor,
std::unique_ptr<CustomProcessing> render_pre_processor,
std::unique_ptr<EchoControlFactory> echo_control_factory,
rtc::scoped_refptr<EchoDetector> echo_detector,
diff --git a/modules/audio_processing/audio_processing_impl_unittest.cc b/modules/audio_processing/audio_processing_impl_unittest.cc
index c68ce41..5354f54 100644
--- a/modules/audio_processing/audio_processing_impl_unittest.cc
+++ b/modules/audio_processing/audio_processing_impl_unittest.cc
@@ -35,8 +35,7 @@
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 @@
} // 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 @@
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 @@
// 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 @@
// 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<AudioProcessingImpl>(webrtc::Config());
+ auto apm = rtc::make_ref_counted<AudioProcessingImpl>();
ASSERT_EQ(apm->Initialize(), AudioProcessing::kNoError);
ApmSubmoduleCreationOverrides overrides;
@@ -653,7 +651,7 @@
// 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<AudioProcessingImpl>(webrtc::Config());
+ auto apm = rtc::make_ref_counted<AudioProcessingImpl>();
ASSERT_EQ(apm->Initialize(), kNoErr);
ApmSubmoduleCreationOverrides overrides;
@@ -714,7 +712,7 @@
// 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<AudioProcessingImpl>(webrtc::Config());
+ auto apm = rtc::make_ref_counted<AudioProcessingImpl>();
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 b79acc7..ed6a238 100644
--- a/modules/audio_processing/audio_processing_performance_unittest.cc
+++ b/modules/audio_processing/audio_processing_performance_unittest.cc
@@ -482,8 +482,7 @@
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 @@
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 5af8aa9..e763b78 100644
--- a/modules/audio_processing/audio_processing_unittest.cc
+++ b/modules/audio_processing/audio_processing_unittest.cc
@@ -2673,14 +2673,13 @@
TEST(ApmConfiguration, EchoControlInjection) {
// Verify that apm uses an injected echo controller if one is provided.
- webrtc::Config webrtc_config;
std::unique_ptr<EchoControlFactory> echo_control_factory(
new MyEchoControlFactory());
rtc::scoped_refptr<AudioProcessing> apm =
AudioProcessingBuilderForTesting()
.SetEchoControlFactory(std::move(echo_control_factory))
- .Create(webrtc_config);
+ .Create();
Int16FrameData audio;
audio.num_channels = 1;
@@ -2700,9 +2699,8 @@
}
rtc::scoped_refptr<AudioProcessing> CreateApm(bool mobile_aec) {
- Config old_config;
rtc::scoped_refptr<AudioProcessing> 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 a752e91..54ca996 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -65,19 +65,6 @@
#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 @@
// This creates an APM instance using the previously set components. Calling
// the Create function resets the AudioProcessingBuilder to its initial state.
rtc::scoped_refptr<AudioProcessing> Create();
- rtc::scoped_refptr<AudioProcessing> Create(const webrtc::Config& config);
private:
std::unique_ptr<EchoControlFactory> 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 05c3d3e..adf0c5d 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 @@
#ifdef WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE
rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilderForTesting::Create() {
- webrtc::Config config;
- return Create(config);
-}
-
-rtc::scoped_refptr<AudioProcessing> AudioProcessingBuilderForTesting::Create(
- const webrtc::Config& config) {
return rtc::make_ref_counted<AudioProcessingImpl>(
- 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 @@
return builder.Create();
}
-rtc::scoped_refptr<AudioProcessing> 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 ba0f7b1..2d21248 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 @@
// the Create function resets the AudioProcessingBuilderForTesting to its
// initial state.
rtc::scoped_refptr<AudioProcessing> Create();
- rtc::scoped_refptr<AudioProcessing> 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 b202469..cab6966 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::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 6c02571..b735160 100644
--- a/modules/audio_processing/test/debug_dump_test.cc
+++ b/modules/audio_processing/test/debug_dump_test.cc
@@ -47,13 +47,11 @@
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 @@
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 @@
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 @@
ResourcePath("far32_stereo", "pcm"),
32000,
2,
- config,
TempFilename(OutputPath(), "debug_aec"),
apm_config.pre_amplifier.enabled) {
apm_->ApplyConfig(apm_config);
@@ -290,8 +285,7 @@
}
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, ChangeInputFormat) {
- Config config;
- DebugDumpGenerator generator(config, AudioProcessing::Config());
+ DebugDumpGenerator generator(/*apm_config=*/{});
generator.StartRecording();
generator.Process(100);
@@ -317,8 +310,7 @@
}
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, 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, 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, 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, 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, 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, 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, VerifyEmptyExperimentalString) {
- Config config;
- DebugDumpGenerator generator(config, AudioProcessing::Config());
+ DebugDumpGenerator generator(/*apm_config=*/{});
generator.StartRecording();
generator.Process(100);
generator.StopRecording();
@@ -495,8 +480,7 @@
#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, ToggleNs) {
- Config config;
- DebugDumpGenerator generator(config, AudioProcessing::Config());
+ DebugDumpGenerator generator(/*apm_config=*/{});
generator.StartRecording();
generator.Process(100);
@@ -525,8 +508,7 @@
}
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, 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 fb7bde8..cb2f7a8 100644
--- a/test/fuzzers/audio_processing_configs_fuzzer.cc
+++ b/test/fuzzers/audio_processing_configs_fuzzer.cc
@@ -40,7 +40,7 @@
// Parse boolean values for optionally enabling different
// configurable public components of APM.
static_cast<void>(fuzz_data->ReadOrDefaultValue(true));
- bool exp_ns = fuzz_data->ReadOrDefaultValue(true);
+ bool use_ts = fuzz_data->ReadOrDefaultValue(true);
static_cast<void>(fuzz_data->ReadOrDefaultValue(true));
static_cast<void>(fuzz_data->ReadOrDefaultValue(true));
static_cast<void>(fuzz_data->ReadOrDefaultValue(true));
@@ -96,21 +96,15 @@
return nullptr;
}
- // Components can be enabled through webrtc::Config and
- // webrtc::AudioProcessingConfig.
- Config config;
-
std::unique_ptr<EchoControlFactory> echo_control_factory;
if (aec3) {
echo_control_factory.reset(new EchoCanceller3Factory());
}
- config.Set<ExperimentalNs>(new ExperimentalNs(exp_ns));
-
rtc::scoped_refptr<AudioProcessing> 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 @@
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);