diff --git a/audio-mixer/src/PositionalAudioRingBuffer.cpp b/audio-mixer/src/PositionalAudioRingBuffer.cpp index b8cd32bbf6..60ec9a425e 100644 --- a/audio-mixer/src/PositionalAudioRingBuffer.cpp +++ b/audio-mixer/src/PositionalAudioRingBuffer.cpp @@ -22,7 +22,7 @@ PositionalAudioRingBuffer::PositionalAudioRingBuffer() : } int PositionalAudioRingBuffer::parseData(unsigned char* sourceBuffer, int numBytes) { - unsigned char* currentBuffer = sourceBuffer + sizeof(PACKET_TYPE); + unsigned char* currentBuffer = sourceBuffer + numBytesForPacketHeader(sourceBuffer); currentBuffer += parsePositionalData(currentBuffer, numBytes - (currentBuffer - sourceBuffer)); currentBuffer += parseAudioSamples(currentBuffer, numBytes - (currentBuffer - sourceBuffer)); diff --git a/interface/src/Environment.cpp b/interface/src/Environment.cpp index d087281569..35ed121e38 100644 --- a/interface/src/Environment.cpp +++ b/interface/src/Environment.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include "Camera.h" @@ -138,8 +139,10 @@ bool Environment::findCapsulePenetration(const glm::vec3& start, const glm::vec3 int Environment::parseData(sockaddr *senderAddress, unsigned char* sourceBuffer, int numBytes) { // push past the packet header unsigned char* start = sourceBuffer; - sourceBuffer++; - numBytes--; + + int numBytesPacketHeader = numBytesForPacketHeader(sourceBuffer); + sourceBuffer += numBytesPacketHeader; + numBytes -= numBytesPacketHeader; // get the lock for the duration of the call QMutexLocker locker(&_mutex); diff --git a/libraries/audio/src/AudioRingBuffer.cpp b/libraries/audio/src/AudioRingBuffer.cpp index 8e2e28e964..d5830ee72f 100644 --- a/libraries/audio/src/AudioRingBuffer.cpp +++ b/libraries/audio/src/AudioRingBuffer.cpp @@ -34,7 +34,8 @@ void AudioRingBuffer::reset() { } int AudioRingBuffer::parseData(unsigned char* sourceBuffer, int numBytes) { - return parseAudioSamples(sourceBuffer + sizeof(PACKET_TYPE_MIXED_AUDIO), numBytes - sizeof(PACKET_TYPE_MIXED_AUDIO)); + int numBytesPacketHeader = numBytesForPacketHeader(sourceBuffer); + return parseAudioSamples(sourceBuffer + numBytesPacketHeader, numBytes - numBytesPacketHeader); } int AudioRingBuffer::parseAudioSamples(unsigned char* sourceBuffer, int numBytes) { diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index b65746c592..72327cc155 100755 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -169,7 +169,8 @@ int AvatarData::parseData(unsigned char* sourceBuffer, int numBytes) { } // increment to push past the packet header - sourceBuffer += sizeof(PACKET_TYPE) + sizeof(PACKET_VERSION); + int numBytesPacketHeader = numBytesForPacketHeader(sourceBuffer); + sourceBuffer += numBytesPacketHeader; unsigned char* startPosition = sourceBuffer;