Re: QEMU VNC Audio Patch



On Fri, Dec 02, 2011 at 12:16:22AM -0500, Steven Carr wrote:
> Is there a reason you want the audio as a separate GObject instead of simply 
> adding 3 new emitters on the existing GObject?   I am new to the gnome 
> development methodology and do not understand the benefit of having the audio 
> broken out as a separate GObject.

It makes life slightly easier when you have higher level APIs that
are wrapping VncConnection. eg, you don't need to keep chaining
together the start/stop/data  signals across all your API layers.
You can just pass in the audio object. Also it makes it easier to
provide & use implementations, eg we could provide a simple pulse
audio impl that can be used with 1 api call, instead of requiring
the app code to connect to multiple signals & implement handlers.

> Attached is a diff that extends gtk-vnc's existing GObject to add the three new 
> QEMU Audio messages (Begin, End, and Data).   3 new functions (both display 
> and connection) are added to support (Enable, Disable, and SetFormat).   Since 
> the format for the audio is only 3 parameters, I simply made them a part of 
> the function call instead of a separate structure for them.  I think it makes 
> the code easier to read.   The names were chosen to align with the QEMU code 
> that describes the messages (Begin/End/Data).
> 
> Also, Pulse Audio output support is added to the example gvncviewer 
> application and has been tested against qemu-kvm on RHEL 6.1 x86-64.
> 
> Comments are welcomed,

Thanks for the updated patch. I am going to commit this, but then
apply some more change ontop of it, to imlement some of the concepts
I've described earlier.

What has been your experiance with the overall quality / performance
of the audio coming out of VNC ?

I've tested by playing a FLAC file in the guest, and the audio is
slightly crackly. In addition the CPU usage of gvncviewer and
pulseaudio on the host is absurdly high - ~40-40%. By comparison,
rhymbox playing the same FLAC file in the host, consumes ~0% CPU
and causes ~0% cpu usage from pulseaudio. I've no looked into what's
going on here & suspect it might be just an artifact of the small
buffers QEMU sends, but wondered if you experianced any similar
behaviour in your testing ?

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|


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