| Index: webrtc/modules/audio_processing/aec3/suppression_filter.cc
 | 
| diff --git a/webrtc/modules/audio_processing/aec3/suppression_filter.cc b/webrtc/modules/audio_processing/aec3/suppression_filter.cc
 | 
| index 358aafbdfb3777f0a5cb8fe05076d9cd0a4dc1ee..3b830a612ef866e61258e66e9532d96a9fdee0dd 100644
 | 
| --- a/webrtc/modules/audio_processing/aec3/suppression_filter.cc
 | 
| +++ b/webrtc/modules/audio_processing/aec3/suppression_filter.cc
 | 
| @@ -138,17 +138,12 @@ void SuppressionFilter::ApplyGain(
 | 
|      fft_.Ifft(E, &time_domain_high_band_noise);
 | 
|  
 | 
|      // Scale and apply the noise to the signals.
 | 
| -    // TODO(peah): Ensure that the high bands are properly delayed.
 | 
| -    constexpr int kNumBandsAveragingUpperGain = kFftLengthBy2 / 4;
 | 
| -    constexpr float kOneByNumBandsAveragingUpperGain =
 | 
| -        1.f / kNumBandsAveragingUpperGain;
 | 
| +    RTC_DCHECK_LT(3, suppression_gain.size());
 | 
|      float high_bands_gain =
 | 
| -        std::accumulate(suppression_gain.end() - kNumBandsAveragingUpperGain,
 | 
| -                        suppression_gain.end(), 0.f) *
 | 
| -        kOneByNumBandsAveragingUpperGain;
 | 
| +        *std::min_element(suppression_gain.begin() + 3, suppression_gain.end());
 | 
|  
 | 
|      float high_bands_noise_scaling =
 | 
| -        0.4f * std::max(1.f - high_bands_gain * high_bands_gain, 0.f);
 | 
| +        0.4f * std::max(1.f - high_bands_gain, 0.f);
 | 
|  
 | 
|      std::transform(
 | 
|          (*e)[1].begin(), (*e)[1].end(), time_domain_high_band_noise.begin(),
 | 
| 
 |