Quoting Ralph Giles <giles@xiph.org>:
> ALSA is the future, and has nice additions like latency feedback (not so
> important for voice, but very important for audio/video sync). However,
> ALSA will emulate the OSS device interface for many years to come, so
> really it depends on your application. If your targets all support ALSA
> (e.g. linux distributions released in the last year or so) I would use
> it, otherwise use OSS and rely on the compatibility layer.
I heartily second this. While ALSA support for hardware had a wobbly start,
which originally put off many early (2-3 years ago) developers of audio
applications from making things work RIGHT NOW, these days the driver support
and feature set of ALSA make this the better choice, especially for new
developments.
I've done quite a few audio projects (multi-channel audio logging) in
conjunction with JACK (<http://jackit.sourceforge.net/>) which allowed for
truly easy multi-threaded/callback-driven audio I/O that never dropped frames,
etc, etc.
ALSA is actively maintained and improving, and its driver support has lapped
the completeness and correctness of OSS for quite some time now. It also has
proper API support for an arbitrary number of audio channels, in or out, and a
variety of audio routing/mixing/etc configurations that were not conceived of
in OSS's day.
ALSA is also a mature enough API that code written to it will work for the
foreseeable future, whilst OSS code will eventually fall off the twig.
=R=