On Mon, Oct 30, 2006 at 02:55:33PM -0500, Paul Davis wrote:
On Mon, 2006-10-30 at 18:52 +0100, Fons Adriaensen
wrote:
- hardware presents itself as 2 * 96 kHz
- user wants to see a device with 4 * 48 kHz.
interestingly, ADAT devices do the opposite to get to SR's above 48kHZ:
- hardware runs as N * 48 kHz channels
- data is multiplexed across 2 channels at once
- user sees N/2 channels at 96kHz
this is not done with ALSA plugins, but in the driver.
note that JACK wants if possible to sit close to the h/w, so an ALSA
plugin is not ideal. JACK uses mmap to read/write data from/to the
device, so the work of an ALSA plugin is hard ...
Yes, there should be as little as possible between JACK and the
hardware. But providing a memory mapped interface should not be
too difficult. Maybe it's even easier than any other one - all
the plugin needs to do is provide a pointer to its own buffers
using ALSA's mmapped API.
BTW, it has for long been my opinion that there is no need for
ALSA to provide anything else than the mmapped interface.
The other solution (which I would not dislike) is to do the
demuxing in JACK's backend.
--
FA
Lascia la spina, cogli la rosa.