# GstMeta

The GstMeta structure should be included as the first member of a GstBuffer metadata structure. The structure defines the API of the metadata and should be accessible to all elements using the metadata.

A metadata API is registered with gst_meta_api_type_register which takes a name for the metadata API and some tags associated with the metadata. With gst_meta_api_type_has_tag one can check if a certain metadata API contains a given tag.

Multiple implementations of a metadata API can be registered. To implement a metadata API, gst_meta_register should be used. This function takes all parameters needed to create, free and transform metadata along with the size of the metadata. The function returns a GstMetaInfo structure that contains the information for the implementation of the API.

A specific implementation can be retrieved by name with gst_meta_get_info.

See GstBuffer for how the metadata can be added, retrieved and removed from buffers.

## GstCustomMeta

Simple typing wrapper around GstMeta

### Members

`meta` (GstMeta) –
No description available

## Gst.CustomMeta

Simple typing wrapper around Gst.Meta

### Members

`meta` (Gst.Meta) –
No description available

## Gst.CustomMeta

Simple typing wrapper around Gst.Meta

### Members

`meta` (Gst.Meta) –
No description available

### Methods

#### gst_custom_meta_get_structure

    GstStructure *
    gst_custom_meta_get_structure (GstCustomMeta * meta)

Retrieve the GstStructure backing a custom meta, the structure's mutability is conditioned to the writability of the GstBuffer meta is attached to.

Parameters:

`meta` –
No description available
Returns ( [transfer: none]) –

the GstStructure backing meta

Since : 1.20

#### Gst.CustomMeta.prototype.get_structure

    function Gst.CustomMeta.prototype.get_structure(): {
        // javascript wrapper for 'gst_custom_meta_get_structure'
    }

Retrieve the Gst.Structure backing a custom meta, the structure's mutability is conditioned to the writability of the Gst.Buffer meta is attached to.

Parameters:

`meta` (Gst.CustomMeta) –
No description available
Returns (Gst.Structure) –

the Gst.Structure backing meta

Since : 1.20

#### Gst.CustomMeta.get_structure

    def Gst.CustomMeta.get_structure (self):
        #python wrapper for 'gst_custom_meta_get_structure'

Retrieve the Gst.Structure backing a custom meta, the structure's mutability is conditioned to the writability of the Gst.Buffer meta is attached to.

Parameters:

`meta` (Gst.CustomMeta) –
No description available
Returns (Gst.Structure) –

the Gst.Structure backing meta

Since : 1.20

#### gst_custom_meta_has_name

    gboolean
    gst_custom_meta_has_name (GstCustomMeta * meta,
                              const gchar * name)

Checks whether the name of the custom meta is name

Parameters:

`meta` –
No description available
`name` –
No description available
Returns –

Whether name is the name of the custom meta

Since : 1.20

#### Gst.CustomMeta.prototype.has_name

    function Gst.CustomMeta.prototype.has_name(name: String): {
        // javascript wrapper for 'gst_custom_meta_has_name'
    }

Checks whether the name of the custom meta is name

Parameters:

`meta` (Gst.CustomMeta) –
No description available
`name` (String) –
No description available
Returns (Number) –

Whether name is the name of the custom meta

Since : 1.20

#### Gst.CustomMeta.has_name

    def Gst.CustomMeta.has_name (self, name):
        #python wrapper for 'gst_custom_meta_has_name'

Checks whether the name of the custom meta is name

Parameters:

`meta` (Gst.CustomMeta) –
No description available
`name` (str) –
No description available
Returns (bool) –

Whether name is the name of the custom meta

Since : 1.20

## GstMeta

Base structure for metadata. Custom metadata will put this structure as the first member of their structure.

### Members

`flags` (GstMetaFlags) –

extra flags for the metadata

`info` (const GstMetaInfo *) –

pointer to the GstMetaInfo

## Gst.Meta

Base structure for metadata. Custom metadata will put this structure as the first member of their structure.

### Members

`flags` (Gst.MetaFlags) –

extra flags for the metadata

`info` (Gst.MetaInfo) –

pointer to the Gst.MetaInfo

## Gst.Meta

Base structure for metadata. Custom metadata will put this structure as the first member of their structure.

### Members

`flags` (Gst.MetaFlags) –

extra flags for the metadata

`info` (Gst.MetaInfo) –

