assert() on over-filling the audio callback buffer

This commit is contained in:
Ken Cooke 2019-05-23 08:54:47 -07:00
parent ba3282e12b
commit 135dc7f2b1

View file

@ -2162,6 +2162,8 @@ qint64 AudioClient::AudioOutputIODevice::readData(char * data, qint64 maxSize) {
} }
bytesWritten = framesPopped * AudioConstants::SAMPLE_SIZE * deviceChannelCount; bytesWritten = framesPopped * AudioConstants::SAMPLE_SIZE * deviceChannelCount;
assert(bytesWritten <= maxSize);
} else { } else {
// nothing on network, don't grab anything from injectors, and just return 0s // nothing on network, don't grab anything from injectors, and just return 0s
memset(data, 0, maxSize); memset(data, 0, maxSize);
@ -2174,7 +2176,6 @@ qint64 AudioClient::AudioOutputIODevice::readData(char * data, qint64 maxSize) {
_audio->_audioFileWav.addRawAudioChunk(reinterpret_cast<char*>(scratchBuffer), bytesWritten); _audio->_audioFileWav.addRawAudioChunk(reinterpret_cast<char*>(scratchBuffer), bytesWritten);
} }
int bytesAudioOutputUnplayed = _audio->_audioOutput->bufferSize() - _audio->_audioOutput->bytesFree(); int bytesAudioOutputUnplayed = _audio->_audioOutput->bufferSize() - _audio->_audioOutput->bytesFree();
float msecsAudioOutputUnplayed = bytesAudioOutputUnplayed / (float)_audio->_outputFormat.bytesForDuration(USECS_PER_MSEC); float msecsAudioOutputUnplayed = bytesAudioOutputUnplayed / (float)_audio->_outputFormat.bytesForDuration(USECS_PER_MSEC);
_audio->_stats.updateOutputMsUnplayed(msecsAudioOutputUnplayed); _audio->_stats.updateOutputMsUnplayed(msecsAudioOutputUnplayed);