kopia lustrzana https://gitlab.com/eliggett/wfview
Identify if we have missing audio seq numbers.
rodzic
1edcd6cc59
commit
e5f1ac31a8
|
@ -959,8 +959,9 @@ qint64 audioHandler::readData(char* data, qint64 maxlen)
|
||||||
//qDebug(logAudio()) << "Packet " << hex << packet->seq << " arrived too late (increase rx buffer size!) " << dec << packet->time.msecsTo(QTime::currentTime()) << "ms";
|
//qDebug(logAudio()) << "Packet " << hex << packet->seq << " arrived too late (increase rx buffer size!) " << dec << packet->time.msecsTo(QTime::currentTime()) << "ms";
|
||||||
packet = audioBuffer.erase(packet); // returns next packet
|
packet = audioBuffer.erase(packet); // returns next packet
|
||||||
}
|
}
|
||||||
else //if (timediff > (int)latency / 2)
|
else if (packet->seq == lastSeq+1 || packet->seq <= lastSeq)
|
||||||
{
|
{
|
||||||
|
lastSeq = packet->seq;
|
||||||
//qDebug(logAudio()) << "Packet " << hex << packet->seq << " arrived on time " << dec << packet->time.msecsTo(QTime::currentTime()) << "ms";
|
//qDebug(logAudio()) << "Packet " << hex << packet->seq << " arrived on time " << dec << packet->time.msecsTo(QTime::currentTime()) << "ms";
|
||||||
// Will this packet fit in the current buffer?
|
// Will this packet fit in the current buffer?
|
||||||
int send = qMin((int)((maxlen/divisor) - (sentlen/divisor)), packet->data.length() - packet->sent);
|
int send = qMin((int)((maxlen/divisor) - (sentlen/divisor)), packet->data.length() - packet->sent);
|
||||||
|
@ -992,6 +993,7 @@ qint64 audioHandler::readData(char* data, qint64 maxlen)
|
||||||
|
|
||||||
if (send == packet->data.length())
|
if (send == packet->data.length())
|
||||||
{
|
{
|
||||||
|
lastSeq = packet->seq;
|
||||||
packet = audioBuffer.erase(packet); // returns next packet
|
packet = audioBuffer.erase(packet); // returns next packet
|
||||||
if (maxlen - sentlen == 0)
|
if (maxlen - sentlen == 0)
|
||||||
{
|
{
|
||||||
|
@ -1010,7 +1012,10 @@ qint64 audioHandler::readData(char* data, qint64 maxlen)
|
||||||
qDebug(logAudio()) << "Packet " << hex << packet->seq << " is partial, sent=" << dec << packet->sent << " sentlen=" << sentlen;
|
qDebug(logAudio()) << "Packet " << hex << packet->seq << " is partial, sent=" << dec << packet->sent << " sentlen=" << sentlen;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
|
qDebug(logAudio()) << "Missing audio packet(s) from: " << lastSeq + 1 << " to " << packet->seq - 1;
|
||||||
|
lastSeq = packet->seq;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,7 @@ private:
|
||||||
bool isInput; // Used to determine whether input or output audio
|
bool isInput; // Used to determine whether input or output audio
|
||||||
float volume;
|
float volume;
|
||||||
int chunkSize;
|
int chunkSize;
|
||||||
|
quint16 lastSeq;
|
||||||
|
|
||||||
QAudioFormat format;
|
QAudioFormat format;
|
||||||
QAudioDeviceInfo deviceInfo;
|
QAudioDeviceInfo deviceInfo;
|
||||||
|
|
Ładowanie…
Reference in New Issue