#define __GST_META_H__
#include <glib.h>
-#include <gst/gstbuffer.h>
G_BEGIN_DECLS
const GstMetaInfo *info;
};
+#include <gst/gstbuffer.h>
+
/**
* GstMetaInitFunction:
* @meta: a #GstMeta
*
* GQuark for the "gst-copy" transform.
*/
-GST_EXPORT GQuark _gst_meta_transform_copy;
+
+GST_API GQuark _gst_meta_transform_copy;
/**
* GST_META_TRANSFORM_IS_COPY:
GstMetaFreeFunction free_func;
GstMetaTransformFunction transform_func;
- /*< private >*/
- gpointer _gst_reserved[GST_PADDING];
+ /* No padding needed, GstMetaInfo is always allocated by GStreamer and is
+ * not subclassable or stack-allocatable, so we can extend it as we please
+ * just like interfaces */
};
+GST_API
GType gst_meta_api_type_register (const gchar *api,
const gchar **tags);
+GST_API
gboolean gst_meta_api_type_has_tag (GType api, GQuark tag);
+GST_API
const GstMetaInfo * gst_meta_register (GType api, const gchar *impl,
gsize size,
GstMetaInitFunction init_func,
GstMetaFreeFunction free_func,
GstMetaTransformFunction transform_func);
+GST_API
const GstMetaInfo * gst_meta_get_info (const gchar * impl);
+
+GST_API
const gchar* const* gst_meta_api_type_get_tags (GType api);
/* some default tags */
-GST_EXPORT GQuark _gst_meta_tag_memory;
+
+GST_API GQuark _gst_meta_tag_memory;
/**
* GST_META_TAG_MEMORY: