[Jack-Devel] I'm confused about latency

Robin Gareus robin at gareus.org
Fri Apr 5 18:15:58 CEST 2019


On 4/5/19 2:35 PM, Alexandre BIQUE wrote:
> On 4/5/19 1:13 PM, Robin Gareus wrote:
>> A better example is
>>
>>   [HW Input] -> [App1] -> [App2] -> [HW Output]
> 
> What about this one:
> 
> [HW Input] -> [App1] -> [App2] -> [HW Output]
>            `-----------^
> 
> How is App2 supposed to work out its input latency?
>

It just looks up the value(s) from its input port(s):
 jack_port_get_latency_range(port, JackCaptureLatency, &latency_range);


If you meant that App1 is latent, and App2's input-port is connected to
the sum of App1's output and the HW's capture port. Then the latency is
ambiguous (jack reports a range).

If App1 doesn't introduce a latency. App2 will see a single value for
the capture-latency on its input port.

jack does not include a "delay in the wire" to align paths. JACK is a
patchbay. It provides mechanism for efficient inter-application
connections, jackd itself does not enforce a policy on the user.

Cheers!
robin



More information about the Jackaudio mailing list