diff options
author | Liong Sauw Ming <ming@teluu.com> | 2011-01-31 11:27:48 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2011-01-31 11:27:48 +0000 |
commit | 2def80099d2c118fd094688bb4938879948306e7 (patch) | |
tree | 1862b6b98df0725562fefea62f978a4a05ae6f08 /pjmedia | |
parent | 411ab33834bdaf5d7dc129459ee6a0ad2ac2cd1f (diff) |
Re #1192: Fixes stereo support.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3410 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/src/pjmedia-audiodev/coreaudio_dev.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c b/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c index 43367fe9..65740b7d 100644 --- a/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c +++ b/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c @@ -660,9 +660,10 @@ OSStatus resampleProc(AudioConverterRef inAudioConverter, *ioNumberDataPackets = strm->resample_buf_size; ioData->mNumberBuffers = 1; - ioData->mBuffers[0].mNumberChannels = 1; + ioData->mBuffers[0].mNumberChannels = strm->streamFormat.mChannelsPerFrame; ioData->mBuffers[0].mData = strm->resample_buf_ptr; ioData->mBuffers[0].mDataByteSize = *ioNumberDataPackets * + strm->streamFormat.mChannelsPerFrame * strm->param.bits_per_sample >> 3; return noErr; @@ -725,7 +726,8 @@ static OSStatus resample_callback(void *inRefCon, if (nsamples >= resampleSize) { pjmedia_frame frame; - UInt32 resampleOutput = strm->param.samples_per_frame; + UInt32 resampleOutput = strm->param.samples_per_frame / + strm->streamFormat.mChannelsPerFrame; AudioBufferList ab; frame.type = PJMEDIA_FRAME_TYPE_AUDIO; @@ -735,7 +737,7 @@ static OSStatus resample_callback(void *inRefCon, frame.bit_info = 0; ab.mNumberBuffers = 1; - ab.mBuffers[0].mNumberChannels = 1; + ab.mBuffers[0].mNumberChannels = strm->streamFormat.mChannelsPerFrame; ab.mBuffers[0].mData = strm->rec_buf; ab.mBuffers[0].mDataByteSize = frame.size; @@ -778,7 +780,8 @@ static OSStatus resample_callback(void *inRefCon, /* Do the resample */ strm->resample_buf_ptr = input; ab.mBuffers[0].mDataByteSize = frame.size; - resampleOutput = strm->param.samples_per_frame; + resampleOutput = strm->param.samples_per_frame / + strm->streamFormat.mChannelsPerFrame; ostatus = AudioConverterFillComplexBuffer(strm->resample, resampleProc, strm, |