aboutsummaryrefslogtreecommitdiff
path: root/audio/jack2/README
blob: 3f78bb9b4aee11fa378e90d0c2758f0d147941d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
jackdmp (aka JACK2) is a C++ version of the JACK low-latency audio
server for multi-processor machines. It is a new implementation
of the JACK server core features that aims in removing some
limitations of the JACK1 design. The activation system has been
changed for a data flow model and lock-free programming techniques
for graph access have been used to have a more dynamic and
robust system.

- jackdmp use a new client activation model that allows simultaneous
client execution (on a smp machine) when parallel clients exist
in the graph (client that have the same inputs). This activation model
allows to better use available CPU on a smp machine, but also works
on a mono-processor machine.

- jackdmp use a lock-free way to access (read/write) the client graph,
thus allowing connections/disconnection to be done without
interrupting the audio stream. The result is that
connections/disconnections are glitch-free.

- jackdmp can work in 2 different modes at the server level :
  - synchronous activation : in a given cycle, the server waits for
    all clients to be finished (similar to normal jackd)
  - asynchronous activation : in a given cycle, the server does not
    wait for all clients to be finished and use output buffer
    computed the previous cycle. 
	
The audible result of this mode is that if a client is not activated
during one cycle, other clients may still run and the resulting audio
stream will still be produced (even if its partial in some way).
This mode usually result in fewer (less audible) audio glitches in a
loaded system.

NOTE: this package conflicts with jack-audio-connection-kit: install
only one of the two.

Optional dependencies are celt, libffado and opus.