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 14d1fc8e196c7e03f688104ad5f65586d9a4826e..e75930ef76c9c2fa919fb5661ca17615929d25d2 100644 |
--- a/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
+++ b/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
@@ -62,11 +62,14 @@ static const size_t kMaxAllowedValuesOfSamplesPerFrame = 160; |
static const size_t kMaxNumFramesToBuffer = 100; |
} // namespace |
-EchoCancellationImpl::EchoCancellationImpl(const AudioProcessing* apm, |
- CriticalSectionWrapper* crit) |
+EchoCancellationImpl::EchoCancellationImpl( |
+ const AudioProcessing* apm, |
+ CriticalSectionWrapper* crit, |
+ const rtc::ThreadChecker* render_thread_checker) |
: ProcessingComponent(), |
apm_(apm), |
crit_(crit), |
+ render_thread_checker_(render_thread_checker), |
drift_compensation_enabled_(false), |
metrics_enabled_(false), |
suppression_level_(kModerateSuppression), |
@@ -81,6 +84,7 @@ EchoCancellationImpl::EchoCancellationImpl(const AudioProcessing* apm, |
EchoCancellationImpl::~EchoCancellationImpl() {} |
int EchoCancellationImpl::ProcessRenderAudio(const AudioBuffer* audio) { |
+ RTC_DCHECK(render_thread_checker_->CalledOnValidThread()); |
if (!is_component_enabled()) { |
return apm_->kNoError; |
} |
@@ -441,7 +445,6 @@ int EchoCancellationImpl::ConfigureHandle(void* handle) const { |
config.nlpMode = MapSetting(suppression_level_); |
config.skewMode = drift_compensation_enabled_; |
config.delay_logging = delay_logging_enabled_; |
- |
WebRtcAec_enable_extended_filter( |
WebRtcAec_aec_core(static_cast<Handle*>(handle)), |
extended_filter_enabled_ ? 1 : 0); |