I have a render callback proc that I’ve installed on
an audio converter with the standard arguments:
OSStatus fileRenderProc (void* inRefCon,
AudioUnitRenderActionFlags
*inActionFlags,
const AudioTimeStamp
*inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumFrames,
AudioBufferList
*ioData);
My question is that when I copy the data into *ioData->mBuffers[0].mData,
I’m supposed to return the number of bytes copied in
*ioData->mBuffers[0].mDataByteSize.
However, if I don’t have the amount of data requested
by inNumFrames * packetSize, I still put the amount I did have (and copied) in
mDataByteSize and core audio will just call me again for the remainder. I
wanted to make sure I was interpreting the documentation correctly about this.
Thanks,
Stephen