[pulseaudio-discuss] PulseAudio Xen module

Arun Raghavan arun.raghavan at collabora.co.uk
Sun Nov 13 21:22:58 PST 2011

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

More information about the pulseaudio-discuss mailing list