From 46537a3879755d29c2c4dde65c6a713c8cca8df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Wed, 7 Jun 2017 10:08:10 +0200 Subject: [PATCH] Avoiding cascaded software echo cancellers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL ensures that it is not possible to run several echo canceller solutions in cascade inside the audio processing module. Bug: webrtc:7776 Change-Id: I1777f97aeacb8cdf5c6c3be4bf13eefcde7d69fb Reviewed-on: https://chromium-review.googlesource.com/527053 Reviewed-by: Alex Loiko Commit-Queue: Per Ã…hgren Cr-Commit-Position: refs/heads/master@{#18505} --- webrtc/modules/audio_processing/audio_processing_impl.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc index a96f8ff8ab..922997e5c7 100644 --- a/webrtc/modules/audio_processing/audio_processing_impl.cc +++ b/webrtc/modules/audio_processing/audio_processing_impl.cc @@ -1310,9 +1310,11 @@ int AudioProcessingImpl::ProcessCaptureStreamLocked() { return AudioProcessing::kStreamParameterNotSetError; } - RETURN_ON_ERR(public_submodules_->echo_control_mobile->ProcessCaptureAudio( - capture_buffer, stream_delay_ms())); - + if (!(private_submodules_->echo_canceller3 || + public_submodules_->echo_cancellation->is_enabled())) { + RETURN_ON_ERR(public_submodules_->echo_control_mobile->ProcessCaptureAudio( + capture_buffer, stream_delay_ms())); + } if (capture_nonlocked_.beamformer_enabled) { private_submodules_->beamformer->PostFilter(capture_buffer->split_data_f());