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/include/audio_processing.h b/webrtc/modules/audio_processing/include/audio_processing.h
index d03c7f4..d1a711d 100644
--- a/webrtc/modules/audio_processing/include/audio_processing.h
+++ b/webrtc/modules/audio_processing/include/audio_processing.h
@@ -68,17 +68,6 @@
bool enabled;
};
-// Enables the next generation AEC functionality. This feature replaces the
-// standard methods for echo removal in the AEC. This configuration only applies
-// to EchoCancellation and not EchoControlMobile. It can be set in the
-// constructor or using AudioProcessing::SetExtraOptions().
-struct EchoCanceller3 {
- EchoCanceller3() : enabled(false) {}
- explicit EchoCanceller3(bool enabled) : enabled(enabled) {}
- static const ConfigOptionID identifier = ConfigOptionID::kEchoCanceller3;
- bool enabled;
-};
-
// Enables the refined linear filter adaptation in the echo canceller.
// This configuration only applies to EchoCancellation and not
// EchoControlMobile. It can be set in the constructor
@@ -274,6 +263,14 @@
struct HighPassFilter {
bool enabled = false;
} high_pass_filter;
+
+ // Enables the next generation AEC functionality. This feature replaces the
+ // standard methods for echo removal in the AEC.
+ // The functionality is not yet activated in the code and turning this on
+ // does not yet have the desired behavior.
+ struct EchoCanceller3 {
+ bool enabled = false;
+ } echo_canceller3;
};
// TODO(mgraczyk): Remove once all methods that use ChannelLayout are gone.