|
|
Subscribe / Log in / New account

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


to post comments

Alsa is an end-user nightmare

Posted Dec 19, 2006 17:57 UTC (Tue) by jd (guest, #26381) [Link]

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. :)

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.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds