[Spice-devel] [spice-gtk PATCH v6 0/4] volume-sync from client to guest
Victor Toso
victortoso at redhat.com
Tue Apr 14 05:18:40 PDT 2015
spice-gtk:
- fix unref GstElement
- pulseaudio get volume from stream if possible otherwise it will
relay on ext-stream-restore (pulseaudio database)
vdagent-linux:
- namespace change; (e.g. alsa_something to something_alsa);
- moved volume-sync handler to vdagent: avoid issues with
pulseaudio as it is per session as well;
More and more tests: mostly with rhel6/fedora21 as guests;
I tested as much as I can with different scenarios. PulseAudio
backend is currently behaving very well. GStreamer backend may
have some issues as it rely on sink/src element to get the volume:
* pulsesink and pulsesrc: if the stream was initialized at some point
the value is always what we have on PulseAudio (up-to-date);
if the stream was never started it gets the default value (100%)
* directsoundsink and directsoundsrc: Both retrieve the volume stored
in their element and not in the system...
Regarding the vdagent change: alsa-lib may fail to attach to the
"default" handler with 'Connection refused'. As pulseaudio server
starts with user session I moved the volume-sync handler to be in
the session vdagent as well which seems to fix the issue.
Victor Toso (4):
audio: spice-audio with get mute and volume
audio: spice-pulse implement async volume-info
audio: spice-gstaudio implements async volume-info
agent: sync guest audio with client values
gtk/channel-main.c | 141 ++++++++++++++++
gtk/spice-audio.h | 28 +++-
gtk/spice-gstaudio.c | 191 +++++++++++++++++++++-
gtk/spice-pulse.c | 412 +++++++++++++++++++++++++++++++++++++++++++++--
gtk/spice-session-priv.h | 2 +-
5 files changed, 761 insertions(+), 13 deletions(-)
--
2.1.0
More information about the Spice-devel
mailing list