pointer to the Gst.MetaInfo

### Methods

#### gst_meta_compare_seqnum

    gint
    gst_meta_compare_seqnum (const GstMeta * meta1,
                             const GstMeta * meta2)

Meta sequence number compare function. Can be used as GCompareFunc or a GCompareDataFunc.

Parameters:

`meta1` –

a GstMeta

`meta2` –

a GstMeta

Returns –

a negative number if meta1 comes before meta2, 0 if both metas have an equal sequence number, or a positive integer if meta1 comes after meta2.

Since : 1.16

#### Gst.Meta.prototype.compare_seqnum

    function Gst.Meta.prototype.compare_seqnum(meta2: Gst.Meta): {
        // javascript wrapper for 'gst_meta_compare_seqnum'
    }

Meta sequence number compare function. Can be used as GLib.CompareFunc or a GLib.CompareDataFunc.

Parameters:

`meta1` (Gst.Meta) –

a Gst.Meta

`meta2` (Gst.Meta) –

a Gst.Meta

Returns (Number) –

a negative number if meta1 comes before meta2, 0 if both metas have an equal sequence number, or a positive integer if meta1 comes after meta2.

Since : 1.16

#### Gst.Meta.compare_seqnum

    def Gst.Meta.compare_seqnum (self, meta2):
        #python wrapper for 'gst_meta_compare_seqnum'

Meta sequence number compare function. Can be used as GLib.CompareFunc or a GLib.CompareDataFunc.

Parameters:

`meta1` (Gst.Meta) –

a Gst.Meta

`meta2` (Gst.Meta) –

a Gst.Meta

Returns (int) –

a negative number if meta1 comes before meta2, 0 if both metas have an equal sequence number, or a positive integer if meta1 comes after meta2.

Since : 1.16

#### gst_meta_get_seqnum

    guint64
    gst_meta_get_seqnum (const GstMeta * meta)

Gets seqnum for this meta.

Parameters:

`meta` –

a GstMeta

Returns –
No description available

Since : 1.16

#### Gst.Meta.prototype.get_seqnum

    function Gst.Meta.prototype.get_seqnum(): {
        // javascript wrapper for 'gst_meta_get_seqnum'
    }

Gets seqnum for this meta.

Parameters:

`meta` (Gst.Meta) –

a Gst.Meta

Returns (Number) –
No description available

Since : 1.16

#### Gst.Meta.get_seqnum

    def Gst.Meta.get_seqnum (self):
        #python wrapper for 'gst_meta_get_seqnum'

Gets seqnum for this meta.

Parameters:

`meta` (Gst.Meta) –

a Gst.Meta

Returns (int) –
No description available

Since : 1.16

### Functions

#### gst_meta_api_type_get_tags

    const gchar*const **
    gst_meta_api_type_get_tags (GType api)

Parameters:

`api` –

an API

Returns ( [transfer: none][arrayzero-terminated=1][element-typeutf8]) –

an array of tags as strings.

Since : 1.2

#### Gst.prototype.meta_api_type_get_tags

    function Gst.prototype.meta_api_type_get_tags(api: GObject.Type): {
        // javascript wrapper for 'gst_meta_api_type_get_tags'
    }

Parameters:

`api` (GObject.Type) –

an API

Returns ([ String ]) –

an array of tags as strings.

Since : 1.2

#### Gst.meta_api_type_get_tags

    def Gst.meta_api_type_get_tags (api):
        #python wrapper for 'gst_meta_api_type_get_tags'

Parameters:

`api` (GObject.Type) –

an API

Returns ([ str ]) –

an array of tags as strings.

Since : 1.2

#### gst_meta_api_type_has_tag

    gboolean
    gst_meta_api_type_has_tag (GType api,
                               GQuark tag)

Check if api was registered with tag.

Parameters:

`api` –

an API

`tag` –

the tag to check

Returns –

TRUE if api was registered with tag.

#### Gst.prototype.meta_api_type_has_tag

    function Gst.prototype.meta_api_type_has_tag(api: GObject.Type, tag: GLib.Quark): {
        // javascript wrapper for 'gst_meta_api_type_has_tag'
    }

Check if api was registered with tag.

Parameters:

`api` (GObject.Type) –

an API

`tag` (GLib.Quark) –

the tag to check

