[LAD] WIP, RFC: jack2_split

From: Florian Paul Schmidt <mista.tapas@email-addr-hidden>
Date: Thu Jul 23 2020 - 14:30:29 EEST

Hi,

I had a hunch that's there is a way to trade latency for parallelism in
serial jack graphs (at least on jack2/jackdmp setups). Comments welcome..

https://github.com/fps/jack2_split

README.md below:

jack2_split

A program that facilitates parallelism in serial jack graphs by
introducing latency. Only useful for jack2/jackdmp - it does nothing but
add latency in jack1 setups.

What?

If you have a jack processsing graph that looks like this:

capture -> A -> B -> playback

where A and B are jack clients, then A and B must be scheduled in series
due to the linear dependency.

Running A and B serially might produce xruns (i.e. violate the
scheduling deadline imposed by jackd) while running only A or only B
might not.

jack2_split can be used to remedy the situation by using the following
graph:

capture -> A -> jack2_split -> B playback

jack2_split breaks the serial dependency by registering two jack clients
which respectively only have terminal input and output ports. It copies
the buffers from its inputs to its outputs after the current process
cycle. This introduces one additional period of latency into the graph,
but allows jack2/jackdmp to schedule A and B in parallel (e.g. on two
cores).

--
https://fps.io
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Fri Jul 24 04:15:01 2020

This archive was generated by hypermail 2.1.8 : Fri Jul 24 2020 - 04:15:01 EEST