[Spice-devel] [PATCH 3/4] sound: Remove dead code in client constructors

Frediano Ziglio fziglio at redhat.com
Fri Apr 21 09:10:30 UTC 2017


> 
> When a new PlaybackChannelClient or RecordChannelClient is created,
> there are several places where we make decisions based on whether the
> client is active or not. But these checks are done before the 'active'
> flag is ever set, so this code is effectively dead. This has been the
> case since the very first commit in this repository.
> 
> Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>

Looking at the entire history looks like it's not exact.

It seems the problem was introduced by

commit 6fdcb9310d8bd0383af97951ff7ba270c5ba08be
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Tue Apr 13 14:35:32 2010 +0200

    SoundInterfaces: redesign

and attempted to be fixed by

commit d351bb35ce981d39e839528f4a23bc5b501adab8
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Thu May 20 13:32:00 2010 +0200

    sound channels: restart audio on client reconnect.

But since then that code was dead code.
Looks like any possible regression introduced by the
first patch was fixed (I hope so after 7 years).

Frediano

> ---
>  server/sound.c | 10 ----------
>  1 file changed, 10 deletions(-)
> 
> diff --git a/server/sound.c b/server/sound.c
> index fb8f5c6..7490a19 100644
> --- a/server/sound.c
> +++ b/server/sound.c
> @@ -1039,7 +1039,6 @@ playback_channel_client_constructed(GObject *object)
>      RedChannel *red_channel = red_channel_client_get_channel(rcc);
>      SndChannel *channel = SND_CHANNEL(red_channel);
>      RedClient *red_client = red_channel_client_get_client(rcc);
> -    RedsState *reds = red_channel_get_server(red_channel);
>      SndChannelClient *scc = SND_CHANNEL_CLIENT(playback_client);
>  
>      G_OBJECT_CLASS(playback_channel_client_parent_class)->constructed(object);
> @@ -1071,15 +1070,9 @@ playback_channel_client_constructed(GObject *object)
>          return;
>      }
>      snd_set_command(scc, SND_PLAYBACK_MODE_MASK);
> -    if (scc->active) {
> -        snd_set_command(scc, SND_CTRL_MASK);
> -    }
>      if (channel->volume.volume_nchannels) {
>          snd_set_command(scc, SND_VOLUME_MUTE_MASK);
>      }
> -    if (scc->active) {
> -        reds_disable_mm_time(reds);
> -    }
>  
>      if (channel->active) {
>          snd_playback_start(channel);
> @@ -1272,9 +1265,6 @@ record_channel_client_constructed(GObject *object)
>      if (channel->volume.volume_nchannels) {
>          snd_set_command(scc, SND_VOLUME_MUTE_MASK);
>      }
> -    if (scc->active) {
> -        snd_set_command(scc, SND_CTRL_MASK);
> -    }
>  
>      if (channel->active) {
>          snd_record_start(channel);


More information about the Spice-devel mailing list