## GstMeta GstMeta |

## Functions

#define | GST_META_FLAGS()
#define | GST_META_FLAG_IS_SET()
#define | GST_META_FLAG_SET()
#define | GST_META_FLAG_UNSET()
gboolean | (*GstMetaInitFunction) ()
void | (*GstMetaFreeFunction) ()
gboolean | (*GstMetaTransformFunction) ()
#define | GST_META_TRANSFORM_IS_COPY()
GType | gst_meta_api_type_register ()
gboolean | gst_meta_api_type_has_tag ()
const gchar * const* | gst_meta_api_type_get_tags ()
const GstMetaInfo * | gst_meta_register ()
const GstMetaInfo * | gst_meta_get_info ()

## Types and Values

struct | GstMeta
enum | GstMetaFlags
struct | GstMetaInfo
| GstMetaTransformCopy
#define | GST_META_TAG_MEMORY
#define | GST_META_TAG_MEMORY_STR

## Includes

    #include <gst/gst.h>

## Description

## Functions

### GST_META_FLAGS()

    #define GST_META_FLAGS(meta)  (GST_META_CAST (meta)->flags)

### GST_META_FLAG_IS_SET()

    #define GST_META_FLAG_IS_SET(meta,flag)        !!(GST_META_FLAGS (meta) & (flag))

### GST_META_FLAG_SET()

    #define GST_META_FLAG_SET(meta,flag)           (GST_META_FLAGS (meta) |= (flag))

### GST_META_FLAG_UNSET()

    #define GST_META_FLAG_UNSET(meta,flag)         (GST_META_FLAGS (meta) &= ~(flag))

### GstMetaInitFunction ()

    gboolean
    (*GstMetaInitFunction) (GstMeta *meta,
                            gpointer params,
                            GstBuffer *buffer);

### GstMetaFreeFunction ()

    void
    (*GstMetaFreeFunction) (GstMeta *meta,
                            GstBuffer *buffer);

### GstMetaTransformFunction ()

    gboolean
    (*GstMetaTransformFunction) (GstBuffer *transbuf,
                                 GstMeta *meta,
                                 GstBuffer *buffer,
                                 GQuark type,
                                 gpointer data);

### GST_META_TRANSFORM_IS_COPY()

    #define GST_META_TRANSFORM_IS_COPY(type) ((type) == _gst_meta_transform_copy)

### gst_meta_api_type_register ()

    GType
    gst_meta_api_type_register (const gchar *api,
                                const gchar **tags);

### gst_meta_api_type_has_tag ()

    gboolean
    gst_meta_api_type_has_tag (GType api,
                               GQuark tag);

### gst_meta_api_type_get_tags ()

    const gchar * const*
    gst_meta_api_type_get_tags (GType api);

### gst_meta_register ()

    const GstMetaInfo *
    gst_meta_register (GType api,
                       const gchar *impl,
                       gsize size,
                       GstMetaInitFunction init_func,
                       GstMetaFreeFunction free_func,
                       GstMetaTransformFunction transform_func);

### gst_meta_get_info ()

    const GstMetaInfo *
    gst_meta_get_info (const gchar *impl);

## Types and Values

### struct GstMeta

    struct GstMeta {
      GstMetaFlags       flags;
      const GstMetaInfo *info;
    };

### enum GstMetaFlags

#### Members

GST_META_FLAG_NONE |  |
GST_META_FLAG_READONLY |  |
GST_META_FLAG_POOLED |  |
GST_META_FLAG_LOCKED |  |
GST_META_FLAG_LAST |  |

### struct GstMetaInfo

    struct GstMetaInfo {
      GType                      api;
      GType                      type;
      gsize                      size;

      GstMetaInitFunction        init_func;
      GstMetaFreeFunction        free_func;
      GstMetaTransformFunction   transform_func;
    };

### GstMetaTransformCopy

    typedef struct {
      gboolean region;
      gsize offset;
      gsize size;
    } GstMetaTransformCopy;

### GST_META_TAG_MEMORY

    #define GST_META_TAG_MEMORY (_gst_meta_tag_memory)

`GST_META_TAG_MEMORY` is deprecated and should not be used in newly-written code.

### GST_META_TAG_MEMORY_STR

    #define GST_META_TAG_MEMORY_STR "memory"