Remove echo suppression in transparent mode

This change completely disables the use of suppression
when operating in transparent mode.

It also removes the following field trials:
* WebRTC-Aec3UseLowEarlyReflectionsTransparentModeGain
* WebRTC-Aec3UseLowLateReflectionsTransparentModeGain

Bug: webrtc:11985
Change-Id: I1c75efdad2d9c9d0a1aced86bf0278fc96616ea1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185402
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32223}
This commit is contained in:
Gustaf Ullberg 2020-09-29 09:52:18 +02:00 committed by Commit Bot
parent b3b45d43a3
commit 46be80d349

View file

@ -23,57 +23,32 @@
namespace webrtc {
namespace {
bool UseLowEarlyReflectionsTransparentModeGain() {
return field_trial::IsEnabled(
"WebRTC-Aec3UseLowEarlyReflectionsTransparentModeGain");
}
bool UseLowLateReflectionsTransparentModeGain() {
return field_trial::IsEnabled(
"WebRTC-Aec3UseLowLateReflectionsTransparentModeGain");
}
bool UseLowEarlyReflectionsDefaultGain() {
return field_trial::IsEnabled("WebRTC-Aec3UseLowEarlyReflectionsDefaultGain");
}
bool UseLowLateReflectionsDefaultGain() {
return field_trial::IsEnabled("WebRTC-Aec3UseLowLateReflectionsDefaultGain");
}
bool ModelReverbInNonlinearMode() {
return !field_trial::IsEnabled("WebRTC-Aec3rNonlinearModeReverbKillSwitch");
return !field_trial::IsEnabled("WebRTC-Aec3NonlinearModeReverbKillSwitch");
}
constexpr float kDefaultTransparentModeGain = 0.01f;
constexpr float kDefaultTransparentModeGain = 0.f;
float GetEarlyReflectionsTransparentModeGain() {
if (UseLowEarlyReflectionsTransparentModeGain()) {
return 0.001f;
float GetTransparentModeGain() {
if (field_trial::IsEnabled(
"WebRTC-Aec3NoSuppressionInTransparentModeKillSwitch")) {
return 0.01f;
} else {
return kDefaultTransparentModeGain;
}
return kDefaultTransparentModeGain;
}
float GetLateReflectionsTransparentModeGain() {
if (UseLowLateReflectionsTransparentModeGain()) {
return 0.001f;
}
return kDefaultTransparentModeGain;
}
float GetEarlyReflectionsDefaultModeGain(
const EchoCanceller3Config::EpStrength& config) {
if (UseLowEarlyReflectionsDefaultGain()) {
if (field_trial::IsEnabled("WebRTC-Aec3UseLowEarlyReflectionsDefaultGain")) {
return 0.1f;
}
return config.default_gain;
}
float GetLateReflectionsDefaultModeGain(
const EchoCanceller3Config::EpStrength& config) {
if (UseLowLateReflectionsDefaultGain()) {
if (field_trial::IsEnabled("WebRTC-Aec3UseLowLateReflectionsDefaultGain")) {
return 0.1f;
}
return config.default_gain;
@ -201,10 +176,8 @@ ResidualEchoEstimator::ResidualEchoEstimator(const EchoCanceller3Config& config,
size_t num_render_channels)
: config_(config),
num_render_channels_(num_render_channels),
early_reflections_transparent_mode_gain_(
GetEarlyReflectionsTransparentModeGain()),
late_reflections_transparent_mode_gain_(
GetLateReflectionsTransparentModeGain()),
early_reflections_transparent_mode_gain_(GetTransparentModeGain()),
late_reflections_transparent_mode_gain_(GetTransparentModeGain()),
early_reflections_general_gain_(
GetEarlyReflectionsDefaultModeGain(config_.ep_strength)),
late_reflections_general_gain_(