Index: webrtc/modules/audio_processing/echo_cancellation_impl.cc |
diff --git a/webrtc/modules/audio_processing/echo_cancellation_impl.cc b/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
index 810ea8965542a146de325fc144376c98993dd6a0..592bb3643a39880728151a38beb86a32fc084303 100644 |
--- a/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
+++ b/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
@@ -114,6 +114,7 @@ EchoCancellationImpl::EchoCancellationImpl(rtc::CriticalSection* crit_render, |
extended_filter_enabled_(false), |
delay_agnostic_enabled_(false), |
aec3_enabled_(false), |
+ refined_adaptive_filter_enabled_(false), |
render_queue_element_max_size_(0) { |
RTC_DCHECK(crit_render); |
RTC_DCHECK(crit_capture); |
@@ -413,6 +414,11 @@ bool EchoCancellationImpl::is_aec3_enabled() const { |
return aec3_enabled_; |
} |
+bool EchoCancellationImpl::is_refined_adaptive_filter_enabled() const { |
+ rtc::CritScope cs(crit_capture_); |
+ return refined_adaptive_filter_enabled_; |
+} |
+ |
bool EchoCancellationImpl::is_extended_filter_enabled() const { |
rtc::CritScope cs(crit_capture_); |
return extended_filter_enabled_; |
@@ -529,6 +535,8 @@ void EchoCancellationImpl::SetExtraOptions(const Config& config) { |
rtc::CritScope cs(crit_capture_); |
extended_filter_enabled_ = config.Get<ExtendedFilter>().enabled; |
delay_agnostic_enabled_ = config.Get<DelayAgnostic>().enabled; |
+ refined_adaptive_filter_enabled_ = |
+ config.Get<RefinedAdaptiveFilter>().enabled; |
aec3_enabled_ = config.Get<EchoCanceller3>().enabled; |
} |
Configure(); |
@@ -551,6 +559,9 @@ int EchoCancellationImpl::Configure() { |
delay_agnostic_enabled_ ? 1 : 0); |
WebRtcAec_enable_aec3(WebRtcAec_aec_core(canceller->state()), |
aec3_enabled_ ? 1 : 0); |
+ WebRtcAec_enable_refined_adaptive_filter( |
+ WebRtcAec_aec_core(canceller->state()), |
+ refined_adaptive_filter_enabled_); |
const int handle_error = WebRtcAec_set_config(canceller->state(), config); |
if (handle_error != AudioProcessing::kNoError) { |
error = AudioProcessing::kNoError; |