Enable Echo Control at injection.
Echo Control is enabled in capture_nonlocked_ when injected.
Renamed echo_canceller3_enabled to echo_controller_enabled.
Bug: webrtc:8346
Change-Id: Icf441f07ce64719358841544da7579feeb7cfdbb
Reviewed-on: https://webrtc-review.googlesource.com/10808
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20311}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index e82223f..3db71c1 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -186,7 +186,7 @@
bool adaptive_gain_controller_enabled,
bool gain_controller2_enabled,
bool level_controller_enabled,
- bool echo_canceller3_enabled,
+ bool echo_controller_enabled,
bool voice_activity_detector_enabled,
bool level_estimator_enabled,
bool transient_suppressor_enabled) {
@@ -206,7 +206,7 @@
changed |=
(gain_controller2_enabled != gain_controller2_enabled_);
changed |= (level_controller_enabled != level_controller_enabled_);
- changed |= (echo_canceller3_enabled != echo_canceller3_enabled_);
+ changed |= (echo_controller_enabled != echo_controller_enabled_);
changed |= (level_estimator_enabled != level_estimator_enabled_);
changed |=
(voice_activity_detector_enabled != voice_activity_detector_enabled_);
@@ -222,7 +222,7 @@
adaptive_gain_controller_enabled_ = adaptive_gain_controller_enabled;
gain_controller2_enabled_ = gain_controller2_enabled;
level_controller_enabled_ = level_controller_enabled;
- echo_canceller3_enabled_ = echo_canceller3_enabled;
+ echo_controller_enabled_ = echo_controller_enabled;
level_estimator_enabled_ = level_estimator_enabled;
voice_activity_detector_enabled_ = voice_activity_detector_enabled;
transient_suppressor_enabled_ = transient_suppressor_enabled;
@@ -248,7 +248,7 @@
return low_cut_filter_enabled_ || echo_canceller_enabled_ ||
mobile_echo_controller_enabled_ || noise_suppressor_enabled_ ||
beamformer_enabled_ || adaptive_gain_controller_enabled_ ||
- echo_canceller3_enabled_;
+ echo_controller_enabled_;
}
bool AudioProcessingImpl::ApmSubmoduleStates::CaptureFullBandProcessingActive()
@@ -261,7 +261,7 @@
const {
return RenderMultiBandProcessingActive() || echo_canceller_enabled_ ||
mobile_echo_controller_enabled_ || adaptive_gain_controller_enabled_ ||
- echo_canceller3_enabled_;
+ echo_controller_enabled_;
}
bool AudioProcessingImpl::ApmSubmoduleStates::RenderMultiBandProcessingActive()
@@ -373,6 +373,10 @@
rtc::CritScope cs_render(&crit_render_);
rtc::CritScope cs_capture(&crit_capture_);
+ // Mark Echo Controller enabled if a factory is injected.
+ capture_nonlocked_.echo_controller_enabled =
+ static_cast<bool>(echo_control_factory_);
+
public_submodules_->echo_cancellation.reset(
new EchoCancellationImpl(&crit_render_, &crit_capture_));
public_submodules_->echo_control_mobile.reset(
@@ -690,13 +694,13 @@
// Inject EchoCanceller3 if requested.
if (config.echo_canceller3.enabled && !echo_control_factory_) {
- capture_nonlocked_.echo_canceller3_enabled =
+ capture_nonlocked_.echo_controller_enabled =
config_.echo_canceller3.enabled;
echo_control_factory_ = std::unique_ptr<EchoControlFactory>(
new EchoCanceller3Factory(config.echo_canceller3));
InitializeEchoController();
LOG(LS_INFO) << "Echo canceller 3 activated: "
- << capture_nonlocked_.echo_canceller3_enabled;
+ << capture_nonlocked_.echo_controller_enabled;
}
config_ok = GainController2::Validate(config_.gain_controller2);
@@ -773,7 +777,7 @@
size_t AudioProcessingImpl::num_proc_channels() const {
// Used as callback from submodules, hence locking is not allowed.
return (capture_nonlocked_.beamformer_enabled ||
- capture_nonlocked_.echo_canceller3_enabled)
+ capture_nonlocked_.echo_controller_enabled)
? 1
: num_output_channels();
}
@@ -1642,7 +1646,7 @@
public_submodules_->gain_control->is_enabled(),
config_.gain_controller2.enabled,
capture_nonlocked_.level_controller_enabled,
- capture_nonlocked_.echo_canceller3_enabled,
+ capture_nonlocked_.echo_controller_enabled,
public_submodules_->voice_detection->is_enabled(),
public_submodules_->level_estimator->is_enabled(),
capture_.transient_suppressor_enabled);
@@ -1809,8 +1813,8 @@
if (constants_.agc_clipped_level_min != kClippedLevelMin) {
experiments_description += "AgcClippingLevelExperiment;";
}
- if (capture_nonlocked_.echo_canceller3_enabled) {
- experiments_description += "EchoCanceller3;";
+ if (capture_nonlocked_.echo_controller_enabled) {
+ experiments_description += "EchoController;";
}
if (config_.gain_controller2.enabled) {
experiments_description += "GainController2;";