[clutter-gst] plugin: defer clutter_init() call from plugin registration to sink creation



commit 504838703f9a8fcbfaa75e53809a63d1d08635e2
Author: Lionel Landwerlin <llandwerlin gmail com>
Date:   Fri Nov 15 18:31:50 2013 +0000

    plugin: defer clutter_init() call from plugin registration to sink creation

 clutter-gst/clutter-gst-auto-video-sink.c |   10 ++++++++++
 clutter-gst/clutter-gst-plugin.c          |    4 ----
 2 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/clutter-gst/clutter-gst-auto-video-sink.c b/clutter-gst/clutter-gst-auto-video-sink.c
index f321f15..089170b 100644
--- a/clutter-gst/clutter-gst-auto-video-sink.c
+++ b/clutter-gst/clutter-gst-auto-video-sink.c
@@ -66,11 +66,21 @@ static GstStaticPadTemplate sink_template =
                            GST_STATIC_CAPS_ANY);
 
 static void
+_clutter_init (void)
+{
+  /* We must ensure that clutter is initialized */
+  if (clutter_init (NULL, NULL) != CLUTTER_INIT_SUCCESS)
+    g_critical ("Unable to initialize Clutter");
+}
+
+static void
 clutter_gst_auto_video_sink_class_init (ClutterGstAutoVideoSinkClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
 
+  _clutter_init ();
+
   gobject_class->dispose = (GObjectFinalizeFunc) clutter_gst_auto_video_sink_dispose;
   gobject_class->set_property = clutter_gst_auto_video_sink_set_property;
   gobject_class->get_property = clutter_gst_auto_video_sink_get_property;
diff --git a/clutter-gst/clutter-gst-plugin.c b/clutter-gst/clutter-gst-plugin.c
index 7f24d46..add157c 100644
--- a/clutter-gst/clutter-gst-plugin.c
+++ b/clutter-gst/clutter-gst-plugin.c
@@ -59,10 +59,6 @@ plugin_init (GstPlugin *plugin)
   XInitThreads ();
 #endif
 
-  /* We must enshure that clutter is initialized */
-  if (clutter_init (NULL, NULL) != CLUTTER_INIT_SUCCESS)
-    return FALSE;
-
   ret = gst_element_register (plugin,
                               "clutterautovideosink",
                               GST_RANK_NONE,


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