diff --git a/libraries/audio/src/PositionalAudioRingBuffer.cpp b/libraries/audio/src/PositionalAudioRingBuffer.cpp index 7037eb2154..c7084e0d1d 100644 --- a/libraries/audio/src/PositionalAudioRingBuffer.cpp +++ b/libraries/audio/src/PositionalAudioRingBuffer.cpp @@ -20,7 +20,8 @@ PositionalAudioRingBuffer::PositionalAudioRingBuffer(PositionalAudioRingBuffer:: _position(0.0f, 0.0f, 0.0f), _orientation(0.0f, 0.0f, 0.0f, 0.0f), _willBeAddedToMix(false), - _shouldLoopbackForNode(false) + _shouldLoopbackForNode(false), + _shouldOutputStarveDebug(true) { } @@ -57,11 +58,19 @@ int PositionalAudioRingBuffer::parsePositionalData(unsigned char* sourceBuffer, bool PositionalAudioRingBuffer::shouldBeAddedToMix(int numJitterBufferSamples) { if (!isNotStarvedOrHasMinimumSamples(NETWORK_BUFFER_LENGTH_SAMPLES_PER_CHANNEL + numJitterBufferSamples)) { - qDebug() << "Starved and do not have minimum samples to start. Buffer held back.\n"; + if (_shouldOutputStarveDebug) { + qDebug() << "Starved and do not have minimum samples to start. Buffer held back.\n"; + _shouldOutputStarveDebug = false; + } + return false; } else if (samplesAvailable() < NETWORK_BUFFER_LENGTH_SAMPLES_PER_CHANNEL) { qDebug() << "Do not have number of samples needed for interval. Buffer starved.\n"; _isStarved = true; + + // reset our _shouldOutputStarveDebug to true so the next is printed + _shouldOutputStarveDebug = true; + return false; } else { // good buffer, add this to the mix diff --git a/libraries/audio/src/PositionalAudioRingBuffer.h b/libraries/audio/src/PositionalAudioRingBuffer.h index 189ac34058..55ed627c4d 100644 --- a/libraries/audio/src/PositionalAudioRingBuffer.h +++ b/libraries/audio/src/PositionalAudioRingBuffer.h @@ -49,6 +49,7 @@ protected: glm::quat _orientation; bool _willBeAddedToMix; bool _shouldLoopbackForNode; + bool _shouldOutputStarveDebug; }; #endif /* defined(__hifi__PositionalAudioRingBuffer__) */