mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
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:
parent
b3b45d43a3
commit
46be80d349
1 changed files with 12 additions and 39 deletions
|
@ -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_(
|
||||
|
|
Loading…
Reference in a new issue