Move EchoControl out of audio_processing.h.

Bug: webrtc:8844
Change-Id: Id05c285e0e377774c79da8552959733f823d8bb4
Reviewed-on: https://webrtc-review.googlesource.com/47900
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21898}
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index 5185a1f..2f4cdb5 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -26,6 +26,7 @@
 #include "modules/audio_processing/beamformer/array_util.h"
 #include "modules/audio_processing/include/audio_processing_statistics.h"
 #include "modules/audio_processing/include/config.h"
+#include "modules/audio_processing/include/echo_control.h"
 #include "rtc_base/arraysize.h"
 #include "rtc_base/deprecation.h"
 #include "rtc_base/platform_file.h"
@@ -48,7 +49,6 @@
 
 class EchoCancellation;
 class EchoControlMobile;
-class EchoControlFactory;
 class EchoDetector;
 class GainControl;
 class HighPassFilter;
@@ -913,37 +913,6 @@
   virtual ~EchoControlMobile() {}
 };
 
-// Interface for an acoustic echo cancellation (AEC) submodule.
-class EchoControl {
- public:
-  // Analysis (not changing) of the render signal.
-  virtual void AnalyzeRender(AudioBuffer* render) = 0;
-
-  // Analysis (not changing) of the capture signal.
-  virtual void AnalyzeCapture(AudioBuffer* capture) = 0;
-
-  // Processes the capture signal in order to remove the echo.
-  virtual void ProcessCapture(AudioBuffer* capture, bool echo_path_change) = 0;
-
-  struct Metrics {
-    double echo_return_loss;
-    double echo_return_loss_enhancement;
-    int delay_ms;
-  };
-
-  // Collect current metrics from the echo controller.
-  virtual Metrics GetMetrics() const = 0;
-
-  virtual ~EchoControl() {}
-};
-
-// Interface for a factory that creates EchoControllers.
-class EchoControlFactory {
- public:
-  virtual std::unique_ptr<EchoControl> Create(int sample_rate_hz) = 0;
-  virtual ~EchoControlFactory() = default;
-};
-
 // The automatic gain control (AGC) component brings the signal to an
 // appropriate range. This is done by applying a digital gain directly and, in
 // the analog mode, prescribing an analog gain to be applied at the audio HAL.