From fcfe5c9e251fff30299d5e4d34d1ee2a5f38e59b Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 17 May 2013 12:27:05 -0700 Subject: [PATCH] disallow copying for AudioRingBuffer objects --- libraries/audio/src/AudioRingBuffer.cpp | 18 ------------------ libraries/audio/src/AudioRingBuffer.h | 6 ++++-- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/libraries/audio/src/AudioRingBuffer.cpp b/libraries/audio/src/AudioRingBuffer.cpp index 746ff523f8..19fea1593a 100644 --- a/libraries/audio/src/AudioRingBuffer.cpp +++ b/libraries/audio/src/AudioRingBuffer.cpp @@ -24,28 +24,10 @@ AudioRingBuffer::AudioRingBuffer(int ringSamples, int bufferSamples) : _nextOutput = _buffer; }; -AudioRingBuffer::AudioRingBuffer(const AudioRingBuffer &otherRingBuffer) { - _ringBufferLengthSamples = otherRingBuffer._ringBufferLengthSamples; - _bufferLengthSamples = otherRingBuffer._bufferLengthSamples; - _started = otherRingBuffer._started; - _shouldBeAddedToMix = otherRingBuffer._shouldBeAddedToMix; - _shouldLoopbackForAgent = otherRingBuffer._shouldLoopbackForAgent; - - _buffer = new int16_t[_ringBufferLengthSamples]; - memcpy(_buffer, otherRingBuffer._buffer, sizeof(int16_t) * _ringBufferLengthSamples); - - _nextOutput = _buffer + (otherRingBuffer._nextOutput - otherRingBuffer._buffer); - _endOfLastWrite = _buffer + (otherRingBuffer._endOfLastWrite - otherRingBuffer._buffer); -} - AudioRingBuffer::~AudioRingBuffer() { delete[] _buffer; }; -AudioRingBuffer* AudioRingBuffer::clone() const { - return new AudioRingBuffer(*this); -} - const int AGENT_LOOPBACK_MODIFIER = 307; int AudioRingBuffer::parseData(unsigned char* sourceBuffer, int numBytes) { diff --git a/libraries/audio/src/AudioRingBuffer.h b/libraries/audio/src/AudioRingBuffer.h index fb739629c9..68c35937a7 100644 --- a/libraries/audio/src/AudioRingBuffer.h +++ b/libraries/audio/src/AudioRingBuffer.h @@ -22,10 +22,8 @@ class AudioRingBuffer : public AgentData { public: AudioRingBuffer(int ringSamples, int bufferSamples); ~AudioRingBuffer(); - AudioRingBuffer(const AudioRingBuffer &otherRingBuffer); int parseData(unsigned char* sourceBuffer, int numBytes); - AudioRingBuffer* clone() const; int16_t* getNextOutput() const { return _nextOutput; } void setNextOutput(int16_t* nextOutput) { _nextOutput = nextOutput; } @@ -48,6 +46,10 @@ public: short diffLastWriteNextOutput(); private: + // disallow copying of AudioRingBuffer objects + AudioRingBuffer(const AudioRingBuffer&); + AudioRingBuffer& operator= (const AudioRingBuffer&); + int _ringBufferLengthSamples; int _bufferLengthSamples; Position _position;