summaryrefslogtreecommitdiffstats
path: root/common/messages.h
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2011-05-23 12:20:17 +0200
committerMarc-André Lureau <marcandre.lureau@redhat.com>2011-06-22 12:12:26 +0200
commitd1758b328811979beb58ff9ddb9cf4f318fa28f7 (patch)
tree7d2f66e34e762db3194eb86d5d6387e286217b35 /common/messages.h
parent5ec91855d818078523653e79562921bcea9bef14 (diff)
downloadspice-d1758b328811979beb58ff9ddb9cf4f318fa28f7.tar.gz
spice-d1758b328811979beb58ff9ddb9cf4f318fa28f7.tar.xz
spice-d1758b328811979beb58ff9ddb9cf4f318fa28f7.zip
sndworker: add AudioVolume/AudioMute messages
These messages allow the guest to send the audio device volume to the client. It uses an arbitrary scale of 16bits, which works good enough for now. Save VolumeState in {Playback,Record}State, so that we can send the current volume on channel connection. Note about future improvements: - add exact dB support - add client to guest volume change Updated since v2: - bumped record and playback interface minor version to allow conditional compilation Updated since v1: - sync record volume on connection too
Diffstat (limited to 'common/messages.h')
-rw-r--r--common/messages.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/messages.h b/common/messages.h
index 6fcd8bea..8151dc00 100644
--- a/common/messages.h
+++ b/common/messages.h
@@ -369,6 +369,15 @@ typedef struct SpiceMsgcMouseRelease {
int32_t buttons_state;
} SpiceMsgcMouseRelease;
+typedef struct SpiceMsgAudioVolume {
+ uint8_t nchannels;
+ uint16_t volume[0];
+} SpiceMsgAudioVolume;
+
+typedef struct SpiceMsgAudioMute {
+ uint8_t mute;
+} SpiceMsgAudioMute;
+
typedef struct SpiceMsgPlaybackMode {
uint32_t time;
uint32_t mode; //SPICE_AUDIO_DATA_MODE_?