Hi, I have built my hifi system around using Jack to feed through to
Brutefir to support some pretty exotic crossovers to drive a large
number of amplifiers and some other mojo...
At the moment I run jack at 44Khz, and for DVD's or TV which are at
48Khz I have implemented resampling via libsamplerate in mythtv (the
same in Xine is still on my todo list...) However, currently
libsamplerate is not terribly optimised and consumes around 1Ghz of a P4
processor just to do the resampling. If possible I would like to get
rid of this overhead (eyeing HD tv using MPEG4 which is currently
needing more CPU than can be purchased easily...)
What I would really like to do is to have jack only startup on demand
and startup based on the rate requested via some API function. I would
then have to startup Brutefir with a specific config based on the
samplerate in use by Jack, and finally join the graph together correctly.
Because it's a closed system only for my use I have no huge problems
coding up custom versions of the required software, but it's obviously
useful to patch things as little as possible.
How close is Jack to be able to do what I need above? What hooks do I
have available to try and make this all work as desired? There used to
be some vestigual features to allow Jack to autostart - how do those now
work? What options are there these days to autoconnect various
input/output ports reliably?