Returns (Number) –

true if api was registered with tag.

#### Gst.meta_api_type_has_tag

    def Gst.meta_api_type_has_tag (api, tag):
        #python wrapper for 'gst_meta_api_type_has_tag'

Check if api was registered with tag.

Parameters:

`api` (GObject.Type) –

an API

`tag` (GLib.Quark) –

the tag to check

Returns (bool) –

True if api was registered with tag.

#### gst_meta_api_type_register

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

Register and return a GType for the api and associate it with tags.

Parameters:

`api` –

an API to register

`tags` ( [arrayzero-terminated=1]) –

tags for api

Returns –

a unique GType for api.

#### Gst.prototype.meta_api_type_register

    function Gst.prototype.meta_api_type_register(api: String, tags: [ String ]): {
        // javascript wrapper for 'gst_meta_api_type_register'
    }

Register and return a GType for the api and associate it with tags.

Parameters:

`api` (String) –

an API to register

`tags` ([ String ]) –

tags for api

Returns (GObject.Type) –

a unique GType for api.

#### Gst.meta_api_type_register

    def Gst.meta_api_type_register (api, tags):
        #python wrapper for 'gst_meta_api_type_register'

Register and return a GType for the api and associate it with tags.

Parameters:

`api` (str) –

an API to register

`tags` ([ str ]) –

tags for api

Returns (GObject.Type) –

a unique GType for api.

#### gst_meta_get_info

    const GstMetaInfo *
    gst_meta_get_info (const gchar * impl)

Lookup a previously registered meta info structure by its implementation name impl.

Parameters:

`impl` –

the name

Returns ( [transfer: none][nullable]) –

a GstMetaInfo with impl, or NULL when no such metainfo exists.

#### Gst.prototype.meta_get_info

    function Gst.prototype.meta_get_info(impl: String): {
        // javascript wrapper for 'gst_meta_get_info'
    }

Lookup a previously registered meta info structure by its implementation name impl.

Parameters:

`impl` (String) –

the name

Returns (Gst.MetaInfo) –

a Gst.MetaInfo with impl, or null when no such metainfo exists.

#### Gst.meta_get_info

    def Gst.meta_get_info (impl):
        #python wrapper for 'gst_meta_get_info'

Lookup a previously registered meta info structure by its implementation name impl.

Parameters:

`impl` (str) –

the name

Returns (Gst.MetaInfo) –

a Gst.MetaInfo with impl, or None when no such metainfo exists.

#### gst_meta_register

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

Register a new GstMeta implementation.

The same info can be retrieved later with gst_meta_get_info by using impl as the key.

Parameters:

`api` –

the type of the GstMeta API

`impl` –

the name of the GstMeta implementation

`size` –

the size of the GstMeta structure

`init_func` ( [scope async]) –

a GstMetaInitFunction

`free_func` ( [scope async]) –

a GstMetaFreeFunction

`transform_func` ( [scope async]) –

a GstMetaTransformFunction

Returns ( [transfer: none]) –

a GstMetaInfo that can be used to access metadata.

#### Gst.prototype.meta_register

    function Gst.prototype.meta_register(api: GObject.Type, impl: String, size: Number, init_func: Gst.MetaInitFunction, free_func: Gst.MetaFreeFunction, transform_func: Gst.MetaTransformFunction): {
        // javascript wrapper for 'gst_meta_register'
    }

Register a new Gst.Meta implementation.

The same info can be retrieved later with Gst.prototype.meta_get_info by using impl as the key.

Parameters:

`api` (GObject.Type) –

the type of the Gst.Meta API

`impl` (String) –

the name of the Gst.Meta implementation

`size` (Number) –

the size of the Gst.Meta structure

`init_func` (Gst.MetaInitFunction) –

a Gst.MetaInitFunction

`free_func` (Gst.MetaFreeFunction) –

a Gst.MetaFreeFunction

`transform_func` (Gst.MetaTransformFunction) –

a Gst.MetaTransformFunction

Returns (Gst.MetaInfo) –

a Gst.MetaInfo that can be used to access metadata.

#### Gst.meta_register

    def Gst.meta_register (api, impl, size, init_func, free_func, transform_func):
        #python wrapper for 'gst_meta_register'

Register a new Gst.Meta implementation.

The same info can be retrieved later with Gst.meta_get_info by using impl as the key.

