Alsa is an end-user nightmare
Alsa is an end-user nightmare
Posted Dec 19, 2006 13:32 UTC (Tue) by nim-nim (subscriber, #34454)In reply to: Alsa is an end-user nightmare by jd
Parent article: Linux desktop architects map out plans for 2007 (Linux.com)
Grr, wanted to reply here and replied there (http://lwn.net/Articles/214858/) instead
Posted Dec 19, 2006 17:57 UTC (Tue)
by jd (guest, #26381)
[Link]
I appreciate your comments and, yes, you are right that users will want
full access to the cards. (And sometimes that will be plural. Less so
these days, but it wasn't that long ago when if you didn't have both an
LAPD1 and a Soundblaster, you didn't have a sound system worth a damn -
and programs were written to expect you to have both.)
The tendency has been to push the intelligence into the libraries and
drivers, so that apps writers describe what they want and the environment
they run over does all of the logic to decide how best to achieve the
results. This makes apps writing relatively easy, but does have the
penalty that you're limited to what can be achieved (in some form or
other) across the board. Multiple APIs you can blend as needed is an
improvement, in that applications can choose to take back control on an
as-needed basis, but it doesn't solve the problem that applications are
still going to be limited to lowest common denominators for a lot of
operations.
The more access you want, the higher up you need the intelligence. This
is true for any hardware - the less you can assume, the more you have to
decide. There are still levels of encapsulation you can do - SCSI vs.
IDE, Ethernet vs. ATM, or whatever. This allows you to stack stuff
together, so that you only need to bubble up what absolutely can't be
done at a lower level, and it only needs to bubble up so far and no
further.
The other thing to consider is that sound cards are generally presented
as cards. One physical entity with a fixed number of physical channels
associated with it. Almost no other device on the system is exposed in
this manner. They are all exposed per virtual channel, where one virtual
channel may encompass any designated fraction F of N physical channels
across M physical devices. Applications just see the virtual channel,
they neither need to know or care about the values of F, N and M.
Because sound is treated at a purely physical level, there is much less
experience in virtualizing sound than for other systems. Maybe this is
something that needs to be addressed.
Unlike some of the managers I have the unfortunate luck to be saddled
with, I have this nasty tendency to listen to people who point out flaws
in my ideas. :)
Alsa is an end-user nightmare