From 262d4ff882d62985426d4c31bae1411c7d5ed0e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Fri, 15 Sep 2017 10:36:44 +0200 Subject: [PATCH] Added logging inside AEC3 for render API buffer under/overruns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: webrtc:8250 Change-Id: Ib9ce26419b8961a33869d2f24cc4248fe10039b8 Reviewed-on: https://webrtc-review.googlesource.com/1562 Commit-Queue: Per Ã…hgren Reviewed-by: Gustaf Ullberg Cr-Commit-Position: refs/heads/master@{#19856} --- modules/audio_processing/aec3/block_processor.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/audio_processing/aec3/block_processor.cc b/modules/audio_processing/aec3/block_processor.cc index 1d4d46a194..672e336e97 100644 --- a/modules/audio_processing/aec3/block_processor.cc +++ b/modules/audio_processing/aec3/block_processor.cc @@ -16,6 +16,7 @@ #include "modules/audio_processing/logging/apm_data_dumper.h" #include "rtc_base/atomicops.h" #include "rtc_base/constructormagic.h" +#include "rtc_base/logging.h" namespace webrtc { namespace { @@ -101,11 +102,15 @@ void BlockProcessorImpl::ProcessCapture( // been a render buffer overrun as the buffer alignment may be noncausal. delay_controller_->Reset(); render_buffer_->Reset(); + LOG(LS_WARNING) << "Reset due to detected render buffer overrun."; } // Update the render buffers with new render data, filling the buffers with // empty blocks when there is no render data available. render_buffer_underrun = !render_buffer_->UpdateBuffers(); + if (render_buffer_underrun) { + LOG(LS_WARNING) << "Render API jitter buffer underrun."; + } // Compute and and apply the render delay required to achieve proper signal // alignment. @@ -127,6 +132,7 @@ void BlockProcessorImpl::ProcessCapture( delay_controller_->Reset(); render_buffer_->Reset(); delay_change = true; + LOG(LS_WARNING) << "Reset due to noncausal delay."; } // Remove the echo from the capture signal. @@ -164,6 +170,9 @@ void BlockProcessorImpl::BufferRender( // Buffer the render data. render_buffer_overrun_occurred_ = !render_buffer_->Insert(block); + if (render_buffer_overrun_occurred_) { + LOG(LS_WARNING) << "Render API jitter buffer overrun."; + } // Update the metrics. metrics_.UpdateRender(render_buffer_overrun_occurred_);