From aeb0a6475bccd6942d731a9113817095e4cd0800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Wed, 13 Jun 2018 16:13:46 +0200 Subject: [PATCH] AEC3: Increase the range of reported echo path delay metrics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TBR: gustaf@webrtc.org Bug: webrtc:9375,chromium:850538 Change-Id: I037e2cfe24ee297b90b4f70b744f735e43015d92 Reviewed-on: https://webrtc-review.googlesource.com/81748 Reviewed-by: Per Åhgren Commit-Queue: Per Åhgren Cr-Commit-Position: refs/heads/master@{#23603} --- .../aec3/render_delay_controller_metrics.cc | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/audio_processing/aec3/render_delay_controller_metrics.cc b/modules/audio_processing/aec3/render_delay_controller_metrics.cc index e5668da1c1..2da2227967 100644 --- a/modules/audio_processing/aec3/render_delay_controller_metrics.cc +++ b/modules/audio_processing/aec3/render_delay_controller_metrics.cc @@ -49,14 +49,17 @@ void RenderDelayControllerMetrics::Update( ++call_counter_; if (!initial_update) { + size_t delay_blocks; if (delay_samples) { ++reliable_delay_estimate_counter_; - size_t delay_blocks = (*delay_samples) / kBlockSize; + delay_blocks = (*delay_samples) / kBlockSize + 2; + } else { + delay_blocks = 0; + } - if (delay_blocks != delay_blocks_) { - ++delay_change_counter_; - delay_blocks_ = delay_blocks; - } + if (delay_blocks != delay_blocks_) { + ++delay_change_counter_; + delay_blocks_ = delay_blocks; } if (skew_shift_blocks) { @@ -68,12 +71,12 @@ void RenderDelayControllerMetrics::Update( if (call_counter_ == kMetricsReportingIntervalBlocks) { int value_to_report = static_cast(delay_blocks_); - value_to_report = std::min(124, value_to_report); + value_to_report = std::min(124, value_to_report >> 1); RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.EchoCanceller.EchoPathDelay", value_to_report, 0, 124, 125); - value_to_report = static_cast(buffer_delay_blocks); - value_to_report = std::min(124, value_to_report); + value_to_report = static_cast(buffer_delay_blocks + 2); + value_to_report = std::min(124, value_to_report >> 1); RTC_HISTOGRAM_COUNTS_LINEAR("WebRTC.Audio.EchoCanceller.BufferDelay", value_to_report, 0, 124, 125);