From 1e0dcd0eae28abdab0f896d4ae9276651ce58ef6 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 11 Jun 2013 14:49:56 -0700 Subject: [PATCH] add a map for TwoPole objects to AvatarAudioRingBuffer --- audio-mixer/src/AvatarAudioRingBuffer.cpp | 8 ++++++++ audio-mixer/src/AvatarAudioRingBuffer.h | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/audio-mixer/src/AvatarAudioRingBuffer.cpp b/audio-mixer/src/AvatarAudioRingBuffer.cpp index 6da4e20871..144f0181d9 100644 --- a/audio-mixer/src/AvatarAudioRingBuffer.cpp +++ b/audio-mixer/src/AvatarAudioRingBuffer.cpp @@ -11,10 +11,18 @@ #include "AvatarAudioRingBuffer.h" AvatarAudioRingBuffer::AvatarAudioRingBuffer() : + _twoPoles(), _shouldLoopbackForAgent(false) { } +AvatarAudioRingBuffer::~AvatarAudioRingBuffer() { + // enumerate the freeVerbs map and delete the FreeVerb objects + for (TwoPoleAgentMap::iterator poleIterator = _twoPoles.begin(); poleIterator != _twoPoles.end(); poleIterator++) { + delete poleIterator->second; + } +} + int AvatarAudioRingBuffer::parseData(unsigned char* sourceBuffer, int numBytes) { _shouldLoopbackForAgent = (sourceBuffer[0] == PACKET_HEADER_MICROPHONE_AUDIO_WITH_ECHO); return PositionalAudioRingBuffer::parseData(sourceBuffer, numBytes); diff --git a/audio-mixer/src/AvatarAudioRingBuffer.h b/audio-mixer/src/AvatarAudioRingBuffer.h index 7efb503f16..d35113e65e 100644 --- a/audio-mixer/src/AvatarAudioRingBuffer.h +++ b/audio-mixer/src/AvatarAudioRingBuffer.h @@ -9,20 +9,29 @@ #ifndef __hifi__AvatarAudioRingBuffer__ #define __hifi__AvatarAudioRingBuffer__ +#include +#include + #include "PositionalAudioRingBuffer.h" +typedef std::map TwoPoleAgentMap; + class AvatarAudioRingBuffer : public PositionalAudioRingBuffer { public: AvatarAudioRingBuffer(); + ~AvatarAudioRingBuffer(); int parseData(unsigned char* sourceBuffer, int numBytes); + TwoPoleAgentMap& getTwoPoles() { return _twoPoles; } + bool shouldLoopbackForAgent() const { return _shouldLoopbackForAgent; } private: // disallow copying of AvatarAudioRingBuffer objects AvatarAudioRingBuffer(const AvatarAudioRingBuffer&); AvatarAudioRingBuffer& operator= (const AvatarAudioRingBuffer&); + TwoPoleAgentMap _twoPoles; bool _shouldLoopbackForAgent; };