+/* we can't use G_DEFINE_ABSTRACT_TYPE because we need the klass in the _init
+ * method to get to the padtemplates */
+GType
+gst_tag_mux_get_type (void)
+{
+ static volatile gsize tag_mux_type = 0;
+
+ if (g_once_init_enter (&tag_mux_type)) {
+ const GInterfaceInfo interface_info = { NULL, NULL, NULL };
+ GType _type;
+
+ _type = g_type_register_static_simple (GST_TYPE_ELEMENT,
+ "GstTagMux", sizeof (GstTagMuxClass),
+ (GClassInitFunc) gst_tag_mux_class_init, sizeof (GstTagMux),
+ (GInstanceInitFunc) gst_tag_mux_init, G_TYPE_FLAG_ABSTRACT);
+
+ g_type_add_interface_static (_type, GST_TYPE_TAG_SETTER, &interface_info);
+
+ g_once_init_leave (&tag_mux_type, _type);
+ }
+ return tag_mux_type;
+}
+