_gst_buffer_list_initialize ();
_gst_message_initialize ();
_gst_tag_initialize ();
+ gst_parse_context_get_type ();
_gst_plugin_initialize ();
#include "parse/types.h"
#endif
+static void
+_prepend_missing_element (gchar * element, GList ** list)
+{
+ *list = g_list_prepend (*list, g_strdup (element));
+}
+
+static GstParseContext *
+gst_parse_context_copy (const GstParseContext * context)
+{
+ GstParseContext *ret = NULL;
+#ifndef GST_DISABLE_PARSE
+
+ ret = gst_parse_context_new ();
+ if (context) {
+ g_list_foreach (context->missing_elements, (GFunc) _prepend_missing_element,
+ &ret->missing_elements);
+ ret->missing_elements = g_list_reverse (ret->missing_elements);
+ }
+#endif
+ return ret;
+}
+
+GType
+gst_parse_context_get_type (void)
+{
+ static GType type = 0;
+
+ if (G_UNLIKELY (type == 0)) {
+ type = g_boxed_type_register_static ("GstParseContext",
+ (GBoxedCopyFunc) gst_parse_context_copy,
+ (GBoxedFreeFunc) gst_parse_context_free);
+ }
+
+ return type;
+}
+
/**
* gst_parse_error_quark:
*
GST_PARSE_FLAG_FATAL_ERRORS = (1 << 0)
} GstParseFlags;
+#define GST_TYPE_PARSE_CONTEXT (gst_parse_context_get_type())
+
/**
* GstParseContext:
*
/* create, process and free a parse context */
+GType gst_parse_context_get_type (void);
GstParseContext * gst_parse_context_new (void);
gchar ** gst_parse_context_get_missing_elements (GstParseContext * context);