Re Getting Notifications for AudioUnit Render
Re Getting Notifications for AudioUnit Render
- Subject: Re Getting Notifications for AudioUnit Render
- From: William Stewart <email@hidden>
- Date: Fri, 11 Feb 2005 11:52:39 -0800
On 11/02/2005, at 5:51 AM, Stéphane Letz wrote: Le 9 févr. 05, à 19:38, William Stewart a écrit : On 09/02/2005, at 1:12 AM, Stéphane Letz wrote: >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. Thanks for the explanations. My AU was not reporting any tailtime. I tried to implement GetTailTime and SupportsTail but I still have problems. I was thinking that as soon an AU has a tailtime, then it would receive silence buffers during the tailtime duration and that would "automatically" clear the last dirty buffer I had. Is the tailtime semantic this one?
Basically the host would continue to call your AU for output, but because its run out of input, would provide silence. However, there's no indication that you are at the end of a slice (ie. that there won't be anymore work to do) - its just more input for you to process. So, the AU would then have a cached internal state at the end of this that is a result of processing that amount of silent input.
My AU redirect audio streams to other processes. I added the following functions : virtual Float64 GetTailTime() {printf("GetTailTime\n"); return (Float64)1.f;} virtual bool SupportsTail() {printf("SupportsTail\n"); return true;} thinking that when Logic stops, it would deliver empty buffer during the tail duration. But it seems that the AU ProcessBufferLists callback is "stopped" immediately, and a "dirty" buffer is still used instead of a silent one. (Logic Platinium 6.3.3)
I suspect Stefan's comments are based on Logic 7 not Logic 6. If you need a developer version of Logic 7 I think that is still an option for AU developers - I'm sure Stefan can redirect you if that's still available.
Bill
|
_______________________________________________
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