/**
* GstMetaInitFunction:
* @meta: a #GstMeta
+ * @params: parameters passed to the init function
* @buffer: a #GstBuffer
*
* Function called when @meta is initialized in @buffer.
GstBuffer *buffer, gpointer data);
/**
- * GstMetaSerializeFunction:
- * @meta: a #GstMeta
- */
-typedef gchar * (*GstMetaSerializeFunction) (GstMeta *meta);
-
-/**
- * GstMetaDeserializeFunction:
- * @meta: a #GstMeta
- */
-typedef gboolean (*GstMetaDeserializeFunction) (GstMeta *meta,
- const gchar *s);
-
-/**
* GstMetaInfo:
* @api: tag indentifying the metadata structure and api
- * @impl: tag indentifying the implementor of the api
+ * @type: type indentifying the implementor of the api
* @size: size of the metadata
* @init_func: function for initializing the metadata
* @free_func: function for freeing the metadata
* @copy_func: function for copying the metadata
* @transform_func: function for transforming the metadata
- * @serialize_func: function for serializing
- * @deserialize_func: function for deserializing
*
* The #GstMetaInfo provides information about a specific metadata
* structure.
*/
struct _GstMetaInfo {
GQuark api;
- GQuark impl;
+ GType type;
gsize size;
GstMetaInitFunction init_func;
GstMetaFreeFunction free_func;
GstMetaCopyFunction copy_func;
GstMetaTransformFunction transform_func;
- GstMetaSerializeFunction serialize_func;
- GstMetaDeserializeFunction deserialize_func;
};
-void _gst_meta_init (void);
-
const GstMetaInfo * gst_meta_register (const gchar *api, const gchar *impl,
gsize size,
GstMetaInitFunction init_func,
GstMetaFreeFunction free_func,
GstMetaCopyFunction copy_func,
- GstMetaTransformFunction transform_func,
- GstMetaSerializeFunction serialize_func,
- GstMetaDeserializeFunction deserialize_func);
+ GstMetaTransformFunction transform_func);
const GstMetaInfo * gst_meta_get_info (const gchar * impl);
-/* default metadata */
-
-/* timing metadata */
-typedef struct _GstMetaTiming GstMetaTiming;
-
-const GstMetaInfo *gst_meta_timing_get_info(void);
-#define GST_META_TIMING_INFO (gst_meta_timing_get_info())
-
-struct _GstMetaTiming {
- GstMeta meta; /* common meta header */
-
- GstClockTime dts; /* decoding timestamp */
- GstClockTime pts; /* presentation timestamp */
- GstClockTime duration; /* duration of the data */
- GstClockTime clock_rate; /* clock rate for the above values */
-};
-
-#define gst_buffer_get_meta_timing(b) ((GstMetaTiming*)gst_buffer_get_meta((b),GST_META_TIMING_INFO))
-#define gst_buffer_add_meta_timing(b) ((GstMetaTiming*)gst_buffer_add_meta((b),GST_META_TIMING_INFO,NULL))
-
G_END_DECLS
#endif /* __GST_META_H__ */