APM: Add field trial parameters and rename
Add AGC2 digital adaptive config parameters in the field trial
"WebRTC-Audio-InputVolumeControllerExperiment". Rename it as
"WebRTC-Audio-GainController2" to reflect that the override now adjusts
the parameters for both input volume controller and adaptive digital
controller.
Bug: webrtc:7494
Change-Id: Ifbc1b8be76cf23b0b6b74b22b5167a45972cab38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/286880
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38855}
diff --git a/modules/audio_processing/audio_processing_impl.h b/modules/audio_processing/audio_processing_impl.h
index 66e98dc..189ed03 100644
--- a/modules/audio_processing/audio_processing_impl.h
+++ b/modules/audio_processing/audio_processing_impl.h
@@ -138,6 +138,18 @@
AudioProcessing::Config GetConfig() const override;
+ // TODO(bugs.webrtc.org/7494): Remove when the related field trial is
+ // removed.
+ struct GainController2ConfigOverride {
+ InputVolumeController::Config input_volume_controller_config;
+ struct AdaptiveDigitalConfig {
+ float headroom_db;
+ float max_gain_db;
+ float max_gain_change_db_per_second;
+ float max_output_noise_level_dbfs;
+ } adaptive_digital_config;
+ };
+
protected:
// Overridden in a mock.
virtual void InitializeLocked()
@@ -161,7 +173,7 @@
FRIEND_TEST_ALL_PREFIXES(ApmWithSubmodulesExcludedTest,
BitexactWithDisabledModules);
FRIEND_TEST_ALL_PREFIXES(
- AudioProcessingImplInputVolumeControllerExperimentParametrizedTest,
+ AudioProcessingImplGainController2FieldTrialParametrizedTest,
ConfigAdjustedWhenExperimentEnabled);
void set_stream_analog_level_locked(int level)
@@ -192,10 +204,10 @@
const bool use_setup_specific_default_aec3_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_;
+ // Override based on the "WebRTC-Audio-GainController2" field trial for the
+ // AGC2 input volume controller and adaptive digital controller configuration.
+ const absl::optional<GainController2ConfigOverride>
+ gain_controller2_config_override_;
const bool use_denormal_disabler_;