Thanks Bill, I put together this at the end of MakeSimpleGraph();
[...............]
OSStatus err;
// setup the render callback
AURenderCallbackStruct input;
input.inputProc = MyRendererCallback;
input.inputProcRefCon = NULL;
err = AudioUnitSetProperty (anAU,
kAudioUnitProperty_SetRenderCallback,
kAudioUnitScope_Input,
0,
&input,
sizeof(input));
XThrowIfError (err, "kAudioUnitProperty_SetRenderCallback");
}
currently MyRendererCallback() does nothing:
OSStatus MyRendererCallback(void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
{
return noErr;
}
but I get a CAException from this setup when MakeSimpleGraph gets
called:
playing file: /Users/tao/Music/iTunes/iTunes Music/Lamb/What
Sound/07 Small.mp3
format: AudioStreamBasicDescription: 2 ch, 44100 Hz,
'.mp3' (0x00000000) 0 bits/channel, 0 bytes/packet, 1152 frames/
packet, 0 bytes/frame
terminate called after throwing an instance of 'CAXException'
CocoaPlayFile has exited due to signal 6 (SIGABRT).
pretty certain it's my new code. Any suggestions on this?
Michael
On 15-Dec-05, at 10:48 AM, William Stewart wrote:
Have a look at the Default Output code in the SDK - it shows you
have to establish the callback and feed data to it once the
output unit has been started. There are also some explanations in:
/Developer/Examples/CoreAudio/Documentation/AudioUnits/
Bill
On 14/12/2005, at 10:01 PM, Michael Hanna wrote:
Hi all,
I'm assuming this call is done in a callback. How do I setup
and create this callback? Pardon my naive questions.