Hi!

Glynn asked me (as the upstream PulseAudio maintainer)  to respond to this 
thread, so here I go. I'll try to respond to all the points raised in this 
thread:

Richard Hamilton listed a couple of sound servers, claiming that it was a 
problem to adopt a sound server because there were so many of them. That's not 
really true. All sound servers he listed are either dead (MAS, ESD, aRts), 
prehistoric in its feature set (NAS, ESD) or not suitable for desktop use 
(Jack) or not a sound server at all (Phonon, X11 audio extension). PA is the 
only sound server that is maintained, useful on the desktop and not a total 
mess of code. PA has been shipped of Fedora 8, it is thus not brand-new 
untested software, but a big part of the major issues and limitations have 
already been mitigated or fixed. All other relevant Linux distributions have 
now decided to ship and enable PA by default in their next stable releases, 
too. (OpenSUSE, Mandriva, Ubuntu).  So, it's not that OpenSolaris would pioneer 
on this, all you need to do is follow the beaten paths. The major problems are 
already solved.

Please note that PA is not a sound server for audio production, it is not 
competing with JACK (at least for now). It's a sound server focused on desktop 
use. Fixing the mess we have in audio on Linux/Unix right now is nothing we can 
fix by just snipping fingers, so there will always be a lot of areas we aren't 
touching. It is my intention to make PA the one true audio solution for 
Linux/Unix, but that'll take time. The biggest have been solved however, that's 
why it has gained adoption already. (Oh, and afaik noone uses Solaris for any 
serious audio production anyway (judging from how limited the SunAudio api is 
;-)), so the pro audio argument probably doesn't really matter anyway)

Then, "Unix Admin" asked mumbled something about whether we might want to 
install Solaris on my machines. Thanks, but no thanks. I already got a good 
operating system, which is called "Fedora", and its audio system is what I am 
payed to work on by Red Hat.

PA has been ported to Solaris by Pierre Ossman from Cendio. The port lags 
behind a few releases, but they're most likely going to update it early 2008 
again. I personally only care for PA on Linux, however I am happy to merge all 
Solaris patches, if people send them to me. And hence: If OPenSolaris adopts 
PA, than someone from the Solaris camp has to stand up and take up 
maintainership of the Solaris port. 

Because the underlying audio APIs of Solaris (OSS and SunAudio) are not nearly 
as powerful as ALSA many of the niftier features I am currently working on will 
most likely not be available on Solaris anytime soon, though.

Shawn Walker claimed that PA wasn't adopted yet. As mentioned above, we have 
been adopted by all relevant Linux distributions. There's not much left we 
could win in Free Software land, except maybe that little OS that starts with 
"Slow" and ends with "aris". ;-) Oh, and a couple of device manufacturers ship 
PA on mobile phones and GPS devices. And Nokia is now working on integrating it 
into Maemo too. So again, adoption is a non-issue. Besides maybe OpenSolaris, 
everyone who could adopt it has adopted it.

Shawn's claim that OSS will give you better audio support than "most 
GNU/Linux", is an adventurous claim, at best. Also, good "audio support" also 
requires good RT support, and afaik out-of-the-box Linux still tops Solaris by 
far on that.

Regarding API stability: as with my other project Avahi I will not guarantee 
any API stability. All I do is that I promise to try my best to keep the 
interfaces stable. Much the same as with Avahi. Now, with Avahi you guys chose 
to do this monstrous crack to port the Avahi D-Bus API to the Bonjour core. I 
already expressed in detail how much I dislike that disgusting mess you guys 
came up with, on my blog a while back (check Google if you wish, pleas don't 
flame me on this again, I happen to know the situation pretty well, so it's 
very unlikely you will convince me that I am wrong and you're right. I wrote 
Avahi, you didn't, there's not much to win by flaming me on this one). I hope 
you will not make the same error twice. Also, I didn't want to guarantee API 
stability for Avahi, but I did the same promise to try my best, and I kept it. 
To this date Avahi has been fully API stable since more than two years, and I 
see no changes coming up for the next year or two.  And much the
  same is true for PA. The API has been stable for 18 months now, the protocol 
has been stable for longer than that. I see no incompatible changes coming up 
for a while. So, in summary: if you still insist on a "guarantee" of API 
stability, than I fear PA is not for you. But those guarantees are mostly 
illusionary on Free Software projects anyway... A promise is as much as you can 
get.

PA is not made redundant by OSS. PA provides desktop integration, stuff like 
moving live streams between devices, network support and whatever. This is all 
stuff raw OSS cannot do.

servo claims it is a bad design decision to do mixing and stuff in software. 
Quite frankly that claim is bogus. Modern sound cards don't even do hw mixing 
anymore. To find a soundcard which still does this you have to find one that 
has been manufactured more than 5 years ago or so. Mixing audio is not exactly 
the most CPU intensive code in existance. After all SSE and MMX primary purpose 
is to speed up things like this. Also, that legacy hw that still does hw mixing 
only provides a limited number of concurrent streams, so if you want to mix 
more you have to fall back to sw mixing anyway. You remember the time when 
every sound card came with wavetable logic? It's the same with hw mixing, that 
time is ended, over, finito. And it is good that way. Modern sound cards (like 
those following Intel's HDA) are usually not much more than good DACs, and 
sometimes don't even do hw volume control but instead rely on software for 
that. 

Demos like this one might help you understand why PA is more useful than just 
being a software mixer: http://0pointer.de/blog/projects/pa-097.html You'll 
find more demos like this on the net. And read the web site, if you still 
believe that PA is just about mixing streams.

On other distribution's mailing lists and on GNOME's desktop-devel list have 
been long discussions (or flamewars) about the pro and cons of PA. I think I 
can say in the end PA survived them all, and has now gained adoption by all 
relevant projects. Before you ask any further questions regarding PA, you might 
want to grep through those threads. Also, be sure that I already have been 
flamed enough about PA, so if you should want to flame me too, don't bother. I 
already know all those flames.

Stuff to read if you care (including the associated threads):
http://mail.gnome.org/archives/desktop-devel-list/2007-October/msg00136.html
http://arstechnica.com/journals/linux.ars/2007/10/17/pulseaudio-to-bring-earcandy-to-linux
https://www.redhat.com/archives/fedora-devel-list/2007-December/msg00755.html
http://fedoraproject.org/wiki/Interviews/LennartPoettering

Lennart
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to