aboutsummaryrefslogtreecommitdiff
path: root/modules/audio_processing/aec3/echo_canceller3.cc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/audio_processing/aec3/echo_canceller3.cc')
-rw-r--r--modules/audio_processing/aec3/echo_canceller3.cc22
1 files changed, 20 insertions, 2 deletions
diff --git a/modules/audio_processing/aec3/echo_canceller3.cc b/modules/audio_processing/aec3/echo_canceller3.cc
index 35a2cff7ea..181b649f6d 100644
--- a/modules/audio_processing/aec3/echo_canceller3.cc
+++ b/modules/audio_processing/aec3/echo_canceller3.cc
@@ -49,7 +49,11 @@ void RetrieveFieldTrialValue(const char* trial_name,
ParseFieldTrial({&field_trial_param}, field_trial_str);
float field_trial_value = static_cast<float>(field_trial_param.Get());
- if (field_trial_value >= min && field_trial_value <= max) {
+ if (field_trial_value >= min && field_trial_value <= max &&
+ field_trial_value != *value_to_update) {
+ RTC_LOG(LS_INFO) << "Key " << trial_name
+ << " changing AEC3 parameter value from "
+ << *value_to_update << " to " << field_trial_value;
*value_to_update = field_trial_value;
}
}
@@ -65,7 +69,11 @@ void RetrieveFieldTrialValue(const char* trial_name,
ParseFieldTrial({&field_trial_param}, field_trial_str);
float field_trial_value = field_trial_param.Get();
- if (field_trial_value >= min && field_trial_value <= max) {
+ if (field_trial_value >= min && field_trial_value <= max &&
+ field_trial_value != *value_to_update) {
+ RTC_LOG(LS_INFO) << "Key " << trial_name
+ << " changing AEC3 parameter value from "
+ << *value_to_update << " to " << field_trial_value;
*value_to_update = field_trial_value;
}
}
@@ -572,6 +580,12 @@ EchoCanceller3Config AdjustConfig(const EchoCanceller3Config& config) {
RetrieveFieldTrialValue("WebRTC-Aec3SuppressorEpStrengthDefaultLenOverride",
-1.f, 1.f, &adjusted_cfg.ep_strength.default_len);
+ // Field trial-based overrides of individual delay estimator parameters.
+ RetrieveFieldTrialValue("WebRTC-Aec3DelayEstimateSmoothingOverride", 0.f, 1.f,
+ &adjusted_cfg.delay.delay_estimate_smoothing);
+ RetrieveFieldTrialValue(
+ "WebRTC-Aec3DelayEstimateSmoothingDelayFoundOverride", 0.f, 1.f,
+ &adjusted_cfg.delay.delay_estimate_smoothing_delay_found);
return adjusted_cfg;
}
@@ -731,6 +745,10 @@ EchoCanceller3::EchoCanceller3(const EchoCanceller3Config& config,
std::vector<std::vector<rtc::ArrayView<float>>>(
1, std::vector<rtc::ArrayView<float>>(num_capture_channels_));
}
+
+ RTC_LOG(LS_INFO) << "AEC3 created with sample rate: " << sample_rate_hz_
+ << " Hz, num render channels: " << num_render_channels_
+ << ", num capture channels: " << num_capture_channels_;
}
EchoCanceller3::~EchoCanceller3() = default;