[...]
I'm a newbie to LAD, but I have some years of
experience of developing
and using a system similar to JACK for routing blocks of samples to
DSP modules of a digital satellite control receiver and transmitter
system running on Solaris (we are talking about some megasamples per
second here).
IMHO, the only sensible way for a system like JACK to operate is by
using a constant blocksize.
IMHO the hardware should dictate the blocksize. For most audio
interfaces this will be constant. For some it is not.
Anyway, if you have several HW interfaces
each using their own blocksize or interrupt frequency then this is the
only sane option.
This is another issue. JACK doesn't not support more than one device
nor should it. If an application wants to use more than one device the
extra buffering and possibly synchronisation is up the the application.
If this means an extra buffering layer, then so be it.
That's the
price you pay for sloppy HW design.
I really don't think that hardware that doesn't provide a constant
number of samples per interrupt is sloppy HW design and I think
the audio framework and applications should handle this without
adding unnecessary buffering.
BTW, can JACK handle several HW interface using
different blocksizes
at a time (assuming sample frequencies are coherent) ?
No, but you could run several instances of JACK.
--ms