aboutsummaryrefslogtreecommitdiff
path: root/modules/audio_processing/aec3/render_reverb_model.cc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/audio_processing/aec3/render_reverb_model.cc')
-rw-r--r--modules/audio_processing/aec3/render_reverb_model.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/modules/audio_processing/aec3/render_reverb_model.cc b/modules/audio_processing/aec3/render_reverb_model.cc
index 1c6a7e8323..0410a9a1ad 100644
--- a/modules/audio_processing/aec3/render_reverb_model.cc
+++ b/modules/audio_processing/aec3/render_reverb_model.cc
@@ -36,10 +36,14 @@ void RenderReverbModel::Apply(const SpectrumBuffer& spectrum_buffer,
int idx_past = spectrum_buffer.IncIndex(idx_at_delay);
const auto& X2 = spectrum_buffer.buffer[idx_at_delay][/*channel=*/0];
RTC_DCHECK_EQ(X2.size(), reverb_power_spectrum.size());
- std::copy(X2.begin(), X2.end(), reverb_power_spectrum.begin());
- render_reverb_.AddReverbNoFreqShaping(
- spectrum_buffer.buffer[idx_past][/*channel=*/0], 1.0f, reverb_decay,
- reverb_power_spectrum);
+ render_reverb_.UpdateReverbNoFreqShaping(
+ spectrum_buffer.buffer[idx_past][/*channel=*/0], 1.0f, reverb_decay);
+
+ rtc::ArrayView<const float, kFftLengthBy2Plus1> reverb_power =
+ render_reverb_.reverb();
+ for (size_t k = 0; k < X2.size(); ++k) {
+ reverb_power_spectrum[k] = X2[k] + reverb_power[k];
+ }
}
} // namespace webrtc