Re: Getting notifications for AudioUnit ProcessBufferLists method
Re: Getting notifications for AudioUnit ProcessBufferLists method
- Subject: Re: Getting notifications for AudioUnit ProcessBufferLists method
- From: William Stewart <email@hidden>
- Date: Tue, 8 Feb 2005 13:07:06 -0800
On 08/02/2005, at 10:51 AM, Marc Poirier wrote:
On Feb 8, 2005, at 1:40 PM, Stefan Gretscher wrote:
Am 08.02.2005 um 19:09 schrieb Marc Poirier:
I believe that the original question is not about sequencer
start/stop, but about the starting and stopping of DSP rendering
between discontiguous audio regions, where Logic will turn off
effects during the breaks to save on CPU (i.e. the sequencer is
continuing to run this whole time). So far as I could tell from my
tests, Logic is not calling AudioUnitReset() when stopping or
restarting DSP in these cases, which causes the problem originally
described. Unless I am missing something, I think that Logic should
be doing a Reset on the AU(s) in those cases.
Ok, a "gap" in arrangement is something different.
In this case, there is indeed no reset because the engine keeps
running during all time and we've found a few AUs acting so slow on
Reset() (and allocating memory during that function) that it caused
serious problems.
However, the missing reset should not be a problem because the engine
keeps on processing the AU until the tailtime reported by the AU is
over (or until there's less than 60 dB of output for more than 1
second or so). This way, the AU will run until their buffers are (at
least very close to) silent, and the start of the next audio region
should be processed without leftovers.
Ah right, I didn't think of that, yes so then the AU should be clean
when it's re-started.
That said, anyone who is allocating memory during Reset() needs to be
conked upside the head. :-/
I couldn't agree more. Stefan, can you provide a list of the AU's that
are doing this please.
Bill
I mean, for example, a user can still bypass and unbypass an AU at any
point during audio rendering, which will result in Reset(), and AUs
definitely need to be able to handle that! I would hope that such AUs
would be swiftly fixed and that host developers don't have to do any
other workarounds for their sake...
Marc
_______________________________________________
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
_______________________________________________
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