pad: make an ACCEPT_CAPS query
[platform/upstream/gstreamer.git] / gst / gstmeta.h
index a9e1dc1..7ae7a99 100644 (file)
@@ -49,6 +49,7 @@ struct _GstMeta {
 /**
  * GstMetaInitFunction:
  * @meta: a #GstMeta
+ * @params: parameters passed to the init function
  * @buffer: a #GstBuffer
  *
  * Function called when @meta is initialized in @buffer.
@@ -84,78 +85,37 @@ typedef void (*GstMetaTransformFunction) (GstBuffer *transbuf, GstMeta *meta,
                                           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__ */