Re: [spice-gtk v1 4/6] session: gst_deinit() GStreamer if we initialize it

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

 



Hi,

On 9/2/19 7:04 PM, Victor Toso wrote:
From: Victor Toso <me@xxxxxxxxxxxxxx>

Let's gst_deinit() if we initialize it for the same rationale pointed out
in 0381e62 "spicy: Add call of gst_deinit at program exit" in
2017-10-20 by Christophe de Dinechin <dinechin@xxxxxxxxxx>

Signed-off-by: Victor Toso <victortoso@xxxxxxxxxx>
---
  src/spice-session.c | 8 ++++++++
  1 file changed, 8 insertions(+)

diff --git a/src/spice-session.c b/src/spice-session.c
index db40a53..2135348 100644
--- a/src/spice-session.c
+++ b/src/spice-session.c
@@ -123,6 +123,8 @@ struct _SpiceSessionPrivate {
      gchar             *name;
      SpiceImageCompression preferred_compression;
+ bool gst_init_by_spice;
+
      /* associated objects */
      SpiceAudio        *audio_manager;
      SpiceUsbDeviceManager *usb_manager;
@@ -343,6 +345,10 @@ spice_session_dispose(GObject *gobject)
      g_warn_if_fail(s->channels_destroying == 0);
      g_warn_if_fail(s->channels == NULL);
+ if (session->priv->gst_init_by_spice) {
+        gst_deinit();


Wouldn't it deinit on migration? (IIRC a new session is created)


Actually gstreamer documentation states:

"It is normally not needed to call this function in a normal application
 as the resources will automatically be freed when the program terminates.
 This function is therefore mostly used by testsuites and other memory
 profiling tools."

Before it was used only by spicy which i guess it's considered more of a test client, I'm not sure we would like to deinit by the session (on the other hand
i'm also not sure how harmful it would be)


Snir.


+    }
+
      g_clear_object(&s->audio_manager);
      g_clear_object(&s->usb_manager);
      g_clear_object(&s->proxy);
@@ -2888,5 +2894,7 @@ spice_session_enable_gstreamer(SpiceSession *session)
      if (!gst_init_check(NULL, NULL, &err)) {
          spice_warning("Disabling GStreamer video support: %s", err->message);
          g_clear_error(&err);
+    } else {
+        session->priv->gst_init_by_spice = true;
      }
  }
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




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