diff options
author | Henri Herscher <henri@oreka.org> | 2006-08-01 14:55:23 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-08-01 14:55:23 +0000 |
commit | 3ce7841e81e44a21c0aaad0881c104699f871c3f (patch) | |
tree | 61341474d5b78f17b11573c14c1909c6d19adf29 | |
parent | 7eb2bf35a3e972fa4cfdad4560945296b86f2550 (diff) |
Applying changeset 305 from 0.5 to trunk:
Fixed RtpMixer memory leak when a silence buffer was created.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@324 09dcff7a-b715-0410-9601-b79a96267cd0
-rw-r--r-- | orkaudio/filters/rtpmixer/RtpMixer.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/orkaudio/filters/rtpmixer/RtpMixer.cpp b/orkaudio/filters/rtpmixer/RtpMixer.cpp index d5c8067..eaa76a8 100644 --- a/orkaudio/filters/rtpmixer/RtpMixer.cpp +++ b/orkaudio/filters/rtpmixer/RtpMixer.cpp @@ -333,18 +333,14 @@ void RtpMixer::CreateShipment(size_t silenceSize) if (silenceSize) { byteSize = silenceSize*2; - char* silenceBuffer = (char*)calloc(byteSize, 1); - if (silenceBuffer) - { - AudioChunkRef chunk(new AudioChunk()); - AudioChunkDetails details; - details.m_encoding = PcmAudio; - chunk->SetBuffer((void*)silenceBuffer, byteSize, details); - m_outputQueue.push(chunk); - m_shippedSamples += silenceSize; - m_readPtr = CircularPointerAddOffset(m_readPtr ,silenceSize); - m_readTimestamp += silenceSize; - } + AudioChunkRef chunk(new AudioChunk()); + AudioChunkDetails details; + details.m_encoding = PcmAudio; + chunk->CreateBuffer(byteSize, details); + m_outputQueue.push(chunk); + m_shippedSamples += silenceSize; + m_readPtr = CircularPointerAddOffset(m_readPtr ,silenceSize); + m_readTimestamp += silenceSize; debug.Format("Ship %d silence samples, rd:%x rdts:%u", silenceSize, m_readPtr, m_readTimestamp); LOG4CXX_DEBUG(m_log, debug); } |