if (outputFormat.mFormatFlags & kAudioFormatFlagIsNonInterleaved) {
// The audio is non-interleaved
printf("Not interleaved!\n");
self.isInterleaved = NO;
// allocate an AudioBufferList plus enough space for array of AudioBuffers
UInt32 propsize = offsetof(AudioBufferList, mBuffers[0]) + (sizeof(AudioBuffer) * outputFormat.mChannelsPerFrame);
//malloc buffer lists
self.inputBuffer = (AudioBufferList *)malloc(propsize);
self.inputBuffer->mNumberBuffers = outputFormat.mChannelsPerFrame;
//pre-malloc buffers for AudioBufferLists
for(UInt32 i =0; i< self.inputBuffer->mNumberBuffers ; i++) {
self.inputBuffer->mBuffers[i].mNumberChannels = 1;
self.inputBuffer->mBuffers[i].mDataByteSi
// The audio is non-interleaved
printf("Not interleaved!\n");
self.isInterleaved = NO;
// allocate an AudioBufferList plus enough space for array of AudioBuffers
UInt32 propsize = offsetof(AudioBufferList, mBuffers[0]) + (sizeof(AudioBuffer) * outputFormat.mChannelsPerFrame);
//malloc buffer lists
self.inputBuffer = (AudioBufferList *)malloc(propsize);
self.inputBuffer->mNumberBuffers = outputFormat.mChannelsPerFrame;
//pre-malloc buffers for AudioBufferLists
for(UInt32 i =0; i< self.inputBuffer->mNumberBuffers ; i++) {
self.inputBuffer->mBuffers[i].mNumberChannels = 1;
self.inputBuffer->mBuffers[i].mDataByteSi