Acked-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> On Tue, 2016-12-20 at 17:44 +0000, Frediano Ziglio wrote: > Almost identical beside the type. > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/sound.c | 53 +++++++++++++++--------------------------------- > --- > 1 file changed, 16 insertions(+), 37 deletions(-) > > diff --git a/server/sound.c b/server/sound.c > index 9263a23..74a4cc2 100644 > --- a/server/sound.c > +++ b/server/sound.c > @@ -1086,9 +1086,9 @@ playback_channel_client_constructed(GObject > *object) > snd_send(SND_CHANNEL_CLIENT(playback_client)); > } > > -static void snd_set_playback_peer(RedChannel *red_channel, RedClient > *client, RedsStream *stream, > - int migration, int > num_common_caps, uint32_t *common_caps, > - int num_caps, uint32_t *caps) > +static void snd_set_peer(RedChannel *red_channel, RedClient *client, > RedsStream *stream, > + int migration, int num_common_caps, > uint32_t *common_caps, > + int num_caps, uint32_t *caps, GType type) > { > SndChannel *channel = SND_CHANNEL(red_channel); > GArray *common_caps_array = NULL, *caps_array = NULL; > @@ -1108,7 +1108,7 @@ static void snd_set_playback_peer(RedChannel > *red_channel, RedClient *client, Re > g_array_append_vals(caps_array, caps, num_caps); > } > > - g_initable_new(TYPE_PLAYBACK_CHANNEL_CLIENT, > + g_initable_new(type, > NULL, NULL, > "channel", channel, > "client", client, > @@ -1125,6 +1125,15 @@ static void snd_set_playback_peer(RedChannel > *red_channel, RedClient *client, Re > } > } > > +static void snd_set_playback_peer(RedChannel *red_channel, RedClient > *client, RedsStream *stream, > + int migration, int > num_common_caps, uint32_t *common_caps, > + int num_caps, uint32_t *caps) > +{ > + snd_set_peer(red_channel, client, stream, migration, > + num_common_caps, common_caps, num_caps, caps, > + TYPE_PLAYBACK_CHANNEL_CLIENT); > +} > + > static void snd_record_migrate_channel_client(RedChannelClient *rcc) > { > SndChannel *channel; > @@ -1342,39 +1351,9 @@ static void snd_set_record_peer(RedChannel > *red_channel, RedClient *client, Reds > int migration, int num_common_caps, > uint32_t *common_caps, > int num_caps, uint32_t *caps) > { > - SndChannel *channel = SND_CHANNEL(red_channel); > - GArray *common_caps_array = NULL, *caps_array = NULL; > - > - if (channel->connection) { > - red_channel_client_disconnect(RED_CHANNEL_CLIENT(channel- > >connection)); > - channel->connection = NULL; > - } > - > - if (common_caps) { > - common_caps_array = g_array_sized_new(FALSE, FALSE, sizeof > (*common_caps), > - num_common_caps); > - g_array_append_vals(common_caps_array, common_caps, > num_common_caps); > - } > - if (caps) { > - caps_array = g_array_sized_new(FALSE, FALSE, sizeof (*caps), > num_caps); > - g_array_append_vals(caps_array, caps, num_caps); > - } > - > - g_initable_new(TYPE_RECORD_CHANNEL_CLIENT, > - NULL, NULL, > - "channel", channel, > - "client", client, > - "stream", stream, > - "caps", caps_array, > - "common-caps", common_caps_array, > - NULL); > - > - if (caps_array) { > - g_array_unref(caps_array); > - } > - if (common_caps_array) { > - g_array_unref(common_caps_array); > - } > + snd_set_peer(red_channel, client, stream, migration, > + num_common_caps, common_caps, num_caps, caps, > + TYPE_RECORD_CHANNEL_CLIENT); > } > > static void snd_playback_migrate_channel_client(RedChannelClient > *rcc) _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel