| Index: webrtc/modules/audio_processing/aec3/suppression_gain.cc
|
| diff --git a/webrtc/modules/audio_processing/aec3/suppression_gain.cc b/webrtc/modules/audio_processing/aec3/suppression_gain.cc
|
| index 0e50292008947cbc1799d3affb5e3faf35867792..4bf452cbbea51563b86516e770385ac48d32ee33 100644
|
| --- a/webrtc/modules/audio_processing/aec3/suppression_gain.cc
|
| +++ b/webrtc/modules/audio_processing/aec3/suppression_gain.cc
|
| @@ -325,11 +325,21 @@ void SuppressionGain::GetGain(
|
| bool saturated_echo,
|
| const std::vector<std::vector<float>>& render,
|
| size_t num_capture_bands,
|
| + bool force_zero_gain,
|
| float* high_bands_gain,
|
| std::array<float, kFftLengthBy2Plus1>* low_band_gain) {
|
| RTC_DCHECK(high_bands_gain);
|
| RTC_DCHECK(low_band_gain);
|
|
|
| + if (force_zero_gain) {
|
| + previous_gain_squared_.fill(0.f);
|
| + std::copy(comfort_noise_power.begin() + 1, comfort_noise_power.end() - 1,
|
| + previous_masker_.begin());
|
| + low_band_gain->fill(0.f);
|
| + *high_bands_gain = 0.f;
|
| + return;
|
| + }
|
| +
|
| // Choose margin to use.
|
| const float margin = saturated_echo ? 0.001f : 0.01f;
|
| switch (optimization_) {
|
|
|