mirror of
https://github.com/lubosz/overte.git
synced 2025-04-23 01:04:06 +02:00
added debug prints to look at injected ring buffers
This commit is contained in:
parent
6b72b161d3
commit
7196814ec3
3 changed files with 9 additions and 5 deletions
|
@ -90,6 +90,7 @@ int AudioMixerClientData::parseData(const QByteArray& packet) {
|
|||
// we don't have a matching injected audio ring buffer, so add it
|
||||
matchingInjectedRingBuffer = new InjectedAudioRingBuffer(streamIdentifier);
|
||||
_ringBuffers.push_back(matchingInjectedRingBuffer);
|
||||
printf("created InjectedRingBuffer %p\n", (void*)matchingInjectedRingBuffer);
|
||||
}
|
||||
|
||||
matchingInjectedRingBuffer->parseData(packet);
|
||||
|
@ -132,6 +133,7 @@ void AudioMixerClientData::pushBuffersAfterFrameSend() {
|
|||
&& audioBuffer->hasStarted() && audioBuffer->isStarved()) {
|
||||
// this is an empty audio buffer that has starved, safe to delete
|
||||
delete audioBuffer;
|
||||
printf("deleted injector %p\n", (void*)audioBuffer);
|
||||
i = _ringBuffers.erase(i);
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -125,16 +125,19 @@ qint64 AudioRingBuffer::writeData(const char* data, qint64 maxSize) {
|
|||
std::less<int16_t*> less;
|
||||
std::less_equal<int16_t*> lessEqual;
|
||||
|
||||
// TODO: why is less(_endOfLastWrite, _nextOutput) a condition here?
|
||||
if (_hasStarted
|
||||
/*
|
||||
&& (less(_endOfLastWrite, _nextOutput)
|
||||
&& lessEqual(_nextOutput, shiftedPositionAccomodatingWrap(_endOfLastWrite, samplesToCopy)))) {
|
||||
&& lessEqual(_nextOutput, shiftedPositionAccomodatingWrap(_endOfLastWrite, samplesToCopy)))*/
|
||||
&& samplesToCopy > _sampleCapacity - samplesAvailable()) {
|
||||
// this read will cross the next output, so call us starved and reset the buffer
|
||||
qDebug() << "Filled the ring buffer. Resetting.";
|
||||
_endOfLastWrite = _buffer;
|
||||
_nextOutput = _buffer;
|
||||
_isStarved = true;
|
||||
}
|
||||
|
||||
|
||||
if (_endOfLastWrite + samplesToCopy <= _buffer + _sampleCapacity) {
|
||||
memcpy(_endOfLastWrite, data, samplesToCopy * sizeof(int16_t));
|
||||
} else {
|
||||
|
@ -145,6 +148,7 @@ qint64 AudioRingBuffer::writeData(const char* data, qint64 maxSize) {
|
|||
|
||||
_endOfLastWrite = shiftedPositionAccomodatingWrap(_endOfLastWrite, samplesToCopy);
|
||||
|
||||
printf("%p: writeData. %d samples available\n", (void*)this, samplesAvailable());
|
||||
return samplesToCopy * sizeof(int16_t);
|
||||
}
|
||||
|
||||
|
@ -158,7 +162,7 @@ const int16_t& AudioRingBuffer::operator[] (const int index) const {
|
|||
|
||||
void AudioRingBuffer::shiftReadPosition(unsigned int numSamples) {
|
||||
_nextOutput = shiftedPositionAccomodatingWrap(_nextOutput, numSamples);
|
||||
//printf("\nmixed. %d samples remaining\n", samplesAvailable());
|
||||
printf("%p: mixed. %d samples remaining\n", (void*)this, samplesAvailable());
|
||||
}
|
||||
|
||||
unsigned int AudioRingBuffer::samplesAvailable() const {
|
||||
|
|
|
@ -151,8 +151,6 @@ int PositionalAudioRingBuffer::parseData(const QByteArray& packet) {
|
|||
int dataBytes = writeData(packet.data() + readBytes, packet.size() - readBytes);
|
||||
readBytes += dataBytes;
|
||||
}
|
||||
//printf("parsed packet. %d samples available\n", samplesAvailable());
|
||||
|
||||
return readBytes;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue