aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.co.uk>2009-08-01 08:10:09 +0800
committerOlivier CrĂȘte <olivier.crete@collabora.co.uk>2009-08-07 01:24:40 +0800
commitb1508d71bf814939e9b9818377b4fef95c6470b2 (patch)
tree1bd6b4906f7d040076a21fb1db7939d8a9dde395
parenta885bc90fd4c27676090a59bb615b14258ff8579 (diff)
downloadgsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.tar
gsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.tar.gz
gsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.tar.bz2
gsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.tar.lz
gsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.tar.xz
gsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.tar.zst
gsoc2013-empathy-b1508d71bf814939e9b9818377b4fef95c6470b2.zip
Correctly register the src/sink elements
-rw-r--r--libempathy-gtk/empathy-audio-sink.c10
-rw-r--r--libempathy-gtk/empathy-audio-src.c12
2 files changed, 20 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-audio-sink.c b/libempathy-gtk/empathy-audio-sink.c
index 55f64e828..1d2169593 100644
--- a/libempathy-gtk/empathy-audio-sink.c
+++ b/libempathy-gtk/empathy-audio-sink.c
@@ -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
diff --git a/libempathy-gtk/empathy-audio-src.c b/libempathy-gtk/empathy-audio-src.c
index 0497439bf..a3416f2ea 100644
--- a/libempathy-gtk/empathy-audio-src.c
+++ b/libempathy-gtk/empathy-audio-src.c
@@ -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;
}
+
+