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.