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