APM: add field trial to disable `TransientSuppressor`
Regardless of the APM config, the transient suppressor (TS) submodule
won't be created if the `WebRTC-ApmTransientSuppressorKillSwitch`
field trial, disabled by default, is enabled.
Bug: webrtc:13663
Change-Id: Ic1ef9aa57c728296d671d4ef253630c581a86610
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286382
Reviewed-by: Hanna Silen <silen@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38839}
diff --git a/modules/audio_processing/audio_processing_impl.h b/modules/audio_processing/audio_processing_impl.h
index 9a30c8b..66e98dc 100644
--- a/modules/audio_processing/audio_processing_impl.h
+++ b/modules/audio_processing/audio_processing_impl.h
@@ -191,14 +191,19 @@
static std::atomic<int> instance_count_;
const bool use_setup_specific_default_aec3_config_;
- // TODO(bugs.webrtc.org/7494): Remove the the config when the field trial is
- // removed. "WebRTC-Audio-InputVolumeControllerExperiment" field trial
- // override for the input volume controller config.
+ // TODO(bugs.webrtc.org/7494): Remove when the linked field trial is removed.
+ // Override base on the "WebRTC-Audio-InputVolumeControllerExperiment" field
+ // trial for the AGC2 input volume controller configuration.
const absl::optional<InputVolumeController::Config>
input_volume_controller_config_override_;
const bool use_denormal_disabler_;
+ // When true, the transient suppressor submodule is never created regardless
+ // of the APM configuration.
+ // TODO(bugs.webrtc.org/13663): Remove when the linked field trial is removed.
+ const bool disallow_transient_supporessor_usage_;
+
const TransientSuppressor::VadMode transient_suppressor_vad_mode_;
SwapQueue<RuntimeSetting> capture_runtime_settings_;