On Mon, 2011-10-31 at 17:33 +0100, George Boutsioukis wrote: > Hello PulseAudio people! > > > As part of a Google Summer of code project for Xen during this summer, > I wrote a PulseAudio module that acts as the frontend part of a Xen > paravirtualized audio driver. Basically what it does is push audio > frames over a ring buffer placed in memory shared between different > Xen domains, using Xen's interrupt-like events to notify the playback > backend that audio data is available. > > > The driver right now works well and we are thinking of the best > possible way to distribute it. Since (and correct me if I'm wrong) > it's not possible to build PulseAudio modules with the usual headers > provided for PulseAudio applications, we can't simply merge it with > Xen's build system without the whole. We'd like to be able to build > something like a pulseaudio-modules-xen package for a few common > distro's, but in the most (reasonably) maintenance-free way possible. > > > So, what would it take to check this into PulseAudio? (and build only > when the Xen headers are found) > > > You can find the code here: > > > http://code.google.com/p/xen-audio/source/browse/#hg/frontend > (ignore the xenpv-source module, doesn't really work yet) > > > The playback module was based on pipe-sink. There are definitely some > mistakes in there (I'm not even close to a sound programming expert), > but if it's an issue of code quality I could clean it up to an > acceptable state. > > > Thanks, > Giorgos > > > There's a design document that describes the driver's design in detail > here: > https://docs.google.com/document/d/1rS8afKlCbiVAOdKYCHfRPn6ihkSnl7PZw1QMoOmC9b4 > > > For more info on how paravirtualized drivers in general work in Xen > see: > http://wiki.xen.org/xenwiki/XenSplitDrivers Maarten gave some useful feedback on next steps and general coding style cleanup. In principle (pending actual review of the design/code), I'm happy to merge this. Please be patient while someone gets around to reviewing this. If you're on IRC, feel free to periodically nag us, or file a bug on http://bugs.freedesktop.org/ which will make it easier to track pending patches. My last concern would be maintenance -- would this be a mainline supported feature in Xen? When there's a (non-trivial) bug, it'd be good to have a contact point since none of us (as far as I know) are familiar with Xen internals, and it'd be a shame for all this work to go in and be unmaintained/unsupported. -- Arun