diff --git a/gst/registries/gstxmlregistry.c b/gst/registries/gstxmlregistry.c index cf2aec4e4a..9271311b78 100644 --- a/gst/registries/gstxmlregistry.c +++ b/gst/registries/gstxmlregistry.c @@ -860,14 +860,11 @@ gst_xml_registry_parse_padtemplate (GMarkupParseContext *context, const gchar *t } static gboolean -gst_xml_registry_parse_capscomp (GMarkupParseContext *context, const gchar *tag, const gchar *text, +gst_xml_registry_parse_structure (GMarkupParseContext *context, const gchar *tag, const gchar *text, gsize text_len, GstXMLRegistry *registry, GError **error) { if (!strcmp (tag, "name")) { - registry->caps_name = g_strndup (text, text_len); - } - else if (!strcmp (tag, "type")) { - registry->caps_mime = g_strndup (text, text_len); + registry->structure_name = g_strndup (text, text_len); } return TRUE; } @@ -977,9 +974,9 @@ gst_xml_registry_start_element (GMarkupParseContext *context, } break; case GST_XML_REGISTRY_CAPS: - if (!strncmp (element_name, "capscomp", 8)) { - xmlregistry->state = GST_XML_REGISTRY_CAPSCOMP; - xmlregistry->parser = gst_xml_registry_parse_capscomp; + if (!strncmp (element_name, "structure", 9)) { + xmlregistry->state = GST_XML_REGISTRY_STRUCTURE; + xmlregistry->parser = gst_xml_registry_parse_structure; } break; #if 0 @@ -1153,6 +1150,7 @@ gst_xml_registry_end_element (GMarkupParseContext *context, xmlregistry->parser = gst_xml_registry_parse_padtemplate; } break; +#if 0 case GST_XML_REGISTRY_CAPSCOMP: if (!strcmp (element_name, "capscomp")) { GstCaps2 *caps; @@ -1168,7 +1166,6 @@ gst_xml_registry_end_element (GMarkupParseContext *context, xmlregistry->caps = caps; } break; -#if 0 case GST_XML_REGISTRY_PROPERTIES: if (!strncmp (element_name, "list", 4)) { GstPropsEntry *entry; @@ -1436,7 +1433,6 @@ gst_xml_registry_save_structure (GstXMLRegistry *xmlregistry, const GstStructure static gboolean gst_xml_registry_save_caps (GstXMLRegistry *xmlregistry, const GstCaps2 *caps) { - CLASS (xmlregistry)->save_func (xmlregistry, "\n"); if(gst_caps2_is_any(caps)){ PUT_ESCAPED ("flags", "any"); } else { @@ -1447,7 +1443,6 @@ gst_xml_registry_save_caps (GstXMLRegistry *xmlregistry, const GstCaps2 *caps) gst_xml_registry_save_structure (xmlregistry, structure); } } - CLASS (xmlregistry)->save_func (xmlregistry, "\n"); return TRUE; } @@ -1517,12 +1512,11 @@ gst_xml_registry_save_feature (GstXMLRegistry *xmlregistry, GstPluginFeature *fe else if (GST_IS_TYPE_FIND_FACTORY (feature)) { GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (feature); gint i = 0; - /* FIXME if (factory->caps) { CLASS (xmlregistry)->save_func (xmlregistry, "\n"); gst_xml_registry_save_caps (xmlregistry, factory->caps); CLASS (xmlregistry)->save_func (xmlregistry, "\n"); - } */ + } if (factory->extensions) { while (factory->extensions[i]) { PUT_ESCAPED ("extension", factory->extensions[i]); diff --git a/gst/registries/gstxmlregistry.h b/gst/registries/gstxmlregistry.h index 1e38cc5cbc..7ea2a55039 100644 --- a/gst/registries/gstxmlregistry.h +++ b/gst/registries/gstxmlregistry.h @@ -52,7 +52,7 @@ typedef enum { GST_XML_REGISTRY_FEATURE, GST_XML_REGISTRY_PADTEMPLATE, GST_XML_REGISTRY_CAPS, - GST_XML_REGISTRY_CAPSCOMP, + GST_XML_REGISTRY_STRUCTURE, GST_XML_REGISTRY_PROPERTIES } GstXMLRegistryState; @@ -103,7 +103,8 @@ struct _GstXMLRegistry { GstCaps2 *caps; gchar *caps_name; - gchar *caps_mime; + gchar *structure_name; + //gchar *caps_mime; //GstProps *props; gboolean in_list;