[Spice-devel] [PATCH spice-server] sound: Store only playback channels in global list
Frediano Ziglio
fziglio at redhat.com
Wed May 3 10:06:21 UTC 2017
>
> On Wed, May 03, 2017 at 10:47:48AM +0100, Frediano Ziglio wrote:
> > The list is used only to iterate playback channels
>
> This patch seems only partial?
>
> >
> > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > ---
> > server/sound.c | 19 +++++++------------
> > 1 file changed, 7 insertions(+), 12 deletions(-)
> >
> > diff --git a/server/sound.c b/server/sound.c
> > index be7e607..64cd6d4 100644
> > --- a/server/sound.c
> > +++ b/server/sound.c
> > @@ -234,7 +234,7 @@ G_DEFINE_TYPE(RecordChannelClient,
> > record_channel_client, TYPE_SND_CHANNEL_CLIEN
> >
> >
> > /* A list of all Spice{Playback,Record}State objects */
OT: this comment needs update too.. and perhaps not so OT.
> > -static GList *snd_channels;
> > +static GList *snd_playback_channels;
> >
> > static void snd_send(SndChannelClient * client);
> >
> > @@ -980,12 +980,10 @@ void snd_set_playback_latency(RedClient *client,
> > uint32_t latency)
> > {
> > GList *l;
> >
> > - for (l = snd_channels; l != NULL; l = l->next) {
> > + for (l = snd_playback_channels; l != NULL; l = l->next) {
> > SndChannel *now = l->data;
>
> The shortlog says l->data should be a SndChannelClient now?
>
?? why you expect a client now? Neither in the subject not in commit
log I said client, is and was a channel, not a channel client.
> > SndChannelClient *scc = snd_channel_get_client(now);
> > - uint32_t type;
> > - g_object_get(RED_CHANNEL(now), "channel-type", &type, NULL);
> > - if (type == SPICE_CHANNEL_PLAYBACK && scc &&
>
> Removal of the "type" check would deserve a commit of its own in my
> opinion.
>
I'd add a comment in the commit log.
> > + if (scc &&
> > red_channel_client_get_client(RED_CHANNEL_CLIENT(scc)) ==
> > client) {
> >
> > if
> > (red_channel_client_test_remote_cap(RED_CHANNEL_CLIENT(scc),
> > @@ -1285,12 +1283,12 @@ static void snd_set_record_peer(RedChannel
> > *red_channel, RedClient *client, Reds
> >
> > static void add_channel(SndChannel *channel)
> > {
> > - snd_channels = g_list_prepend(snd_channels, channel);
> > + snd_playback_channels = g_list_prepend(snd_playback_channels,
> > channel);
>
> This is still appending a SndChannel to the list contrary to what the
> name/shortlog is saying?
>
You are right.
>
> Christophe
>
Frediano
More information about the Spice-devel
mailing list