[pulseaudio-discuss] PulseAudio, PortAudio or what to use as application developer?

Colin Guthrie gmane at colin.guthr.ie
Tue Jan 27 04:34:23 PST 2009


'Twas brillig, and Jonas Finnemann Jensen at 27/01/09 11:18 did gyre and 
gimble:
> Hi,
> 
> I don't know if this is the right list to post this question, if not I'm 
> very sorry and feel free to ignore me :)
> (I think maybe this should have gone to PortAudio list, but it's down 
> for the moment).
> 
> I'm doing a free platform independent application in C# using mono... 
> Now I wish to do audio playback, so far I've found some C# bindings for 
> PortAudio, and as far as I can see it should be easy to include and 
> distribute PortAudio in a windows release...
> 
> However, I'm running Ubuntu 8.10, and when playing music with PortAudio 
> other applications can't play anything... I think this is because 
> PortAudio uses ALSA directly...

This shouldn't be a problem as alsa can be directed to pulseaudio.

I'm going to hazard a guess and say that Ubuntu probably hasn't included 
Kevin Kofler's patches in their portaudio package that makes it play 
nice with the alsa->pulse plugin? You should look in the Fedora or 
Mandriva portaudio packages for this patch. I'm not sure if it's gone 
upstream.

http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/portaudio/current/SOURCES/portaudio-19-alsa_pulse.patch?revision=313993&view=markup

With this patch applied, you app should work nicely with the following 
pipeline:

App -> PortAudio -> Alsa -> Pulse -> Sound H/W -> Ears -> Brain

> I'd admit that I don't know much about audio playback and sound 
> architecture... But should I be using PulseAudio instead of PortAudio, 
> or should I use some specific backend in PortAudio, or a specific 
> setting for ALSA when using it from PortAudio?
> 
> What is the most portable and easy way to audio playback, from the 
> applications developers perspective?
> And how do I avoid blocking other applications from playing sounds?

Lennart wrote a nice article about Audio APIs recently:
http://0pointer.de/blog/projects/guide-to-sound-apis.html

May make for some nice reading :)

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 pulseaudio-discuss mailing list