On Tue, May 11, 2004 at 06:01:04PM -0400, Paul Davis wrote:
there are fundamentally different approaches to
handling i/o when it
involves hardware. one of them is based on the traditional unix
read/write model, the other is based on a callback/interrupt
model. its not easy to reconcile these models. in fact, its basically
impossible without adding lots of buffering and thus killing latency
performance.
...
choosing between these two models makes a phenomenal difference to the
design of your overall application. its not a choice to be taken
lightly, and you can't move back and forth between the two models with
ease.
True, but OTOH it's quite easy to convert ALSA to a 'callback' model,
and that's in fact what all apps that support both ALSA and JACK (and
of course also JACK itself) are doing. Basically all you need to do
(besides the normal ALSA incantations) is to create a thread.
But I agree 100% that there is no need for an I/O plugin standard.
With JACK and ALSA available, you can more or less forget about all
the rest.
--
FA