From 5a6456c29f699f132920a550063d3bfaf77f517b Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 21 Mar 2014 11:29:16 -0700 Subject: [PATCH] use an epsilon value to drop average loudness to zero --- libraries/audio/src/AudioRingBuffer.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/audio/src/AudioRingBuffer.cpp b/libraries/audio/src/AudioRingBuffer.cpp index cf35b6a20f..3b36d4cf4b 100644 --- a/libraries/audio/src/AudioRingBuffer.cpp +++ b/libraries/audio/src/AudioRingBuffer.cpp @@ -70,8 +70,13 @@ void AudioRingBuffer::updateAverageLoudnessForBoundarySamples(int numSamples) { const int TRAILING_AVERAGE_FRAMES = 100; const float CURRENT_FRAME_RATIO = 1.0f / TRAILING_AVERAGE_FRAMES; const float PREVIOUS_FRAMES_RATIO = 1 - CURRENT_FRAME_RATIO; + const float LOUDNESS_EPSILON = 0.05; _averageLoudness = (_averageLoudness * PREVIOUS_FRAMES_RATIO) + (CURRENT_FRAME_RATIO * nextLoudness); + + if (_averageLoudness < LOUDNESS_EPSILON) { + _averageLoudness = 0; + } } qint64 AudioRingBuffer::readSamples(int16_t* destination, qint64 maxSamples) {