PulseAudio Xen module

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20111031/e6733866/attachment-0001.htm>


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux