Make GetConfig() part of the AudioProcessing interface

BUG=chromium:708475
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng

Review-Url: https://codereview.webrtc.org/2802603003
Cr-Commit-Position: refs/heads/master@{#17540}
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
index 01b640f..7993149 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
@@ -134,9 +134,9 @@
   NoiseSuppression* noise_suppression() const override;
   VoiceDetection* voice_detection() const override;
 
-  // TODO(peah): Remove these two methods once the new API allows that.
+  // TODO(peah): Remove MutateConfig once the new API allows that.
   void MutateConfig(rtc::FunctionView<void(AudioProcessing::Config*)> mutator);
-  AudioProcessing::Config GetConfig() const;
+  AudioProcessing::Config GetConfig() const override;
 
  protected:
   // Overridden in a mock.
diff --git a/webrtc/modules/audio_processing/include/audio_processing.cc b/webrtc/modules/audio_processing/include/audio_processing.cc
index 43b2c27..312d0cb 100644
--- a/webrtc/modules/audio_processing/include/audio_processing.cc
+++ b/webrtc/modules/audio_processing/include/audio_processing.cc
@@ -31,5 +31,8 @@
 
 Beamforming::~Beamforming() {}
 
+AudioProcessing::Config AudioProcessing::GetConfig() const {
+  return AudioProcessing::Config();
+}
 
 }  // namespace webrtc
diff --git a/webrtc/modules/audio_processing/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h
index ab924b7..99e4b69 100644
--- a/webrtc/modules/audio_processing/include/audio_processing.h
+++ b/webrtc/modules/audio_processing/include/audio_processing.h
@@ -559,6 +559,11 @@
   virtual NoiseSuppression* noise_suppression() const = 0;
   virtual VoiceDetection* voice_detection() const = 0;
 
+  // Returns the last applied configuration.
+  // TODO(henrik.lundin) Make this method pure virtual when downstream
+  // dependencies have been fixed.
+  virtual AudioProcessing::Config GetConfig() const;
+
   enum Error {
     // Fatal errors.
     kNoError = 0,
diff --git a/webrtc/modules/audio_processing/include/mock_audio_processing.h b/webrtc/modules/audio_processing/include/mock_audio_processing.h
index b5a1fa4..4bda0bd 100644
--- a/webrtc/modules/audio_processing/include/mock_audio_processing.h
+++ b/webrtc/modules/audio_processing/include/mock_audio_processing.h
@@ -206,6 +206,8 @@
     return voice_detection_.get();
   }
 
+  MOCK_CONST_METHOD0(GetConfig, AudioProcessing::Config());
+
  private:
   std::unique_ptr<MockEchoCancellation> echo_cancellation_;
   std::unique_ptr<MockEchoControlMobile> echo_control_mobile_;