Parameters:

`api` (GObject.Type) –

the type of the Gst.Meta API

`impl` (str) –

the name of the Gst.Meta implementation

`size` (int) –

the size of the Gst.Meta structure

`init_func` (Gst.MetaInitFunction) –

a Gst.MetaInitFunction

`free_func` (Gst.MetaFreeFunction) –

a Gst.MetaFreeFunction

`transform_func` (Gst.MetaTransformFunction) –

a Gst.MetaTransformFunction

Returns (Gst.MetaInfo) –

a Gst.MetaInfo that can be used to access metadata.

#### gst_meta_register_custom

    const GstMetaInfo *
    gst_meta_register_custom (const gchar * name,
                              const gchar ** tags,
                              GstCustomMetaTransformFunction transform_func,
                              gpointer user_data,
                              GDestroyNotify destroy_data)

Register a new custom GstMeta implementation, backed by an opaque structure holding a GstStructure.

The registered info can be retrieved later with gst_meta_get_info by using name as the key.

The backing GstStructure can be retrieved with gst_custom_meta_get_structure, its mutability is conditioned by the writability of the buffer the meta is attached to.

When transform_func is NULL, the meta and its backing GstStructure will always be copied when the transform operation is copy, other operations are discarded, copy regions are ignored.

Parameters:

`name` –

the name of the GstMeta implementation

`tags` ( [arrayzero-terminated=1]) –

tags for api

`transform_func` ( [scope notified][nullable]) –

a GstMetaTransformFunction

`user_data` ( [closure]) –

user data passed to transform_func

`destroy_data` –

GDestroyNotify for user_data

Returns ( [transfer: none]) –

a GstMetaInfo that can be used to access metadata.

Since : 1.20

#### Gst.prototype.meta_register_custom

    function Gst.prototype.meta_register_custom(name: String, tags: [ String ], transform_func: Gst.CustomMetaTransformFunction, user_data: Object): {
        // javascript wrapper for 'gst_meta_register_custom'
    }

Register a new custom Gst.Meta implementation, backed by an opaque structure holding a Gst.Structure.

The registered info can be retrieved later with Gst.prototype.meta_get_info by using name as the key.

The backing Gst.Structure can be retrieved with Gst.CustomMeta.prototype.get_structure, its mutability is conditioned by the writability of the buffer the meta is attached to.

When transform_func is null, the meta and its backing Gst.Structure will always be copied when the transform operation is copy, other operations are discarded, copy regions are ignored.

Parameters:

`name` (String) –

the name of the Gst.Meta implementation

`tags` ([ String ]) –

tags for api

`transform_func` (Gst.CustomMetaTransformFunction) –

a Gst.MetaTransformFunction

`user_data` (Object) –

user data passed to transform_func

Returns (Gst.MetaInfo) –

a Gst.MetaInfo that can be used to access metadata.

Since : 1.20

#### Gst.meta_register_custom

    def Gst.meta_register_custom (name, tags, transform_func, *user_data):
        #python wrapper for 'gst_meta_register_custom'

Register a new custom Gst.Meta implementation, backed by an opaque structure holding a Gst.Structure.

The registered info can be retrieved later with Gst.meta_get_info by using name as the key.

The backing Gst.Structure can be retrieved with Gst.CustomMeta.get_structure, its mutability is conditioned by the writability of the buffer the meta is attached to.

When transform_func is None, the meta and its backing Gst.Structure will always be copied when the transform operation is copy, other operations are discarded, copy regions are ignored.

Parameters:

`name` (str) –

the name of the Gst.Meta implementation

`tags` ([ str ]) –

tags for api

`transform_func` (Gst.CustomMetaTransformFunction) –

a Gst.MetaTransformFunction

`user_data` (variadic) –

user data passed to transform_func

Returns (Gst.MetaInfo) –

a Gst.MetaInfo that can be used to access metadata.

Since : 1.20

## GstMetaInfo

The GstMetaInfo provides information about a specific metadata structure.

### Members

`api` (GType) –

tag identifying the metadata structure and api

`type` (GType) –

type identifying the implementor of the api

`size` (gsize) –

size of the metadata

`init_func` (GstMetaInitFunction) –

function for initializing the metadata

`free_func` (GstMetaFreeFunction) –

function for freeing the metadata

