Ensure that AEC3 is not run in tandem with AEC2
AEC3 and AEC2 are separate submodules in APM. This CL ensures that AEC3
deactivates AEC2 if both are active at the same time.
BUG=webrtc:6018
Review-Url: https://codereview.webrtc.org/2675863004
Cr-Commit-Position: refs/heads/master@{#16443}
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index c253775..14d6a26 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -1187,11 +1187,11 @@
if (private_submodules_->echo_canceller3) {
private_submodules_->echo_canceller3->ProcessCapture(capture_buffer, false);
+ } else {
+ RETURN_ON_ERR(public_submodules_->echo_cancellation->ProcessCaptureAudio(
+ capture_buffer, stream_delay_ms()));
}
- RETURN_ON_ERR(public_submodules_->echo_cancellation->ProcessCaptureAudio(
- capture_buffer, stream_delay_ms()));
-
if (public_submodules_->echo_control_mobile->is_enabled() &&
public_submodules_->noise_suppression->is_enabled()) {
capture_buffer->CopyLowPassToReference();