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