]> git.0d.be Git - empathy.git/commitdiff
Correctly register the src/sink elements
authorOlivier Crête <olivier.crete@collabora.co.uk>
Sat, 1 Aug 2009 00:10:09 +0000 (20:10 -0400)
committerOlivier Crête <olivier.crete@collabora.co.uk>
Thu, 6 Aug 2009 17:24:40 +0000 (13:24 -0400)
libempathy-gtk/empathy-audio-sink.c
libempathy-gtk/empathy-audio-src.c

index 55f64e828a5922a3908e7e757ff4624a24b06679..1d2169593f73739dad371b861164a48239a6f575 100644 (file)
@@ -204,7 +204,15 @@ empathy_audio_sink_finalize (GObject *object)
 GstElement *
 empathy_audio_sink_new (void)
 {
-  return GST_ELEMENT (g_object_new (EMPATHY_TYPE_GST_AUDIO_SINK, NULL));
+  static gboolean registered = FALSE;
+
+  if (!registered) {
+    if (!gst_element_register (NULL, "empathyaudiosink",
+            GST_RANK_NONE, EMPATHY_TYPE_GST_AUDIO_SINK))
+      return NULL;
+    registered = TRUE;
+  }
+  return gst_element_factory_make ("empathyaudiosink", NULL);
 }
 
 void
index 0497439bf3da142fce9c59bc2baba791810a8e09..a3416f2eacbc79aafc6defeacbc5bc6f0e5a6d77 100644 (file)
@@ -343,7 +343,15 @@ out:
 GstElement *
 empathy_audio_src_new (void)
 {
-  return GST_ELEMENT (g_object_new (EMPATHY_TYPE_GST_AUDIO_SRC, NULL));
+  static gboolean registered = FALSE;
+
+  if (!registered) {
+    if (!gst_element_register (NULL, "empathyaudiosrc",
+            GST_RANK_NONE, EMPATHY_TYPE_GST_AUDIO_SRC))
+      return NULL;
+    registered = TRUE;
+  }
+  return gst_element_factory_make ("empathyaudiosrc", NULL);
 }
 
 void
@@ -375,3 +383,5 @@ empathy_audio_src_get_volume (EmpathyGstAudioSrc *src)
 
   return volume;
 }
+
+