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.

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.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.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_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.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


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


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] [array zero-terminated=1] [element-type utf8] ) –

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.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_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.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.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_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 ( [array zero-terminated=1] ) –

tags for api

Returns

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.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_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.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.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_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] [nullable] ) –

a GstMetaInfo 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

Returns ( Gst.MetaInfo ) –

a Gst.MetaInfo 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

Returns ( Gst.MetaInfo ) –

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


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


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


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


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 (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


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


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

GstMetaFreeFunction

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

Function called when meta is freed in buffer.

Parameters:

meta

a GstMeta

buffer

a GstBuffer


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


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


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

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

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

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

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


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


The results of the search are