[LAU] Estimating JACK latency
paul at linuxaudiosystems.com
Mon Apr 16 20:54:45 UTC 2012
On Mon, Apr 16, 2012 at 3:31 PM, S. Massy <lists at wolfdream.ca> wrote:
> Here is the use-case. Sending audio from one application to be processed
> by another jack client before being sent back, the processed signal
> being mixed back in, possibly with a copy of itself. How would one go
> about estimating by how much the processed signal was delayed?
you don't have to estimate it. JACK will tell you.
> 1) JACK base latency:
> My understanding is that JACK will always introduce a latency of
> buffer_size*period_size*nperiods, is that correct?
no, just period_size * nperiods.
> If the signal is
> sent, processed, then sent back, the acquired delay would at least be
> twice the nominal jack latency, right?
> - Problem: On the practical side, how could we calculate the base
> latency using available jack utilities? There's jack_bufsize and
> jack_samplerate, but no way to find the number of periods, I think.
you don't. you use the part of the API that is specifically designed
for this. read the docs for jack_port_get_latency_range()
> 2) Latency of the processing client.
> That would depend largely on the client, I guess. The README.CONFIG for
> jconvolver states that setting the partition number to be equal to the
> jack period size would result in zero latency, for example...
it does depend on the client. a well behaved client will use
jack_port_set_latency_range() to let the rest of the world know what
is going on.
More information about the Linux-audio-user