[pulseaudio-discuss] State of OS X port (was: Re: pa_fdsem racy?)

Daniel Mack daniel at caiaq.de
Mon Dec 7 02:38:06 PST 2009


On Mon, Dec 07, 2009 at 01:10:29AM +0000, Colin Guthrie wrote:
> It sounds like you are making good progress Daniel.
> 
> Have you got a rough idea of what is done and what still needs to be
> done to make PA useful on OSX?

Well actually I'm making quite slow progress on all this, which is
because I only find few hours per week to work on that.

I do, however, have a more or less complete outline of where I want to
get with all the PA stuff on OS X.

There are rougly 4 major things to work on:

1. Make the PA daemon run smoothly 

This has been done now, finally, and the reason for all the trouble
were Darwin kernel and/or libc incompatiblities. poll() not paying
attention to the timeout value, recv() failing with MSG_PEEK for pipe
fds, unimplemented unnamed semaphores, to just name a few.

2. Provide modules for CoreAudio

A module for hotplug detection of new audio devices is done and works
well. It instanciates one module per found audio device which is still
under construction. IOW, it doesn't render any audio yet. I had a small
hack session with Lennart the other day and what I cooked together
doesn't look totally wrong, at least.

3. Hack a virtual audio device for CoreAudio

This will allow us to route arbitrary sound sources and sinks from and
to all applications that are able to deal with audio. For example, you
can capture your DVD player, reroute it to PA and then stream it out on
an AirportExpress. One weird idea is to implement the driver in a way
that it can stream out different client audio streams as different PA
inputs. With that, we could have per-client audio mixing, but I'm not
sure yet whether that will be possible.

There's a rough skeleton for that, but not more.

4. Cocoa based mixer/control applications

In order to control all the PA daemon's features, GUI tools like
PreferencePanes and mixer applications will be needed. This is also
almost entirely unimplemented. However, it would make things a lot
easier if code neeeded by the GUI tools would be factored out to a
library, so I wouldn't need to copy'n paste major part of the GTK+ based
things that exist already. Lennart wanted to think about whether this is
possible.


I'll continue on all these things gradually, but I fear I won't be able
to dramatically speed up things in near future. Stay tuned :)

Daniel



More information about the pulseaudio-discuss mailing list