Re: Changing the latency from within the render callback.
Re: Changing the latency from within the render callback.
- Subject: Re: Changing the latency from within the render callback.
- From: Marc Poirier <email@hidden>
- Date: Fri, 27 Feb 2004 01:08:13 -0500 (EST)
After reading this, I wonder, why is your latency dependent on each render
slice size?
Marc
On Thu, 26 Feb 2004, Philippe Wicker wrote:
>
I myself cannot figure how a host could manage delay compensation if
>
AUs latency is changed at *each* render calls or even only very often.
>
Notice however that "changing this latency at *any* time" - including
>
while in the render callback - does not mean changing it at *each*
>
render calls. In my particular case, the latency will be exactly the
>
size of one render buffer, ie the size which is passed in the render
>
callback parameter inNumberFrames. As far as I have understood, this
>
value is under the control of the host. Running with Logic, which is
>
the host I use for my testings, this size is chosen in the "Audio
>
Drivers" panel. I cannot query this information from the host before
>
Initialize method is running (no api I know about for this). I don't
>
have either this information when ChangeStreamFormat is called because
>
the stream format does not tell anything about the buffer size at
>
render time. SetMaxFramesPerSlice does not do it either. The value I
>
receive here is 1156 (which is a default value set somewhere in the SDK
>
code) while the size I've chosen in the Audio panel is 256.
>
GetLatency is called after Initialize if the AU is actually used in a
>
track and before a call to the render callback. The earliest time I get
>
the information I need (the size of the render buffer and therefore my
>
true latency) is the first call to my render callback, so I cannot
>
return here a valid value. That's the reason why I was considering
>
using the notification mechanism to tell the host what is my latency.
>
If some special constant was defined, such as kAULatencyIsOneBuffer,
>
this is the value I'd have returned to the host in GetLatency. If
>
anyone has a better idea, I'll take it :))
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.