Re: AUGraph with own render thread
Re: AUGraph with own render thread
- Subject: Re: AUGraph with own render thread
- From: Heinrich Fink <email@hidden>
- Date: Wed, 09 Nov 2011 10:54:41 +0100
Hi Michael,
>> Now my question is, since I am not able to use hardware I/O thread provided by the AUHal, what is the best way to create a manual audio render callback thread without having to sacrifice too much performance.
>
> I'm more familiar with the iOS flavour of Core Audio, so perhaps I'm missing something obvious, but...why exactly can't you perform your AudioUnitRender call from the AUHal thread?
Because that would only make sense if I was actually going to play out sound at the AudioDevice the AUHal is using. The actual video card's SDK, however, does not provide a CoreAudio device. I could of course just use the default audio device on the system for rendering the audio graph, but I have the feeling that "abusing" the AUHal with a device that should never play any sound just for getting a proper render callback would be an unnecessary hack. Therefore I would really like to just drive the graph manually with a timing as close as possible to real time. It's basically the output equivalent of the AUDeferredRenderer unit.
I'm trying to rephrase my question(s):
] Are there any implications in terms of creating your own high priority thread to render the graph? (for example, certain effect units that do not behave well, etc…)
] How is the AUHal actually determining the timing of pulling from the connected audio unit? Is it really just the time-domain equivalent of the audio hardware's buffer size?
I'm currently thinking that probably the best way would be to implement a custom output audio unit and to use the "start" selector to kick off the audio rendering thread and to use the "stop" selector to stop it.
best,
Heinrich
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden