[Spice-devel] [PATCH spice-gtk] Add call of gst_deinit at program exit

Frediano Ziglio fziglio at redhat.com
Thu Oct 19 11:19:55 UTC 2017


> 
> Hi
> 
> ----- Original Message -----
> > > 
> > > From: Christophe de Dinechin <dinechin at redhat.com>
> > > 
> > > This is useful for some instrumentation, e.g. the leaks tracer,
> > > that perform some of their operations within gst_deinit.
> > > 
> > > Without this patch, if you run spicy with
> > > 	GST_DEBUG="GST_TRACER:7" GST_TRACERS="leaks" spicy ...
> > > the leak tracer does not run at exit, because it runs in gst_deinit.
> > > 
> > > Signed-off-by: Christophe de Dinechin <dinechin at redhat.com>
> > > ---
> > >  spice-common              | 2 +-
> > >  src/channel-display-gst.c | 1 +
> > >  2 files changed, 2 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/spice-common b/spice-common
> > > index 429ad96..ba11de3 160000
> > > --- a/spice-common
> > > +++ b/spice-common
> > > @@ -1 +1 @@
> > > -Subproject commit 429ad965371ceaaf60b81ccbed7da660ef9e0a94
> > > +Subproject commit ba11de3f3fd58d1b1a99bb62dd9e409e9961a78e
> > > diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
> > > index f978602..c9ab9bf 100644
> > > --- a/src/channel-display-gst.c
> > > +++ b/src/channel-display-gst.c
> > > @@ -578,6 +578,7 @@ static gboolean gstvideo_init(void)
> > >          GError *err = NULL;
> > >          if (gst_init_check(NULL, NULL, &err)) {
> > >              success = 1;
> > > +            atexit(gst_deinit);
> > >          } else {
> > >              spice_warning("Disabling GStreamer video support: %s",
> > >              err->message);
> > >              g_clear_error(&err);
> > 
> > Calling atexit from a library is a bad idea.
> 
> And calling gst_deinit() from a library is also wrong.
> 
> 

If the main target is just spicy and knowing spicy is mainly a developer
tool you can add a call to gst_deinit in spicy.

Frediano


More information about the Spice-devel mailing list