Index: webrtc/modules/audio_processing/audio_processing_impl.cc |
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc |
index 10ce88a9bff819841c5bd65738b5e9e4c4055fe8..dbc04b7cf34f5fedf29b613139ba93a5b8c281fe 100644 |
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc |
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc |
@@ -85,7 +85,7 @@ |
echo_control_mobile(nullptr), |
gain_control(nullptr) {} |
// Accessed externally of APM without any lock acquired. |
- std::unique_ptr<EchoCancellationImpl> echo_cancellation; |
+ EchoCancellationImpl* echo_cancellation; |
EchoControlMobileImpl* echo_control_mobile; |
GainControlImpl* gain_control; |
std::unique_ptr<HighPassFilterImpl> high_pass_filter; |
@@ -168,8 +168,8 @@ |
rtc::CritScope cs_render(&crit_render_); |
rtc::CritScope cs_capture(&crit_capture_); |
- public_submodules_->echo_cancellation.reset( |
- new EchoCancellationImpl(this, &crit_render_, &crit_capture_)); |
+ public_submodules_->echo_cancellation = |
+ new EchoCancellationImpl(this, &crit_render_, &crit_capture_); |
public_submodules_->echo_control_mobile = |
new EchoControlMobileImpl(this, &crit_render_, &crit_capture_); |
public_submodules_->gain_control = |
@@ -185,6 +185,9 @@ |
public_submodules_->gain_control_for_experimental_agc.reset( |
new GainControlForExperimentalAgc(public_submodules_->gain_control, |
&crit_capture_)); |
+ |
+ private_submodules_->component_list.push_back( |
+ public_submodules_->echo_cancellation); |
private_submodules_->component_list.push_back( |
public_submodules_->echo_control_mobile); |
private_submodules_->component_list.push_back( |
@@ -319,7 +322,6 @@ |
} |
} |
- InitializeEchoCanceller(); |
InitializeExperimentalAgc(); |
InitializeTransient(); |
InitializeBeamformer(); |
@@ -420,8 +422,6 @@ |
for (auto item : private_submodules_->component_list) { |
item->SetExtraOptions(config); |
} |
- |
- public_submodules_->echo_cancellation->SetExtraOptions(config); |
if (capture_.transient_suppressor_enabled != |
config.Get<ExperimentalNs>().enabled) { |
@@ -1087,7 +1087,7 @@ |
EchoCancellation* AudioProcessingImpl::echo_cancellation() const { |
// Adding a lock here has no effect as it allows any access to the submodule |
// from the returned pointer. |
- return public_submodules_->echo_cancellation.get(); |
+ return public_submodules_->echo_cancellation; |
} |
EchoControlMobile* AudioProcessingImpl::echo_control_mobile() const { |
@@ -1134,8 +1134,7 @@ |
// modify the data. |
if (capture_nonlocked_.beamformer_enabled || |
public_submodules_->high_pass_filter->is_enabled() || |
- public_submodules_->noise_suppression->is_enabled() || |
- public_submodules_->echo_cancellation->is_enabled()) { |
+ public_submodules_->noise_suppression->is_enabled()) { |
return true; |
} |
@@ -1248,10 +1247,6 @@ |
void AudioProcessingImpl::InitializeNoiseSuppression() { |
public_submodules_->noise_suppression->Initialize(num_proc_channels(), |
proc_sample_rate_hz()); |
-} |
- |
-void AudioProcessingImpl::InitializeEchoCanceller() { |
- public_submodules_->echo_cancellation->Initialize(); |
} |
void AudioProcessingImpl::InitializeLevelEstimator() { |