Re: Converting an AUGraph to offline mode
Re: Converting an AUGraph to offline mode
- Subject: Re: Converting an AUGraph to offline mode
- From: Brian Willoughby <email@hidden>
- Date: Tue, 28 Dec 2010 04:56:15 -0800
Perhaps I should preface my question by pointing out that I want to
include AudioUnits in my AUGraph which do not support
kAudioUnitProperty_OfflineRender with those that do. So, another way
to phrase my question is: Can you combine offline and non-offline AUs
in the same graph for use in offline mode? If not, how are normal
effects supposed to be used when bouncing a file if some of the
plugins in the graph are offline and some do not support that mode?
On Dec 28, 2010, at 04:45, Brian Willoughby wrote:
I have an AUGraph that is rendering properly to a file. I would like
to convert this to offline mode, but it doesn't seem that AUGraph
passes through the kAudioOfflineUnitRenderAction_* flags. In other
words, when I call AudioUnitRender(), I start by passing in
kAudioOfflineUnitRenderAction_Preflight and loop until
kAudioOfflineUnitRenderAction_Complete is set, then I pass in
kAudioOfflineUnitRenderAction_Render until
kAudioOfflineUnitRenderAction_Complete is set. My AUGraph has a
Matrix Mixer feeding High Pass Filter and Peak Limiter and ending
with the Generic Output. The head of this AUGraph is a callback
which uses ExtAudioFileRead() after checking the
AudioUnitRenderActionFlags, but it seems that I never get any flags
but 0.
The example offline host code only sets up a single AudioUnit, not a
full AUGraph. So, I'm wondering what an AUHost is supposed to do
when there is a whole graph of AudioUnits that need to be run
offline, e.g., for bouncing to disk. Don't tell me that you must
setup separate callbacks for every AU and call them independently for
offline mode!
What I had hoped was that my flags would be passed through from
AudioUnitRender() to the head of my graph, where my callback can use
the ExtAudioFile to determine when to set the _Complete bit.
Apparently, the Apple AUs overwrite the flags on return, or perhaps
do not even pass them down when pulling their input data on render.
Has anyone worked with a full AUGraph in offline mode? I'd
appreciate any comments or guidelines. The CoreAudio Mailing List
archives do not seem to cover this combination.
Brian Willoughby
Sound Consulting
_______________________________________________
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