Linked by Thom Holwerda on Sat 27th Sep 2008 22:14 UTC, submitted by diegocg
Linux Lennart Poettering, main programmer of the PulseAudio project, has written a 'Guide Through The Linux Sound API Jungle': "At the Audio MC at the Linux Plumbers Conference one thing became very clear: it is very difficult for programmers to figure out which audio API to use for which purpose and which API not to use when doing audio programming on Linux. So here's my try to guide you through this jungle."
Thread beginning with comment 331785
To view parent comment, click here.
To read all comments associated with this story, please click here.
Detlef Niehof
Member since:
2006-05-02

Totally agree. The Linux sound scape should be unified. Its really OSS's fault if you think about. They had a perfectly good sound api that Linux community was happy to use, but their licensing sucked, they didn't update it regularly enough and it was lacking features needed. So OSS4 comes out and Linux is supposed to drop ALSA because now OSS gets their head in the game?


Interesting. It's not that I know a whole lot about it, but from what I've been reading on the net it seems that the Linux developers went totally overboard when they dumped OSS entirely and started a complete rewrite of the sound system.
What was the problem that prevented forking the last free OSS version and continue development in parallel? Why was it necessary to create a Linux-only sound solution? Was it really necessary to deliberately fragment the Unix systems even more?
As noted before, I'm no expert in this, so any insightful comments about it are appreciated.

Reply Parent Bookmark Score: 2

siki_miki Member since:
2006-01-17


the Linux developers went totally overboard when they dumped OSS entirely and started a complete rewrite of the sound system.
What was the problem that prevented forking the last free OSS version and continue development in parallel? Why was it necessary to create a Linux-only sound solution? Was it really necessary to deliberately fragment the Unix systems even more?


Old OSS was a very rudimentary API that's however still in wide usage. So it was a better decision to start from scratch. Anyway, it wouldn't make a difference with current (Pulseaudio) problems even if they forked off OSSv3 (i.e. no kernel mixer allowed in Linux). So it really doesn't matter if they started from scratch or extended OSS interfaces (even better, they support OSSv3 via ALSA kernel emulation, though not with dmix or PA).

Since ALSA was started by Linux hackers, they went Linux only, which makes development much simpler (see DRI/DRM and how much problems they had with merging their shared Linux and BSD code upstream). It's not uncommon, many of driver frameworks are OS specific. Also, I believe noone from other Unices was seriously interested (no wonder, these are mostly server systems where OSS is often enough for their users).

And about other Unices - they are free to implement whatever they want in their kernel, but not justified to criticize Linux devs for choosing API they see fit. It's just not their business if Linus decides to smash in some code or not. There is no standard that mandates same API either.

Reply Parent Bookmark Score: 2