From 9acfaa66df90cb1475db7c09da09b6e9b5f5dd00 Mon Sep 17 00:00:00 2001 From: Victor Toso Date: Fri, 6 Mar 2015 18:19:17 +0100 Subject: [PATCH] add volume synchronization to protocol With VD_AGENT_AUDIO_VOLUME_SYNC the client can send volume and mute values to be set in the guest for input or output devices. Currently this is done once after the agent send its capabilities. Related: https://bugzilla.redhat.com/show_bug.cgi?id=1012868 --- spice/vd_agent.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spice/vd_agent.h b/spice/vd_agent.h index 7464661..7732eca 100644 --- a/spice/vd_agent.h +++ b/spice/vd_agent.h @@ -77,6 +77,7 @@ enum { VD_AGENT_FILE_XFER_DATA, VD_AGENT_CLIENT_DISCONNECTED, VD_AGENT_MAX_CLIPBOARD, + VD_AGENT_AUDIO_VOLUME_SYNC, VD_AGENT_END_MESSAGE, }; @@ -206,6 +207,13 @@ typedef struct SPICE_ATTR_PACKED VDAgentMaxClipboard { int32_t max; } VDAgentMaxClipboard; +typedef struct SPICE_ATTR_PACKED VDAgentAudioVolumeSync { + uint8_t is_playback; + uint8_t mute; + uint8_t nchannels; + uint16_t volume[0]; +} VDAgentAudioVolumeSync; + enum { VD_AGENT_CAP_MOUSE_STATE = 0, VD_AGENT_CAP_MONITORS_CONFIG, @@ -218,6 +226,7 @@ enum { VD_AGENT_CAP_GUEST_LINEEND_LF, VD_AGENT_CAP_GUEST_LINEEND_CRLF, VD_AGENT_CAP_MAX_CLIPBOARD, + VD_AGENT_CAP_AUDIO_VOLUME_SYNC, VD_AGENT_END_CAP, };