From 893e1864fda708d7e11fd3bcbddd82fdb55f3653 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 9 Jul 2015 13:22:41 -0700 Subject: [PATCH 1/2] cleanup _newestEntryAtIndex calc in RBH insert --- libraries/shared/src/RingBufferHistory.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/shared/src/RingBufferHistory.h b/libraries/shared/src/RingBufferHistory.h index 4ab87329df..6408373079 100644 --- a/libraries/shared/src/RingBufferHistory.h +++ b/libraries/shared/src/RingBufferHistory.h @@ -21,7 +21,7 @@ template class RingBufferHistory { public: - + RingBufferHistory(int capacity = 10) : _size(capacity + 1), _capacity(capacity), @@ -45,7 +45,7 @@ public: void insert(const T& entry) { // increment newest entry index cyclically - _newestEntryAtIndex = (_newestEntryAtIndex == _size - 1) ? 0 : _newestEntryAtIndex + 1; + _newestEntryAtIndex = (_newestEntryAtIndex + 1) % size; // insert new entry _buffer[_newestEntryAtIndex] = entry; @@ -53,12 +53,12 @@ public: _numEntries++; } } - + // std::unique_ptr need to be passed as an rvalue ref and moved into the vector void insert(T&& entry) { // increment newest entry index cyclically _newestEntryAtIndex = (_newestEntryAtIndex == _size - 1) ? 0 : _newestEntryAtIndex + 1; - + // insert new entry _buffer[_newestEntryAtIndex] = std::move(entry); if (_numEntries < _capacity) { From caed7da99b0f6ec34fc58ffff1b7be1a275549e1 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 9 Jul 2015 13:23:20 -0700 Subject: [PATCH 2/2] create the avatarPacket in ScriptEngine with the right size --- libraries/script-engine/src/ScriptEngine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index d24b7af714..1a9088ca4b 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -588,7 +588,7 @@ void ScriptEngine::run() { const int SCRIPT_AUDIO_BUFFER_BYTES = SCRIPT_AUDIO_BUFFER_SAMPLES * sizeof(int16_t); QByteArray avatarByteArray = _avatarData->toByteArray(); - auto avatarPacket = NLPacket::create(PacketType::AvatarData); + auto avatarPacket = NLPacket::create(PacketType::AvatarData, avatarByteArray.size()); avatarPacket->write(avatarByteArray);