mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 12:54:30 +02:00
suppress a couple more noisy messages in AudioRingBuffer
This commit is contained in:
parent
7c6c75c484
commit
d536026ff4
1 changed files with 18 additions and 11 deletions
|
@ -23,13 +23,15 @@
|
||||||
|
|
||||||
#include "AudioRingBuffer.h"
|
#include "AudioRingBuffer.h"
|
||||||
|
|
||||||
|
static const QString RING_BUFFER_OVERFLOW_DEBUG { "AudioRingBuffer::writeData has overflown the buffer. Overwriting old data." };
|
||||||
|
|
||||||
AudioRingBuffer::AudioRingBuffer(int numFrameSamples, bool randomAccessMode, int numFramesCapacity) :
|
AudioRingBuffer::AudioRingBuffer(int numFrameSamples, bool randomAccessMode, int numFramesCapacity) :
|
||||||
_frameCapacity(numFramesCapacity),
|
_frameCapacity(numFramesCapacity),
|
||||||
_sampleCapacity(numFrameSamples * numFramesCapacity),
|
_sampleCapacity(numFrameSamples * numFramesCapacity),
|
||||||
_bufferLength(numFrameSamples * (numFramesCapacity + 1)),
|
_bufferLength(numFrameSamples * (numFramesCapacity + 1)),
|
||||||
_numFrameSamples(numFrameSamples),
|
_numFrameSamples(numFrameSamples),
|
||||||
_randomAccessMode(randomAccessMode),
|
_randomAccessMode(randomAccessMode),
|
||||||
_overflowCount(0)
|
_overflowCount(0)
|
||||||
{
|
{
|
||||||
if (numFrameSamples) {
|
if (numFrameSamples) {
|
||||||
_buffer = new int16_t[_bufferLength];
|
_buffer = new int16_t[_bufferLength];
|
||||||
|
@ -41,6 +43,8 @@ _overflowCount(0)
|
||||||
_nextOutput = NULL;
|
_nextOutput = NULL;
|
||||||
_endOfLastWrite = NULL;
|
_endOfLastWrite = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(RING_BUFFER_OVERFLOW_DEBUG);
|
||||||
};
|
};
|
||||||
|
|
||||||
AudioRingBuffer::~AudioRingBuffer() {
|
AudioRingBuffer::~AudioRingBuffer() {
|
||||||
|
@ -131,8 +135,6 @@ int AudioRingBuffer::writeData(const char* data, int maxSize) {
|
||||||
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete);
|
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete);
|
||||||
_overflowCount++;
|
_overflowCount++;
|
||||||
|
|
||||||
const QString RING_BUFFER_OVERFLOW_DEBUG { "AudioRingBuffer::writeData has overflown the buffer. Overwriting old data." };
|
|
||||||
static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(RING_BUFFER_OVERFLOW_DEBUG);
|
|
||||||
qCDebug(audio) << qPrintable(RING_BUFFER_OVERFLOW_DEBUG);
|
qCDebug(audio) << qPrintable(RING_BUFFER_OVERFLOW_DEBUG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +181,12 @@ int AudioRingBuffer::addSilentSamples(int silentSamples) {
|
||||||
if (silentSamples > samplesRoomFor) {
|
if (silentSamples > samplesRoomFor) {
|
||||||
// there's not enough room for this write. write as many silent samples as we have room for
|
// there's not enough room for this write. write as many silent samples as we have room for
|
||||||
silentSamples = samplesRoomFor;
|
silentSamples = samplesRoomFor;
|
||||||
qCDebug(audio) << "Dropping some silent samples to prevent ring buffer overflow";
|
|
||||||
|
static const QString DROPPED_SILENT_DEBUG {
|
||||||
|
"AudioRingBuffer::addSilentSamples dropping silent samples to prevent overflow."
|
||||||
|
};
|
||||||
|
static QString repeatedMessage = LogHandler::getInstance().addRepeatedMessageRegex(DROPPED_SILENT_DEBUG);
|
||||||
|
qCDebug(audio) << qPrintable(DROPPED_SILENT_DEBUG);
|
||||||
}
|
}
|
||||||
|
|
||||||
// memset zeroes into the buffer, accomodate a wrap around the end
|
// memset zeroes into the buffer, accomodate a wrap around the end
|
||||||
|
@ -243,7 +250,7 @@ int AudioRingBuffer::writeSamples(ConstIterator source, int maxSamples) {
|
||||||
int samplesToDelete = samplesToCopy - samplesRoomFor;
|
int samplesToDelete = samplesToCopy - samplesRoomFor;
|
||||||
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete);
|
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete);
|
||||||
_overflowCount++;
|
_overflowCount++;
|
||||||
qCDebug(audio) << "Overflowed ring buffer! Overwriting old data";
|
qCDebug(audio) << qPrintable(RING_BUFFER_OVERFLOW_DEBUG);
|
||||||
}
|
}
|
||||||
|
|
||||||
int16_t* bufferLast = _buffer + _bufferLength - 1;
|
int16_t* bufferLast = _buffer + _bufferLength - 1;
|
||||||
|
@ -264,7 +271,7 @@ int AudioRingBuffer::writeSamplesWithFade(ConstIterator source, int maxSamples,
|
||||||
int samplesToDelete = samplesToCopy - samplesRoomFor;
|
int samplesToDelete = samplesToCopy - samplesRoomFor;
|
||||||
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete);
|
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, samplesToDelete);
|
||||||
_overflowCount++;
|
_overflowCount++;
|
||||||
qCDebug(audio) << "Overflowed ring buffer! Overwriting old data";
|
qCDebug(audio) << qPrintable(RING_BUFFER_OVERFLOW_DEBUG);
|
||||||
}
|
}
|
||||||
|
|
||||||
int16_t* bufferLast = _buffer + _bufferLength - 1;
|
int16_t* bufferLast = _buffer + _bufferLength - 1;
|
||||||
|
|
Loading…
Reference in a new issue