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_;