[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen PV audio XenStore
On Tue, Jul 05, 2011 at 08:53:29PM +0200, George Boutsioukis wrote: > On Tue, Jul 5, 2011 at 4:54 PM, Konrad Rzeszutek Wilk > <konrad.wilk@xxxxxxxxxx> wrote: > > On Tue, Jul 05, 2011 at 01:02:08PM +0100, Ian Campbell wrote: > >> On Mon, 2011-07-04 at 23:16 +0100, George Boutsioukis wrote: > >> > Hello everyone, as some of you may remember there is a GSoC project I am not sure why, but you dropped the xen-devel from this response. I've added that back in. > >> > this year to implement a paravirtualized audio driver and I am the > >> > student undertaking this effort. > >> > > >> > As the rest of the PV audio drivers, my frontend uses XenStore to pass > >> > the event channel & grant reference to the backend, along with a few > >> > configuration data. Although the driver is far from usable, the > >> > XenStore layout is not going to change much in the future, so I think > >> > it would be useful to describe it to the community. > >> > > >> > First of all, although the frontend is implemented in userspace, I > >> > tried to follow the scheme used by the rest of the PV drivers. This > >> > looks something like: > >> > > >> > /local/domain/<domID>/device/audio/<devID>/event-channel > >> > /local/domain/<domID>/device/audio/<devID>/ring-ref > >> > /local/domain/<domID>/device/audio/<devID>/format > >> > /local/domain/<domID>/device/audio/<devID>/rate > >> > /local/domain/<domID>/device/audio/<devID>/channels > > > > And "format" is...? string? What does it look like? > > It's a string. There are only a handful of common PCM formats; they > look like this: S16LE(signed 16-bit integer, low endian), U8 for 8-bit > unsigned etc. A good reference is the ALSA documentation: > > http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#g3df0b888477ce2dc3817d9095db859b1 > > Exactly which ones will be used depends on what the backend sound API > can support. Pulseaudio(used currently by the backend) supports a > smaller subset, but it is obviously enough for the current, also > pulseaudio, frontend. > > >> > > >> > where devID is a unique device ID for the guest system. > > > > Could you provide an example of what this layout looks like for > > stereo microphone (each channel is 8bit-unsigned, 44Khz) and > > 5.1 channel output with 48Khz of ulaw-16bit signed? > > > > Ah, I guess I should a parameter to declare the device as output or > input. Something like type="sink"/"source" should be enough. So, the > layout for these examples would be: > > /local/domain/<domID>/device/audio/<devID>/format = "U8" > /local/domain/<domID>/device/audio/<devID>/rate = 44000 > /local/domain/<domID>/device/audio/<devID>/channels = 2 > /local/domain/<domID>/device/audio/<devID>/type = "source" > > /local/domain/<domID>/device/audio/<devID>/format = "MU_LAW" > (not sure if ulaw-16bit signed exists, but I guess it would be > something similar to MU_LAW_S16LE?) > /local/domain/<domID>/device/audio/<devID>/rate = 48000 > /local/domain/<domID>/device/audio/<devID>/channels = 6 > /local/domain/<domID>/device/audio/<devID>/type = "sink" > > Of course a 5.1 scheme might likely need a channel-to-speaker map, but > this can be handled through the dom0 sound server. > > > -- > George Boutsioukis > gboutsioukis@xxxxxxxxx _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |