I'm just working on getting samples for processing from a microphone. I have an audio device configured for input and output, and both have visualization callbacks. My question is about callback for mic callback.
I want core-audio to allocate a microphone callback buffer for me.
UInt32 shouldAllocateBuffer = 1; AudioUnitSetProperty(audioUnit, kAudioUnitProperty_ShouldAllocateBuffer, kAudioUnitScope_Global, 1, &shouldAllocateBuffer, sizeof(shouldAllocateBuffer));
Doing this, however, always results in a NULL ioData pointer in the callback. Am I delaying the allocation of my own buffer?
Enter
static OSStatus recordingCallback(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) { OSStatus status; status = AudioUnitRender(audioUnit, ioActionFlags, inTimeStamp, inBusNumber, inNumberFrames, ioData);
Play
static OSStatus playbackCallback(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) {
source share