This CL adds the basic framework for AEC3 in the audio processing module.
It will be followed by a number of other CLs that extends this framework.
BUG=webrtc:6018
Review-Url: https://codereview.webrtc.org/2567513003
Cr-Commit-Position: refs/heads/master@{#15593}
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
index 0375a25..ae4d89b 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
@@ -168,6 +168,7 @@
bool beamformer_enabled,
bool adaptive_gain_controller_enabled,
bool level_controller_enabled,
+ bool echo_canceller3_enabled,
bool voice_activity_detector_enabled,
bool level_estimator_enabled,
bool transient_suppressor_enabled);
@@ -186,6 +187,7 @@
bool beamformer_enabled_ = false;
bool adaptive_gain_controller_enabled_ = false;
bool level_controller_enabled_ = false;
+ bool echo_canceller3_enabled_ = false;
bool level_estimator_enabled_ = false;
bool voice_activity_detector_enabled_ = false;
bool transient_suppressor_enabled_ = false;
@@ -251,6 +253,7 @@
void InitializeResidualEchoDetector()
EXCLUSIVE_LOCKS_REQUIRED(crit_render_, crit_capture_);
void InitializeLowCutFilter() EXCLUSIVE_LOCKS_REQUIRED(crit_capture_);
+ void InitializeEchoCanceller3() EXCLUSIVE_LOCKS_REQUIRED(crit_capture_);
void EmptyQueuedRenderAudio();
void AllocateRenderQueue()
@@ -382,6 +385,7 @@
bool beamformer_enabled;
bool intelligibility_enabled;
bool level_controller_enabled = false;
+ bool echo_canceller3_enabled = false;
} capture_nonlocked_;
struct ApmRenderState {