From f6cd67f75eb5a0e0587f931dbc8399065b5397ab Mon Sep 17 00:00:00 2001
From: Stephen Birarda <commit@birarda.com>
Date: Tue, 7 Jul 2015 14:55:58 -0700
Subject: [PATCH] repairs to stats packet in AudioMixerClientData

---
 assignment-client/src/audio/AudioMixerClientData.cpp | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/assignment-client/src/audio/AudioMixerClientData.cpp b/assignment-client/src/audio/AudioMixerClientData.cpp
index 05dc54665f..f4fbbb87f9 100644
--- a/assignment-client/src/audio/AudioMixerClientData.cpp
+++ b/assignment-client/src/audio/AudioMixerClientData.cpp
@@ -158,19 +158,22 @@ void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer&
     // pack and send stream stats packets until all audio streams' stats are sent
     int numStreamStatsRemaining = _audioStreams.size();
     QHash<QUuid, PositionalAudioStream*>::ConstIterator audioStreamsIterator = _audioStreams.constBegin();
+
+    PacketList statsPacketList(PacketType::AudioStreamStats);
+
     while (numStreamStatsRemaining > 0) {
 
-        auto statsPacket { NLPacket::create(PacketType::AudioStreamStats); }
+        auto statsPacket = NLPacket::create(PacketType::AudioStreamStats);
 
         // pack the append flag in this packet
-        statsPacket.write(&appendFlag, sizeof(quint8));
+        statsPacket->write(&appendFlag, sizeof(quint8));
         appendFlag = 1;
 
         int numStreamStatsRoomFor = (statsPacket.size() - sizeof(quint8) - sizeof(quint16)) / sizeof(AudioStreamStats);
 
         // calculate and pack the number of stream stats to follow
         quint16 numStreamStatsToPack = std::min(numStreamStatsRemaining, numStreamStatsRoomFor);
-        statsPacket.write(&numStreamStatsToPack, sizeof(quint16));
+        statsPacket->write(&numStreamStatsToPack, sizeof(quint16));
 
         // pack the calculated number of stream stats
         for (int i = 0; i < numStreamStatsToPack; i++) {
@@ -179,10 +182,11 @@ void AudioMixerClientData::sendAudioStreamStatsPackets(const SharedNodePointer&
             stream->perSecondCallbackForUpdatingStats();
 
             AudioStreamStats streamStats = stream->getAudioStreamStats();
-            statsPacket.write(&streamStats, sizeof(AudioStreamStats));
+            statsPacket->write(&streamStats, sizeof(AudioStreamStats));
 
             audioStreamsIterator++;
         }
+
         numStreamStatsRemaining -= numStreamStatsToPack;
 
         // send the current packet