| Index: webrtc/modules/audio_processing/aec3/echo_remover.cc
|
| diff --git a/webrtc/modules/audio_processing/aec3/echo_remover.cc b/webrtc/modules/audio_processing/aec3/echo_remover.cc
|
| index 2d6328655c26a2d99e286e4a5cb9315ff959764f..a0e03fbeabc538fe696a372042fe3dda122f7175 100644
|
| --- a/webrtc/modules/audio_processing/aec3/echo_remover.cc
|
| +++ b/webrtc/modules/audio_processing/aec3/echo_remover.cc
|
| @@ -21,6 +21,7 @@
|
| #include "webrtc/modules/audio_processing/aec3/aec_state.h"
|
| #include "webrtc/modules/audio_processing/aec3/comfort_noise_generator.h"
|
| #include "webrtc/modules/audio_processing/aec3/echo_path_variability.h"
|
| +#include "webrtc/modules/audio_processing/aec3/echo_remover_metrics.h"
|
| #include "webrtc/modules/audio_processing/aec3/fft_buffer.h"
|
| #include "webrtc/modules/audio_processing/aec3/fft_data.h"
|
| #include "webrtc/modules/audio_processing/aec3/output_selector.h"
|
| @@ -90,6 +91,7 @@ class EchoRemoverImpl final : public EchoRemover {
|
| bool echo_leakage_detected_ = false;
|
| std::array<float, kBlockSize> x_old_;
|
| AecState aec_state_;
|
| + EchoRemoverMetrics metrics_;
|
|
|
| RTC_DISALLOW_COPY_AND_ASSIGN(EchoRemoverImpl);
|
| };
|
| @@ -209,6 +211,9 @@ void EchoRemoverImpl::ProcessBlock(
|
| doubletalk ? 0.001f : 0.0001f, &G);
|
| suppression_filter_.ApplyGain(comfort_noise, high_band_comfort_noise, G, y);
|
|
|
| + // Update the metrics.
|
| + metrics_.Update(aec_state_, cng_.NoiseSpectrum(), G);
|
| +
|
| // Debug outputs for the purpose of development and analysis.
|
| data_dumper_->DumpRaw("aec3_N2", cng_.NoiseSpectrum());
|
| data_dumper_->DumpRaw("aec3_suppressor_gain", G);
|
|
|