mirror of
https://github.com/overte-org/overte.git
synced 2025-07-23 03:59:18 +02:00
changed getAudioStreamStatsOfStream to return stats instead of taking pointer
This commit is contained in:
parent
1bfe367020
commit
ae2780dcab
2 changed files with 20 additions and 21 deletions
|
@ -156,33 +156,33 @@ void AudioMixerClientData::pushBuffersAfterFrameSend() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioMixerClientData::getAudioStreamStatsOfStream(const PositionalAudioRingBuffer* ringBuffer, AudioStreamStats& stats) const {
|
AudioStreamStats AudioMixerClientData::getAudioStreamStatsOfStream(const PositionalAudioRingBuffer* ringBuffer) const {
|
||||||
|
AudioStreamStats streamStats;
|
||||||
SequenceNumberStats streamSequenceNumberStats;
|
SequenceNumberStats streamSequenceNumberStats;
|
||||||
|
|
||||||
stats._streamType = ringBuffer->getType();
|
streamStats._streamType = ringBuffer->getType();
|
||||||
if (stats._streamType == PositionalAudioRingBuffer::Injector) {
|
if (streamStats._streamType == PositionalAudioRingBuffer::Injector) {
|
||||||
stats._streamIdentifier = ((InjectedAudioRingBuffer*)ringBuffer)->getStreamIdentifier();
|
streamStats._streamIdentifier = ((InjectedAudioRingBuffer*)ringBuffer)->getStreamIdentifier();
|
||||||
streamSequenceNumberStats = _incomingInjectedAudioSequenceNumberStatsMap.value(stats._streamIdentifier);
|
streamSequenceNumberStats = _incomingInjectedAudioSequenceNumberStatsMap.value(streamStats._streamIdentifier);
|
||||||
} else {
|
} else {
|
||||||
streamSequenceNumberStats = _incomingAvatarAudioSequenceNumberStats;
|
streamSequenceNumberStats = _incomingAvatarAudioSequenceNumberStats;
|
||||||
}
|
}
|
||||||
stats._jitterBufferFrames = ringBuffer->getCurrentJitterBufferFrames();
|
streamStats._jitterBufferFrames = ringBuffer->getCurrentJitterBufferFrames();
|
||||||
|
|
||||||
stats._packetsReceived = streamSequenceNumberStats.getNumReceived();
|
streamStats._packetsReceived = streamSequenceNumberStats.getNumReceived();
|
||||||
stats._packetsUnreasonable = streamSequenceNumberStats.getNumUnreasonable();
|
streamStats._packetsUnreasonable = streamSequenceNumberStats.getNumUnreasonable();
|
||||||
stats._packetsEarly = streamSequenceNumberStats.getNumEarly();
|
streamStats._packetsEarly = streamSequenceNumberStats.getNumEarly();
|
||||||
stats._packetsLate = streamSequenceNumberStats.getNumLate();
|
streamStats._packetsLate = streamSequenceNumberStats.getNumLate();
|
||||||
stats._packetsLost = streamSequenceNumberStats.getNumLost();
|
streamStats._packetsLost = streamSequenceNumberStats.getNumLost();
|
||||||
stats._packetsRecovered = streamSequenceNumberStats.getNumRecovered();
|
streamStats._packetsRecovered = streamSequenceNumberStats.getNumRecovered();
|
||||||
stats._packetsDuplicate = streamSequenceNumberStats.getNumDuplicate();
|
streamStats._packetsDuplicate = streamSequenceNumberStats.getNumDuplicate();
|
||||||
|
|
||||||
|
return streamStats;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer& destinationNode) const {
|
void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer& destinationNode) const {
|
||||||
|
|
||||||
char packet[MAX_PACKET_SIZE];
|
char packet[MAX_PACKET_SIZE];
|
||||||
AudioStreamStats streamStats;
|
|
||||||
|
|
||||||
NodeList* nodeList = NodeList::getInstance();
|
NodeList* nodeList = NodeList::getInstance();
|
||||||
|
|
||||||
// The append flag is a boolean value that will be packed right after the header. The first packet sent
|
// The append flag is a boolean value that will be packed right after the header. The first packet sent
|
||||||
|
@ -217,8 +217,7 @@ void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer&
|
||||||
|
|
||||||
// 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++) {
|
||||||
getAudioStreamStatsOfStream(*ringBuffersIterator, streamStats);
|
AudioStreamStats streamStats = getAudioStreamStatsOfStream(*ringBuffersIterator);
|
||||||
|
|
||||||
memcpy(dataAt, &streamStats, sizeof(AudioStreamStats));
|
memcpy(dataAt, &streamStats, sizeof(AudioStreamStats));
|
||||||
dataAt += sizeof(AudioStreamStats);
|
dataAt += sizeof(AudioStreamStats);
|
||||||
|
|
||||||
|
@ -250,7 +249,7 @@ QString AudioMixerClientData::getAudioStreamStatsString() const {
|
||||||
} else {
|
} else {
|
||||||
result = "mic unknown";
|
result = "mic unknown";
|
||||||
}
|
}
|
||||||
AudioStreamStats streamStats;
|
|
||||||
for (int i = 0; i < _ringBuffers.size(); i++) {
|
for (int i = 0; i < _ringBuffers.size(); i++) {
|
||||||
if (_ringBuffers[i]->getType() == PositionalAudioRingBuffer::Injector) {
|
if (_ringBuffers[i]->getType() == PositionalAudioRingBuffer::Injector) {
|
||||||
int desiredJitterBuffer = _ringBuffers[i]->getDesiredJitterBufferFrames();
|
int desiredJitterBuffer = _ringBuffers[i]->getDesiredJitterBufferFrames();
|
||||||
|
@ -259,7 +258,7 @@ QString AudioMixerClientData::getAudioStreamStatsString() const {
|
||||||
int overflowCount = _ringBuffers[i]->getOverflowCount();
|
int overflowCount = _ringBuffers[i]->getOverflowCount();
|
||||||
int samplesAvailable = _ringBuffers[i]->samplesAvailable();
|
int samplesAvailable = _ringBuffers[i]->samplesAvailable();
|
||||||
int framesAvailable = (samplesAvailable / _ringBuffers[i]->getSamplesPerFrame());
|
int framesAvailable = (samplesAvailable / _ringBuffers[i]->getSamplesPerFrame());
|
||||||
getAudioStreamStatsOfStream(_ringBuffers[i], streamStats);
|
AudioStreamStats streamStats = getAudioStreamStatsOfStream(_ringBuffers[i]);
|
||||||
result += "| injected[" + QString::number(i) + "].desired:" + QString::number(desiredJitterBuffer)
|
result += "| injected[" + QString::number(i) + "].desired:" + QString::number(desiredJitterBuffer)
|
||||||
+ " calculated:" + QString::number(calculatedJitterBuffer)
|
+ " calculated:" + QString::number(calculatedJitterBuffer)
|
||||||
+ " current:" + QString::number(currentJitterBuffer)
|
+ " current:" + QString::number(currentJitterBuffer)
|
||||||
|
|
|
@ -32,7 +32,7 @@ public:
|
||||||
void checkBuffersBeforeFrameSend(AABox* checkSourceZone = NULL, AABox* listenerZone = NULL);
|
void checkBuffersBeforeFrameSend(AABox* checkSourceZone = NULL, AABox* listenerZone = NULL);
|
||||||
void pushBuffersAfterFrameSend();
|
void pushBuffersAfterFrameSend();
|
||||||
|
|
||||||
void getAudioStreamStatsOfStream(const PositionalAudioRingBuffer* ringBuffer, AudioStreamStats& stats) const;
|
AudioStreamStats getAudioStreamStatsOfStream(const PositionalAudioRingBuffer* ringBuffer) const;
|
||||||
QString getAudioStreamStatsString() const;
|
QString getAudioStreamStatsString() const;
|
||||||
|
|
||||||
void sendAudioStreamStatsPackets(const SharedNodePointer& destinationNode) const;
|
void sendAudioStreamStatsPackets(const SharedNodePointer& destinationNode) const;
|
||||||
|
|
Loading…
Reference in a new issue