> > snd_set_command()/snd_send() are higher level methods which take care of > scheduling calls to the corresponding snd_*_send_*() methods when > appropriate. This commit switches a few direct snd_*_send_*() calls to > snd_set_command()/snd_send(). > > Based on a patch from Frediano Ziglio <fziglio@xxxxxxxxxx> > > Signed-off-by: Christophe Fergeau <cfergeau@xxxxxxxxxx> > --- > server/sound.c | 12 ++++-------- > 1 file changed, 4 insertions(+), 8 deletions(-) > > diff --git a/server/sound.c b/server/sound.c > index d45e4b9..b0a1367 100644 > --- a/server/sound.c > +++ b/server/sound.c > @@ -1094,7 +1094,6 @@ SPICE_GNUC_VISIBLE void > spice_server_playback_set_volume(SpicePlaybackInstance * > { > SpiceVolumeState *st = &sin->st->channel.volume; > SndChannelClient *client = sin->st->channel.connection; > - PlaybackChannelClient *playback_client = SPICE_CONTAINEROF(client, > PlaybackChannelClient, base); > > st->volume_nchannels = nchannels; > free(st->volume); > @@ -1103,21 +1102,20 @@ SPICE_GNUC_VISIBLE void > spice_server_playback_set_volume(SpicePlaybackInstance * > if (!client || nchannels == 0) > return; > > - snd_playback_send_volume(playback_client); > + snd_set_command(client, SND_VOLUME_MASK); > } > > SPICE_GNUC_VISIBLE void spice_server_playback_set_mute(SpicePlaybackInstance > *sin, uint8_t mute) > { > SpiceVolumeState *st = &sin->st->channel.volume; > SndChannelClient *client = sin->st->channel.connection; > - PlaybackChannelClient *playback_client = SPICE_CONTAINEROF(client, > PlaybackChannelClient, base); > > st->mute = mute; > > if (!client) > return; > > - snd_playback_send_mute(playback_client); > + snd_set_command(client, SND_MUTE_MASK); For compatibility you need to send both MUTE and VOLUME so SND_VOLUME_MUTE_MASK. > } > > static void snd_playback_start(SndChannel *channel) > @@ -1378,7 +1376,6 @@ SPICE_GNUC_VISIBLE void > spice_server_record_set_volume(SpiceRecordInstance *sin, > { > SpiceVolumeState *st = &sin->st->channel.volume; > SndChannelClient *client = sin->st->channel.connection; > - RecordChannelClient *record_client = SPICE_CONTAINEROF(client, > RecordChannelClient, base); > > st->volume_nchannels = nchannels; > free(st->volume); > @@ -1387,21 +1384,20 @@ SPICE_GNUC_VISIBLE void > spice_server_record_set_volume(SpiceRecordInstance *sin, > if (!client || nchannels == 0) > return; > > - snd_record_send_volume(record_client); > + snd_set_command(client, SND_VOLUME_MASK); > } > > SPICE_GNUC_VISIBLE void spice_server_record_set_mute(SpiceRecordInstance > *sin, uint8_t mute) > { > SpiceVolumeState *st = &sin->st->channel.volume; > SndChannelClient *client = sin->st->channel.connection; > - RecordChannelClient *record_client = SPICE_CONTAINEROF(client, > RecordChannelClient, base); > > st->mute = mute; > > if (!client) > return; > > - snd_record_send_mute(record_client); > + snd_set_command(client, SND_MUTE_MASK); > } > > static void snd_record_start(SndChannel *channel) Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel