[LAD] JACK latency API clarifications

Stefano D'Angelo zanga.mail at gmail.com
Thu Feb 20 23:05:03 UTC 2014


2014-02-21 0:45 GMT+02:00 Paul Davis <paul at linuxaudiosystems.com>:
>
>
>
> On Thu, Feb 20, 2014 at 5:32 PM, Stefano D'Angelo <zanga.mail at gmail.com>
> wrote:
>>
>> Hi all,
>>
>> Let's say I have a client that introduces an amount of latency that's
>> variable at runtime and potentially unbounded. From JACK's docs it
>> seems that you need to recompute the min/max latencies in the latency
>> callback that's called "by the server" whenever it feels like, but you
>> can force that by calling jack_recompute_total_latencies (right?).
>>
>> The problem is, you are advised to call this last function only after
>> calling jack_port_set_latency_range(), which you should only call in
>> the latency callback, which may be called next month... am I dumb
>> (probably) or is there a deadly loop?
>
>
> the latency callback will be issued (twice, once for upstream, once for
> downstream) after one of two things happens:
>
>    * the graph changes
>    * a client calls jack_recompute_total_latencies()
>
> you would call the latter if something happens that alters your clients own
> latency (e.g the change to some parameter of an algorithm that causes your
> client to change its latency). then you wait for the latency callback and
> reset your port latencies.

Ok, thanks (to Robin too). Can jack_recompute_total_latenices() be
called from within the process callback too?

Stefano


More information about the Linux-audio-dev mailing list