On 8/7/19 9:59 PM, Tim wrote:
On 8/7/19 10:59 AM, Holger Marzen wrote:
What is the difference between
jackd -n2 -p192
and
jackd -n3 -p128
Both give a total of 384 samples in buffers.
What's the difference for jackd?
Regards
Holger
Should not make a difference for clients, they would
simply see a 384 buffer size in both cases.
Nope. The client (jack process cycle) block-size is 192 in this case.
The period configuration is ALSA specific and only affects hardware
playback.
The total round-trip latency is likely be longer. That depends on the
driver and kernel side buffering which is sometimes aligned to powers or
two. With -p 192, the input buffer is also 192 samples/channel.
In synchronous mode (jack1, or jack2 -S), processing happens in the
following order. Each letter represents a "-p" number of samples (per port).
time +---------->
Input : ABCDEF
Process : .ABCDE
Out. n=2: ..ABCD
Outp n=3: ...ABC
Jack2's async mode adds one period of playback latency. Instead of
synchronous "Read", "Process", "Write". jack2 in async mode
does:
- Read from the capture device
- Write result of previous cycle to the playback device
- Process
Although, I'm not sure 192 is an allowable period
size.
For jack-clients it is, it can be any number between 1 and 8192. Some
hardware devices impose a lower limit though.
ciao,
robin