summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2011-01-31 11:27:48 +0000
committerLiong Sauw Ming <ming@teluu.com>2011-01-31 11:27:48 +0000
commit2def80099d2c118fd094688bb4938879948306e7 (patch)
tree1862b6b98df0725562fefea62f978a4a05ae6f08 /pjmedia
parent411ab33834bdaf5d7dc129459ee6a0ad2ac2cd1f (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.c11
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,