fs_element_added_notifier_add (priv->notifier, GST_BIN (priv->sink));
-
gst_bin_add_many (GST_BIN (obj), resample, priv->volume, priv->sink, NULL);
gst_element_link_many (resample, priv->volume, priv->sink, NULL);
}
}
-
-
static void
empathy_audio_sink_class_init (EmpathyGstAudioSinkClass
*empathy_audio_sink_class)
object_class->set_property = empathy_audio_sink_set_property;
object_class->get_property = empathy_audio_sink_get_property;
- param_spec = g_param_spec_double ("volume", "Volume", "volume factory",
+ param_spec = g_param_spec_double ("volume", "Volume", "volume control",
0.0, 5.0, 1.0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_VOLUME, param_spec);
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