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 e1e093f9cc3aeddbc3ee0ddfecdc687a1b2d654a..96879c4cd5423e43e6ff5a09c027c67e66e8d4a3 100644 |
--- a/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
+++ b/webrtc/modules/audio_processing/echo_cancellation_impl.cc |
@@ -58,11 +58,14 @@ AudioProcessing::Error MapError(int err) { |
const size_t EchoCancellationImpl::kAllowedValuesOfSamplesPerFrame1; |
const size_t EchoCancellationImpl::kAllowedValuesOfSamplesPerFrame2; |
-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), |
@@ -79,6 +82,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; |
} |
@@ -438,7 +442,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); |