[Jack-Devel] Usage feasibility Q

Chris Caudle chris at chriscaudle.org
Sat Jan 27 21:55:57 CET 2018


On Sat, January 27, 2018 12:42 pm, Filipe Coelho wrote:
>> The jack design is not really made for having
>> plugins in the server.

> The JACK internal clients API disagrees with you ;)

OK, I stated too strongly.  Perhaps a better way to state is that
implementing the DSP as an external jack program may be more convenient,
and would be the more typical way to implement.

I'm not completely convinced that what I stated was actually too strong,
though.
To quote Paul Davis
https://lists.linuxaudio.org/pipermail/linux-audio-user/2018-January/109472.html
"In-process JACK clients are a very special case and almost nobody
implements or uses them. They are like plugins for the JACK server, and
that's not really the point of JACK (which was designed to connect distinct
processes)."

I consider Paul a reasonably good authority on jack programming.

> Internal clients are faster to run, since they dont require context
> switches between different processes.

Context switches are only a few microseconds.  Whether to implement as a
plugin or external client should be based on development effort and ease
of debugging, the context switch time should be less than 0.5% of any
reasonably sized period so should not be a consideration.

> They're harder to control externally though.

Which functions are implemented as jack plugins?  There are several
example clients available from the jack source repository, are there
example internal plugins?

-- 
Chris Caudle





More information about the Jackaudio mailing list