[Jackit-devel] alsa pcm_jack plugin (fwd)
stefan at space.twc.de
Thu Feb 27 16:35:18 GMT 2003
On Tue, Feb 25, 2003 at 07:45:15PM +0200, Kai Vehmanen wrote:
> >I started a new alsa plugin, called pcm_jack. This plugin is
> can we give this man a hand? how about 3 hands? or 4? how about we
> give him an entire orchestra of hands?
> from my perspective, this just about completes the audio API story for
> Linux. we have:
> 1) for truly cross-platform audio: PortAudio
> 2) for generic Linux audio applications: ALSA
> 3) for real-time "pro" audio applications: JACK
> All 3 are connected together in a kind of trinity:
> PortAudio: can output via JACK or ALSA
> ALSA: can output via JACK
> JACK: output via ALSA
> Personally, I would characterize it a third way:
> Hardware abstraction layer: ALSA
> Software abstraction layer: JACK
> Platform abstraction layer: PortAudio
> Which API to pick for any given new project is still a dilemma, and I
> suggest that the entire LAD (in the generic sense of that term) comes
> up with some recommendations and posts them somewhere conspicuous.
The problem appears to be that with an arbitary number of targets N, you
need N^2 drivers to let any of them output to any other.
Currently, commonly used (or expected to be commonly used) targets are
hardware: ALSA, OSS, various other operating systems
sound servers: aRts, EsounD, NAS, MAS, JACK
platform: PortAudio, SDL, libao, probably others
Thus only counting the ones I mentioned, we have
without CSL: N^2 = 10^2 = 100 drivers to write
with CSL : 2*N = 2*10 = 20 drivers to write
just to guarantee "interoperability".
This is why I think an "entiere orchestra of hands" would be available if
anybody currently working on any of the pieces of software I counted as
targets would see that working on 100 drivers is more work than working on
20 drivers, and then put your work where you think it is invested best.
By the way, I think making ALSA available and supported on all platforms
would be also a feasible alternative, but on the other hand, as doing a good
hardware abstraction for linux is a more than complicated job, maybe ALSA
could concentrate on just doing this, and doing this right.
-* Stefan Westerfeld, stefan at space.twc.de (PGP!), Hamburg/Germany
KDE Developer, project infos at http://space.twc.de/~stefan/kde *-
More information about the kde-multimedia