diff options
author | Henri Herscher <henri@oreka.org> | 2006-12-05 21:12:12 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-12-05 21:12:12 +0000 |
commit | f2eb4e60e3ad73812501a7d14951805bde113c5a (patch) | |
tree | 97d3a9c871170463c4421d4520799adb4db74dc1 /orkbasecxx/filters | |
parent | c5b036d73e495c0f4dc930233844f1c5c7070995 (diff) |
Fix for an RtpMixer bug where an empty chunk was generated in the output (Background processing was aborting saying the Audio Encoding was unknown). AudioChunk SetBuffer and CreateBuffer methods now use the byteSize contained in the chunk details structure instead of asking for it separately.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@360 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx/filters')
-rw-r--r-- | orkbasecxx/filters/gsm/GsmFilters.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/orkbasecxx/filters/gsm/GsmFilters.cpp b/orkbasecxx/filters/gsm/GsmFilters.cpp index 90ab6d5..af32571 100644 --- a/orkbasecxx/filters/gsm/GsmFilters.cpp +++ b/orkbasecxx/filters/gsm/GsmFilters.cpp @@ -59,9 +59,9 @@ void GsmToPcmFilter::AudioChunkIn(AudioChunkRef& inputAudioChunk) m_outputAudioChunk.reset(new AudioChunk());
outputDetails.m_rtpPayloadType = -1; // Override details that this filter changes
outputDetails.m_encoding = PcmAudio;
-
int numSamples = 160; // standard GSM frame is 33 bytes for 160 PCM samples (20 ms)
- short* outputBuffer = (short*)m_outputAudioChunk->CreateBuffer(numSamples*2, outputDetails);
+ outputDetails.m_numBytes = numSamples*2;
+ short* outputBuffer = (short*)m_outputAudioChunk->CreateBuffer(outputDetails);
unsigned char* inputBuffer = (unsigned char*)inputAudioChunk->m_pBuffer;
gsm_decode(gsmState, inputBuffer, outputBuffer);
}
|