AGC2 dummy module: fixed gain param, APM integration, audioproc_f adaptation

In preparation of coming CLs that will add an AGC interface to make the
gain controller injectable.

This CL simplifies AGC2 (dummy sub-module of audioproc_f) since it only
implements the fixed digital mode with hard-clipping - i.e., no limiter
is used.
The AGC2 config now includes the fixed gain to apply and audioproc_f
has been adapted accordingly.
Finally, this CL slightly simplifies the AGC2 integration into APM.

This CL is a continuation of https://codereview.webrtc.org/2995043002/

Bug: webrtc:7494
Change-Id: I3d554ea4dc6208928352059feb14987edabf14c7
Reviewed-on: https://webrtc-review.googlesource.com/4661
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20278}
diff --git a/modules/audio_processing/agc2/gain_controller2.h b/modules/audio_processing/agc2/gain_controller2.h
index 9ab8656..1170687 100644
--- a/modules/audio_processing/agc2/gain_controller2.h
+++ b/modules/audio_processing/agc2/gain_controller2.h
@@ -14,7 +14,6 @@
 #include <memory>
 #include <string>
 
-#include "modules/audio_processing/agc2/digital_gain_applier.h"
 #include "modules/audio_processing/include/audio_processing.h"
 #include "rtc_base/constructormagic.h"
 
@@ -26,28 +25,26 @@
 // Gain Controller 2 aims to automatically adjust levels by acting on the
 // microphone gain and/or applying digital gain.
 //
-// It temporarily implements a hard-coded gain mode only.
+// Temporarily implements a fixed gain mode with hard-clipping.
 class GainController2 {
  public:
-  explicit GainController2(int sample_rate_hz);
+  GainController2();
   ~GainController2();
 
-  int sample_rate_hz() { return sample_rate_hz_; }
-
+  void Initialize(int sample_rate_hz);
   void Process(AudioBuffer* audio);
 
+  void ApplyConfig(const AudioProcessing::Config::GainController2& config);
   static bool Validate(const AudioProcessing::Config::GainController2& config);
   static std::string ToString(
       const AudioProcessing::Config::GainController2& config);
 
  private:
-  int sample_rate_hz_;
-  std::unique_ptr<ApmDataDumper> data_dumper_;
-  DigitalGainApplier digital_gain_applier_;
   static int instance_count_;
-  // TODO(alessiob): Remove once a meaningful gain controller mode is
-  // implemented.
-  const float gain_;
+  std::unique_ptr<ApmDataDumper> data_dumper_;
+  int sample_rate_hz_;
+  float fixed_gain_;
+
   RTC_DISALLOW_COPY_AND_ASSIGN(GainController2);
 };