`transform_func` (GstMetaTransformFunction) –

function for transforming the metadata

## Gst.MetaInfo

The Gst.MetaInfo provides information about a specific metadata structure.

### Members

`api` (GObject.Type) –

tag identifying the metadata structure and api

`type` (GObject.Type) –

type identifying the implementor of the api

`size` (Number) –

size of the metadata

`init_func` (Gst.MetaInitFunction) –

function for initializing the metadata

`free_func` (Gst.MetaFreeFunction) –

function for freeing the metadata

`transform_func` (Gst.MetaTransformFunction) –

function for transforming the metadata

## Gst.MetaInfo

The Gst.MetaInfo provides information about a specific metadata structure.

### Members

`api` (GObject.Type) –

tag identifying the metadata structure and api

`type` (GObject.Type) –

type identifying the implementor of the api

`size` (int) –

size of the metadata

`init_func` (Gst.MetaInitFunction) –

function for initializing the metadata

`free_func` (Gst.MetaFreeFunction) –

function for freeing the metadata

`transform_func` (Gst.MetaTransformFunction) –

function for transforming the metadata

### Methods

#### gst_meta_info_is_custom

    gboolean
    gst_meta_info_is_custom (const GstMetaInfo * info)

Parameters:

`info` –
No description available
Returns –

whether info was registered as a GstCustomMeta with gst_meta_register_custom

Since : 1.20

#### Gst.MetaInfo.prototype.is_custom

    function Gst.MetaInfo.prototype.is_custom(): {
        // javascript wrapper for 'gst_meta_info_is_custom'
    }

Parameters:

`info` (Gst.MetaInfo) –
No description available
Returns (Number) –

whether info was registered as a Gst.CustomMeta with Gst.prototype.meta_register_custom

Since : 1.20

#### Gst.MetaInfo.is_custom

    def Gst.MetaInfo.is_custom (self):
        #python wrapper for 'gst_meta_info_is_custom'

Parameters:

`info` (Gst.MetaInfo) –
No description available
Returns (bool) –

whether info was registered as a Gst.CustomMeta with Gst.meta_register_custom

Since : 1.20

## GstMetaTransformCopy

Extra data passed to a "gst-copy" transform GstMetaTransformFunction.

### Members

`region` (gboolean) –

TRUE if only region is copied

`offset` (gsize) –

the offset to copy, 0 if region is FALSE, otherwise > 0

`size` (gsize) –

the size to copy, -1 or the buffer size when region is FALSE

## Gst.MetaTransformCopy

Extra data passed to a "gst-copy" transform Gst.MetaTransformFunction.

### Members

`region` (Number) –

true if only region is copied

`offset` (Number) –

the offset to copy, 0 if region is false, otherwise > 0

`size` (Number) –

the size to copy, -1 or the buffer size when region is false

## Gst.MetaTransformCopy

Extra data passed to a "gst-copy" transform Gst.MetaTransformFunction.

### Members

`region` (bool) –

True if only region is copied

`offset` (int) –

the offset to copy, 0 if region is False, otherwise > 0

`size` (int) –

the size to copy, -1 or the buffer size when region is False

## Function Macros

### GST_META_CAST

    #define GST_META_CAST(meta)   ((GstMeta *)(meta))

### GST_META_FLAGS

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

A flags word containing GstMetaFlags flags set on meta

Parameters:

`meta` –

a GstMeta.

### GST_META_FLAG_IS_SET

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

Gives the status of a specific flag on a metadata.

Parameters:

`meta` –

a GstMeta.

`flag` –

the GstMetaFlags to check.

### GST_META_FLAG_SET

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

Sets a metadata flag on a metadata.

Parameters:

`meta` –

a GstMeta.

`flag` –

the GstMetaFlags to set.

### GST_META_FLAG_UNSET

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

Clears a metadata flag.

Parameters:

`meta` –

a GstMeta.

`flag` –

the GstMetaFlags to clear.

### GST_META_TRANSFORM_IS_COPY

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

Check if the transform type is a copy transform

Parameters:

`type` –

a transform type

## Enumerations

### GstMetaFlags

Extra metadata flags.

##### Members

`GST_META_FLAG_NONE` (0) –

no flags

`GST_META_FLAG_READONLY` (1) –

metadata should not be modified

