gstpad: only warn on performance penalty if not using the template caps
[platform/upstream/gstreamer.git] / gst / gstmeta.h
index d9c8454..d6aaa67 100644 (file)
@@ -23,6 +23,9 @@
 #ifndef __GST_META_H__
 #define __GST_META_H__
 
+#include <glib.h>
+#include <gst/gstbuffer.h>
+
 G_BEGIN_DECLS
 
 typedef struct _GstMeta GstMeta;
@@ -83,6 +86,7 @@ typedef enum {
 
 /**
  * GST_META_TAG_MEMORY_STR:
+ *
  * This metadata stays relevant as long as memory layout is unchanged.
  *
  * Since: 1.2
@@ -174,8 +178,8 @@ typedef gboolean (*GstMetaTransformFunction) (GstBuffer *transbuf,
 
 /**
  * GstMetaInfo:
- * @api: tag indentifying the metadata structure and api
- * @type: type indentifying the implementor of the api
+ * @api: tag identifying the metadata structure and api
+ * @type: type identifying the implementor of the api
  * @size: size of the metadata
  * @init_func: function for initializing the metadata
  * @free_func: function for freeing the metadata
@@ -193,8 +197,9 @@ struct _GstMetaInfo {
   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 */
 };
 
 GType                gst_meta_api_type_register (const gchar *api,
@@ -217,8 +222,13 @@ GST_EXPORT GQuark _gst_meta_tag_memory;
  *
  * Metadata tagged with this tag depends on the particular memory
  * or buffer that it is on.
+ *
+ * Deprecated: The GQuarks are not exported by any public API, use
+ *   GST_META_TAG_MEMORY_STR instead.
  */
+#ifndef GST_DISABLE_DEPRECATED
 #define GST_META_TAG_MEMORY (_gst_meta_tag_memory)
+#endif
 
 G_END_DECLS