The volume-sync is done once after agent connects. gstreamer backend: we get the volume from the sink/src elements. Even if the playback/record channels are not created we can start the pipeline and retrieve the last/current/default volume from those elements. Pulsesink and pulsesrc are more common to be used in linux and the retrieved value for volume/mute are the last of the application which is stored at $HOME/.config/pulse/random-num-stream-volumes.tdb pulse backend: as the communication between application and pulse happens only by async calls, if the playback/record channel were not created it's not possible to start pulse and retrieve this values sync without using PA threaded as GST pulse elements do. For now, spice-pulse become aware of volume changes in the client which is enough to solve volume-changes with migration (agent re-connect and the volume is sync with client) Related to: https://bugzilla.redhat.com/show_bug.cgi?id=1012868 Is worth mention that when the volume-sync happens qemu is aware of the volume change and by default calls spice-server to inform the client and this is done with a volume a bit higher then value used in volume-sync. https://bugs.freedesktop.org/show_bug.cgi?id=89729 v3: spice-protocol: - removed flags, using uint8_t is_playback and mute; spice-gtk: - fixes with spice-protocol changes - fixed _spice_reserved padding in spice-audio (-4 pointers); - drop spice-session changes (getting main-channel) - drop channel-playback/record changes (sync audio when stream start) - client sync volume when agent connects: In case we don't have audio values yet, start spice-audio to get default/last values; spice-gstaudio starts pipeline (playback_start and record_start) get the volumes and stop the pipeline. vd_agent: - fixes with spice-protocol changes - setting mute with snd_mixer_selem_set_{playback,capture}_switch_all Hopefully I didn't forget anything, Cheers, Victor Toso (1): add volume syncronizatin to protocol spice/vd_agent.h | 9 +++++++++ 1 file changed, 9 insertions(+) -- 2.1.0 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel