A distribution overlay for Raspbian and similar systems to create a JACK-based embedded system for audio processing and streaming. Contract work for [mn] medianet. https://www.medianet-home.de
Other
11
stars
2
forks
source link
Revisiting JACK client dependencies and connections #127
If mn_jackd is restarted, all active JACK clients restart and reconnect.
However, if mn_jackd is stopped and later restarted, the active JACK clients do not follow. It would be nice if there was a way to restart them all in one go.
If any JACK client is restarted, all its connections are restored.
However, a missing JACK client (usually mn_listen because of an icecast2 failure, or zita-n2j) can cause other active JACK clients to time out during connection attemptsm, because their ExecStartPost job does not terminate (waiting for a missing client to connect to, see #69)
Solution:
mn_connect no longer waits for upstream (why did I ever think that's a good idea?)
mn_connect tries to make all connections, fail immediately and move on
mn_connect retries for a specified timeout and then stops so that systemd units no longer time out (units includde the connection with ExecStartPost=-mn_connect %n --timeout 30 --interval 5)
mn_connect sleeps in between for a specified interval (There might be a race condition in client/port creation and/or port enumeration via jack_lsp, so we go easy)
Current situation:
Solution: