Re: [spice-server v2] sound: Don't mute recording when client reconnects

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 25, 2018 at 07:33:56AM -0400, Frediano Ziglio wrote:
> > +static gboolean playback_channel_client_initable_init(GInitable *initable,
> > +                                                      GCancellable
> > *cancellable,
> > +                                                      GError **error)
> > +{
> > +    gboolean success;
> > +    RedClient *red_client =
> > red_channel_client_get_client(RED_CHANNEL_CLIENT(initable));
> > +    SndChannelClient *scc = SND_CHANNEL_CLIENT(initable);
> > +    RedChannel *red_channel =
> > red_channel_client_get_channel(RED_CHANNEL_CLIENT(initable));
> > +    SndChannel *channel = SND_CHANNEL(red_channel);
> > +
> > +    success = playback_channel_client_parent_initable_iface->init(initable,
> > cancellable, error);
> > +    if (!success) {
> 
> I think is short and easier to read doing the if directly.

Probably a matter of preference, I prefer to have functions with side
effects separate from their if (success) test
> > +    iface->init = record_channel_client_initable_init;
> > +}
> > +
> > +
> >  static void
> >  record_channel_client_class_init(RecordChannelClientClass *klass)
> >  {
> >      GObjectClass *object_class = G_OBJECT_CLASS(klass);
> > -    object_class->constructed = record_channel_client_constructed;
> >      object_class->finalize = record_channel_client_finalize;
> >  }
> >  
> 
> Is it only me or che code looks a lot duplicated?

A lot duplicated? It's a bit messy between ::init(), ::constructed() and
::initable_init(), but if I did not mess things up, they should be doing
different things (ie no actual code duplication).

> Reusing constructed function instead of removing and create new
> function in different places won't reduce the diff?

RedChannelClient::initable_init() is needed as this is the only place
where you can handle and report init failures, which is why some code is
there. Since snd_send() needs to run after the code in
RedChannelClient::initable_init(), that code is moved there.

Or where you pointing out a different issue?

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]