`GST_META_FLAG_POOLED` (2) –

metadata is managed by a bufferpool

`GST_META_FLAG_LOCKED` (4) –

metadata should not be removed

`GST_META_FLAG_LAST` (65536) –

additional flags can be added starting from this flag.

### Gst.MetaFlags

Extra metadata flags.

##### Members

`Gst.MetaFlags.NONE` (0) –

no flags

`Gst.MetaFlags.READONLY` (1) –

metadata should not be modified

`Gst.MetaFlags.POOLED` (2) –

metadata is managed by a bufferpool

`Gst.MetaFlags.LOCKED` (4) –

metadata should not be removed

`Gst.MetaFlags.LAST` (65536) –

additional flags can be added starting from this flag.

### Gst.MetaFlags

Extra metadata flags.

##### Members

`Gst.MetaFlags.NONE` (0) –

no flags

`Gst.MetaFlags.READONLY` (1) –

metadata should not be modified

`Gst.MetaFlags.POOLED` (2) –

metadata is managed by a bufferpool

`Gst.MetaFlags.LOCKED` (4) –

metadata should not be removed

`Gst.MetaFlags.LAST` (65536) –

additional flags can be added starting from this flag.

## Constants

### GST_META_TAG_MEMORY

    #define GST_META_TAG_MEMORY (_gst_meta_tag_memory)

Metadata tagged with this tag depends on the particular memory or buffer that it is on.

### GST_META_TAG_MEMORY_STR

    #define GST_META_TAG_MEMORY_STR "memory"

This metadata stays relevant as long as memory layout is unchanged.

### Gst.META_TAG_MEMORY_STR

This metadata stays relevant as long as memory layout is unchanged.

### Gst.META_TAG_MEMORY_STR

This metadata stays relevant as long as memory layout is unchanged.

## Callbacks

### GstCustomMetaTransformFunction

    gboolean
    (*GstCustomMetaTransformFunction) (GstBuffer * transbuf,
                                       GstCustomMeta * meta,
                                       GstBuffer * buffer,
                                       GQuark type,
                                       gpointer data,
                                       gpointer user_data)

Function called for each meta in buffer as a result of performing a transformation on transbuf. Additional type specific transform data is passed to the function as data.

Implementations should check the type of the transform and parse additional type specific fields in data that should be used to update the metadata on transbuf.

Parameters:

`transbuf` –

a GstBuffer

`meta` –

a GstCustomMeta

`buffer` –

a GstBuffer

`type` –

the transform type

`data` –

transform specific data.

`user_data` –

user data passed when registering the meta

Returns –

TRUE if the transform could be performed

Since : 1.20

### Gst.CustomMetaTransformFunction

    function Gst.CustomMetaTransformFunction(transbuf: Gst.Buffer, meta: Gst.CustomMeta, buffer: Gst.Buffer, type: GLib.Quark, data: Object, user_data: Object): {
        // javascript wrapper for 'GstCustomMetaTransformFunction'
    }

Function called for each meta in buffer as a result of performing a transformation on transbuf. Additional type specific transform data is passed to the function as data.

Implementations should check the type of the transform and parse additional type specific fields in data that should be used to update the metadata on transbuf.

Parameters:

`transbuf` (Gst.Buffer) –

a Gst.Buffer

`meta` (Gst.CustomMeta) –

a Gst.CustomMeta

`buffer` (Gst.Buffer) –

a Gst.Buffer

`type` (GLib.Quark) –

the transform type

`data` (Object) –

transform specific data.

`user_data` (Object) –

user data passed when registering the meta

Returns (Number) –

true if the transform could be performed

Since : 1.20

### Gst.CustomMetaTransformFunction

    def Gst.CustomMetaTransformFunction (transbuf, meta, buffer, type, data, *user_data):
        #python wrapper for 'GstCustomMetaTransformFunction'

Function called for each meta in buffer as a result of performing a transformation on transbuf. Additional type specific transform data is passed to the function as data.

Implementations should check the type of the transform and parse additional type specific fields in data that should be used to update the metadata on transbuf.

Parameters:

`transbuf` (Gst.Buffer) –

a Gst.Buffer

`meta` (Gst.CustomMeta) –

a Gst.CustomMeta

`buffer` (Gst.Buffer) –

a Gst.Buffer

`type` (GLib.Quark) –

