[Spice-devel] [PATCH v9 08/11] sound: Reuse code to set volume and mute
Jonathon Jongsma
jjongsma at redhat.com
Thu Dec 22 17:13:20 UTC 2016
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Tue, 2016-12-20 at 17:44 +0000, Frediano Ziglio wrote:
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/sound.c | 51 +++++++++++++++++++++---------------------------
> ---
> 1 file changed, 21 insertions(+), 30 deletions(-)
>
> diff --git a/server/sound.c b/server/sound.c
> index 32c712f..fc3a92c 100644
> --- a/server/sound.c
> +++ b/server/sound.c
> @@ -827,12 +827,11 @@ static void snd_set_command(SndChannelClient
> *client, uint32_t command)
> client->command |= command;
> }
>
> -SPICE_GNUC_VISIBLE void
> spice_server_playback_set_volume(SpicePlaybackInstance *sin,
> - uint8_t nchannels,
> - uint16_t *volume)
> +static void snd_channel_set_volume(SndChannel *channel,
> + uint8_t nchannels, uint16_t
> *volume)
> {
> - SpiceVolumeState *st = &sin->st->channel.volume;
> - SndChannelClient *client = sin->st->channel.connection;
> + SpiceVolumeState *st = &channel->volume;
> + SndChannelClient *client = channel->connection;
>
> st->volume_nchannels = nchannels;
> free(st->volume);
> @@ -845,10 +844,17 @@ SPICE_GNUC_VISIBLE void
> spice_server_playback_set_volume(SpicePlaybackInstance *
> snd_send(client);
> }
>
> -SPICE_GNUC_VISIBLE void
> spice_server_playback_set_mute(SpicePlaybackInstance *sin, uint8_t
> mute)
> +SPICE_GNUC_VISIBLE void
> spice_server_playback_set_volume(SpicePlaybackInstance *sin,
> + uint8_t nchannels,
> + uint16_t *volume)
> {
> - SpiceVolumeState *st = &sin->st->channel.volume;
> - SndChannelClient *client = sin->st->channel.connection;
> + snd_channel_set_volume(&sin->st->channel, nchannels, volume);
> +}
> +
> +static void snd_channel_set_mute(SndChannel *channel, uint8_t mute)
> +{
> + SpiceVolumeState *st = &channel->volume;
> + SndChannelClient *client = channel->connection;
>
> st->mute = mute;
>
> @@ -859,6 +865,11 @@ SPICE_GNUC_VISIBLE void
> spice_server_playback_set_mute(SpicePlaybackInstance *si
> snd_send(client);
> }
>
> +SPICE_GNUC_VISIBLE void
> spice_server_playback_set_mute(SpicePlaybackInstance *sin, uint8_t
> mute)
> +{
> + snd_channel_set_mute(&sin->st->channel, mute);
> +}
> +
> static void snd_playback_start(SndChannel *channel)
> {
> SndChannelClient *client = channel->connection;
> @@ -1144,32 +1155,12 @@ SPICE_GNUC_VISIBLE void
> spice_server_record_set_volume(SpiceRecordInstance *sin,
> uint8_t nchannels,
> uint16_t *volume)
> {
> - SpiceVolumeState *st = &sin->st->channel.volume;
> - SndChannelClient *client = sin->st->channel.connection;
> -
> - st->volume_nchannels = nchannels;
> - free(st->volume);
> - st->volume = spice_memdup(volume, sizeof(uint16_t) * nchannels);
> -
> - if (!client || nchannels == 0)
> - return;
> -
> - snd_set_command(client, SND_VOLUME_MUTE_MASK);
> - snd_send(client);
> + snd_channel_set_volume(&sin->st->channel, nchannels, volume);
> }
>
> 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;
> -
> - st->mute = mute;
> -
> - if (!client)
> - return;
> -
> - snd_set_command(client, SND_VOLUME_MUTE_MASK);
> - snd_send(client);
> + snd_channel_set_mute(&sin->st->channel, mute);
> }
>
> static void snd_record_start(SndChannel *channel)
More information about the Spice-devel
mailing list