Testing Request for KDE+PulseAudio users

Colin Guthrie gmane at colin.guthr.ie
Thu Oct 8 08:27:45 UTC 2009


'Twas brillig, and Michael Pujos at 07/10/09 19:19 did gyre and gimble:
> IMHO, PulseAudio or Phonon should stay away from both UPnP Media 
> Renderers and Airport Express, as sending audio
> to those devices has nothing to do with setting up  a local sound card, 
> and more to do with  http streaming and SOAP requests.

That is an interesting point. I personally disagree as for me the 
situation with current APEX on OSX and Windows in that you can 
(officially) only use iTunes to output to these devices is too 
restrictive. If you put support for a specific sound output system into 
the applications you get a two fold disadvantage:
  1) Different sound producing apps may or may not support your device 
and the application developers have to go out of their way to support 
it, leading to more work and more potential bug paths.
  2) The UI for sound device control will be different in every application.

For me the UI problem is a big one. On OSX users go to one control panel 
to control their sound output regardless of the app in question (some 
exceptions do exist but the general rule is there. This is currently 
true of Phonon on KDE too and I like that central point of 
configuration. From a usability perspective it sure beats digging 
through random config menus in different apps and finding the "stream to 
APEX" option.

I guess opinions vary.

> One of the biggest problems of audio on Linux is the overload of layers 
> upon layers upon layers and abstractions abstracting other abstractions 
> with all the potential bugs that implies.

Yes I agree, but PA is designed specifically to fit in with this without 
adding much overhead. It's core is both lock free and zero-copy. This 
keeps things pretty slim from an extra layer perspective.


> Some guy mapped the dependency graph of all those layers and the result 
> was just insane.

Yeah but so much of it was redundant. Take a look at some of the Nokia 
slides from LPC the other week... that's the kind of diagrams that are 
done properly.

> IMHO the best way to do it is to code to the standard platform audio 
> API: alsa on Linux, DirectSound on Windows, etc.

Like I said before in my previous email, the userspace management of 
sound is needed and for that some process/daemon needs to be running. 
Whether you call it alsad or pulseaudio makes no difference, I made some 
pretty good arguments as to why it's necessary. You cannot solve all the 
problems with a library alone. CoreAudio on OSX shares a fair bit of its 
design principles with PA... ALSA is needed (PA is probably the most 
advanced ALSA client application out there!) but, for all the reasons I 
details in my last mail, it's certainly not the be all and end all of 
"sound on linux".

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
   Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
   Mandriva Linux Contributor [http://www.mandriva.com/]
   PulseAudio Hacker [http://www.pulseaudio.org/]
   Trac Hacker [http://trac.edgewall.org/]




More information about the Amarok mailing list