the transform type

`data` (object) –

transform specific data.

`user_data` (variadic) –

user data passed when registering the meta

Returns (bool) –

True if the transform could be performed

Since : 1.20

### GstMetaFreeFunction

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

Function called when meta is freed in buffer.

Parameters:

`meta` –

a GstMeta

`buffer` –

a GstBuffer

### Gst.MetaFreeFunction

    function Gst.MetaFreeFunction(meta: Gst.Meta, buffer: Gst.Buffer): {
        // javascript wrapper for 'GstMetaFreeFunction'
    }

Function called when meta is freed in buffer.

Parameters:

`meta` (Gst.Meta) –

a Gst.Meta

`buffer` (Gst.Buffer) –

a Gst.Buffer

### Gst.MetaFreeFunction

    def Gst.MetaFreeFunction (meta, buffer):
        #python wrapper for 'GstMetaFreeFunction'

Function called when meta is freed in buffer.

Parameters:

`meta` (Gst.Meta) –

a Gst.Meta

`buffer` (Gst.Buffer) –

a Gst.Buffer

### GstMetaInitFunction

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

Function called when meta is initialized in buffer.

Parameters:

`meta` –

a GstMeta

`params` –

parameters passed to the init function

`buffer` –

a GstBuffer

Returns –
No description available

### Gst.MetaInitFunction

    function Gst.MetaInitFunction(meta: Gst.Meta, params: Object, buffer: Gst.Buffer): {
        // javascript wrapper for 'GstMetaInitFunction'
    }

Function called when meta is initialized in buffer.

Parameters:

`meta` (Gst.Meta) –

a Gst.Meta

`params` (Object) –

parameters passed to the init function

`buffer` (Gst.Buffer) –

a Gst.Buffer

Returns (Number) –
No description available

### Gst.MetaInitFunction

    def Gst.MetaInitFunction (meta, params, buffer):
        #python wrapper for 'GstMetaInitFunction'

Function called when meta is initialized in buffer.

Parameters:

`meta` (Gst.Meta) –

a Gst.Meta

`params` (object) –

parameters passed to the init function

`buffer` (Gst.Buffer) –

a Gst.Buffer

Returns (bool) –
No description available

### GstMetaTransformFunction

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

Function called for each meta in buffer as a result of performing a transformation on transbuf. Additional type specific transform data is passed to the function as data.

Implementations should check the type of the transform and parse additional type specific fields in data that should be used to update the metadata on transbuf.

Parameters:

`transbuf` –

a GstBuffer

`meta` –

a GstMeta

`buffer` –

a GstBuffer

`type` –

the transform type

`data` –

transform specific data.

Returns –

TRUE if the transform could be performed

### Gst.MetaTransformFunction

    function Gst.MetaTransformFunction(transbuf: Gst.Buffer, meta: Gst.Meta, buffer: Gst.Buffer, type: GLib.Quark, data: Object): {
        // javascript wrapper for 'GstMetaTransformFunction'
    }

Function called for each meta in buffer as a result of performing a transformation on transbuf. Additional type specific transform data is passed to the function as data.

Implementations should check the type of the transform and parse additional type specific fields in data that should be used to update the metadata on transbuf.

Parameters:

`transbuf` (Gst.Buffer) –

a Gst.Buffer

`meta` (Gst.Meta) –

a Gst.Meta

`buffer` (Gst.Buffer) –

a Gst.Buffer

`type` (GLib.Quark) –

the transform type

`data` (Object) –

transform specific data.

Returns (Number) –

true if the transform could be performed

### Gst.MetaTransformFunction

    def Gst.MetaTransformFunction (transbuf, meta, buffer, type, data):
        #python wrapper for 'GstMetaTransformFunction'

Function called for each meta in buffer as a result of performing a transformation on transbuf. Additional type specific transform data is passed to the function as data.

Implementations should check the type of the transform and parse additional type specific fields in data that should be used to update the metadata on transbuf.

Parameters:

`transbuf` (Gst.Buffer) –

a Gst.Buffer

`meta` (Gst.Meta) –

a Gst.Meta

`buffer` (Gst.Buffer) –

a Gst.Buffer

`type` (GLib.Quark) –

the transform type

`data` (object) –

transform specific data.

Returns (bool) –

True if the transform could be performed

The results of the search are