Re #1192: Fixes stereo support.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3410 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c b/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c
index 43367fe..65740b7 100644
--- a/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c
+++ b/pjmedia/src/pjmedia-audiodev/coreaudio_dev.c
@@ -660,9 +660,10 @@
*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 @@
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 @@
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 @@
/* 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,