>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