[linux-audio-dev] API for Input / Output plugins

Fons Adriaensen fons.adriaensen at skynet.be
Tue May 11 22:45:48 UTC 2004

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.


More information about the Linux-audio-dev mailing list