I was looking for a good, up-to-date documentation
pointer upon software featu
res provided by alsa. But I'm new to this architecture and I might be "intoxic
ated" by some kernel streaming architectures : is there a kind of hardware ab
straction with ALSA, e.g. features that are managed by the software at usr or
kernel level, in a +/-transparent way, when the HW does not provide them ?
yes, its called alsa-lib. its big, its bold, and to some people its
beautiful.
My understanding is that Alsa does not provide multiple
device open (a second
open can be blocking, or return with an error, but won't succeed, as no sw mix
ing is available).
that's correct right at this very moment in time. however, the
mythical "mix" ALSA PCM "plugin" provides
multi-open-without-h/w-support by streaming data to a server called
"aserver". at this time, the mix plugin is not part of the ALSA source
base. its far from clear that anyone is doing any work on it.
is there anything that can be emulated by alsa on user
request, when the hw ca
nnot ? (for instance frequency change, frame conversion (n channels to m chan
nels) etc...).
all of it.
the other alternative that many of us here like rather a lot is JACK
(
http://jackit.sf.net/), which provides a different model: data
sharing between applications, shared access to hardware,
sample-synchronous execution of all applications, and no hardware
parameters to be configured. it sits on top of ALSA (and potentially
other similar hardware abstractions).
--p