Martijn Sipkema writes:
According to the mLAN spec you need a buffer of around ~250us (depending
on format) to collate the packets.
Still there is no guarantee that 10 packets always have exactly the same
number of samples. You say the mLAN spec says you need a buffer of
around ~250us. Note that is doesn't say a buffer of a number of frames.
The bottom line is these packets are sent at regular time intervals, not
at a fixed number of frames and thus JACK should support this by
allowing non-const (frames) callbacks IMHO.
As was previously pointed out several times, this is not JACK's
job. The driver should assemble the the data into fixed size blocks.
This will not introduce any signifcant latency, unless the periods
are nearly the same, in which case the latency could double.
The model you propose may be fine when you have *one* HW interface and
*one* application, but it does not scale without introducing a lot
of complexity.
--
FA