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: Mon, 3 Jan 2011 11:37:00 -0800
Can anyone comment on the feasibility of using AUGraph to render in
offline mode when combining AudioUnits of both the offline and non-
offline variety? As I mention, some of the Apple AUs do not support
offline mode, and thus do not seem to play well in the graph (unless
I'm missing something).
On Dec 28, 2010, at 04:56, Brian Willoughby wrote:
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