mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 21:12:53 +02:00
repairs to stats packet in AudioMixerClientData
This commit is contained in:
parent
733206b872
commit
f6cd67f75e
1 changed files with 8 additions and 4 deletions
|
@ -158,19 +158,22 @@ void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer&
|
||||||
// pack and send stream stats packets until all audio streams' stats are sent
|
// pack and send stream stats packets until all audio streams' stats are sent
|
||||||
int numStreamStatsRemaining = _audioStreams.size();
|
int numStreamStatsRemaining = _audioStreams.size();
|
||||||
QHash<QUuid, PositionalAudioStream*>::ConstIterator audioStreamsIterator = _audioStreams.constBegin();
|
QHash<QUuid, PositionalAudioStream*>::ConstIterator audioStreamsIterator = _audioStreams.constBegin();
|
||||||
|
|
||||||
|
PacketList statsPacketList(PacketType::AudioStreamStats);
|
||||||
|
|
||||||
while (numStreamStatsRemaining > 0) {
|
while (numStreamStatsRemaining > 0) {
|
||||||
|
|
||||||
auto statsPacket { NLPacket::create(PacketType::AudioStreamStats); }
|
auto statsPacket = NLPacket::create(PacketType::AudioStreamStats);
|
||||||
|
|
||||||
// pack the append flag in this packet
|
// pack the append flag in this packet
|
||||||
statsPacket.write(&appendFlag, sizeof(quint8));
|
statsPacket->write(&appendFlag, sizeof(quint8));
|
||||||
appendFlag = 1;
|
appendFlag = 1;
|
||||||
|
|
||||||
int numStreamStatsRoomFor = (statsPacket.size() - sizeof(quint8) - sizeof(quint16)) / sizeof(AudioStreamStats);
|
int numStreamStatsRoomFor = (statsPacket.size() - sizeof(quint8) - sizeof(quint16)) / sizeof(AudioStreamStats);
|
||||||
|
|
||||||
// calculate and pack the number of stream stats to follow
|
// calculate and pack the number of stream stats to follow
|
||||||
quint16 numStreamStatsToPack = std::min(numStreamStatsRemaining, numStreamStatsRoomFor);
|
quint16 numStreamStatsToPack = std::min(numStreamStatsRemaining, numStreamStatsRoomFor);
|
||||||
statsPacket.write(&numStreamStatsToPack, sizeof(quint16));
|
statsPacket->write(&numStreamStatsToPack, sizeof(quint16));
|
||||||
|
|
||||||
// pack the calculated number of stream stats
|
// pack the calculated number of stream stats
|
||||||
for (int i = 0; i < numStreamStatsToPack; i++) {
|
for (int i = 0; i < numStreamStatsToPack; i++) {
|
||||||
|
@ -179,10 +182,11 @@ void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer&
|
||||||
stream->perSecondCallbackForUpdatingStats();
|
stream->perSecondCallbackForUpdatingStats();
|
||||||
|
|
||||||
AudioStreamStats streamStats = stream->getAudioStreamStats();
|
AudioStreamStats streamStats = stream->getAudioStreamStats();
|
||||||
statsPacket.write(&streamStats, sizeof(AudioStreamStats));
|
statsPacket->write(&streamStats, sizeof(AudioStreamStats));
|
||||||
|
|
||||||
audioStreamsIterator++;
|
audioStreamsIterator++;
|
||||||
}
|
}
|
||||||
|
|
||||||
numStreamStatsRemaining -= numStreamStatsToPack;
|
numStreamStatsRemaining -= numStreamStatsToPack;
|
||||||
|
|
||||||
// send the current packet
|
// send the current packet
|
||||||
|
|
Loading…
Reference in a new issue