diff options
-rw-r--r-- | libempathy-gtk/empathy-video-src.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-video-src.c b/libempathy-gtk/empathy-video-src.c index bd014a5d9..96324e06c 100644 --- a/libempathy-gtk/empathy-video-src.c +++ b/libempathy-gtk/empathy-video-src.c @@ -137,7 +137,15 @@ empathy_video_src_finalize (GObject *object) GstElement * empathy_video_src_new (void) { - return GST_ELEMENT (g_object_new (EMPATHY_TYPE_GST_VIDEO_SRC, NULL)); + static gboolean registered = FALSE; + + if (!registered) { + if (!gst_element_register (NULL, "empathyvideosrc", + GST_RANK_NONE, EMPATHY_TYPE_GST_VIDEO_SRC)) + return NULL; + registered = TRUE; + } + return gst_element_factory_make ("empathyvideosrc", NULL); } void |