Gst.Meta

Fields

Name

Type

Access

Description

flags

Gst.MetaFlags

r/w

extra flags for the metadata

info

Gst.MetaInfo

r/w

pointer to the Gst.MetaInfo

Methods

class

api_type_get_tags (api)

class

api_type_has_tag (api, tag)

class

api_type_register (api, tags)

class

get_info (impl)

class

register (api, impl, size, init_func, free_func, transform_func)

class

register_custom (name, tags, transform_func, *user_data)

compare_seqnum (meta2)

get_seqnum ()

Details

class Gst.Meta

The Gst.Meta structure should be included as the first member of a Gst.Buffer 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 Gst.MetaInfo 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 Gst.Buffer for how the metadata can be added, retrieved and removed from buffers.

classmethod api_type_get_tags(api)[source]
Parameters:

api (GObject.GType) – an API

Returns:

an array of tags as strings.

Return type:

[str]

New in version 1.2.

classmethod api_type_has_tag(api, tag)[source]
Parameters:
Returns:

True if api was registered with tag.

Return type:

bool

Check if api was registered with tag.

classmethod api_type_register(api, tags)[source]
Parameters:
  • api (str) – an API to register

  • tags ([str]) – tags for api

Returns:

a unique GObject.GType for api.

Return type:

GObject.GType

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

classmethod get_info(impl)[source]
Parameters:

impl (str) – the name

Returns:

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

Return type:

Gst.MetaInfo or None

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

classmethod register(api, impl, size, init_func, free_func, transform_func)[source]
Parameters:
Returns:

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

Return type:

Gst.MetaInfo

Register a new Gst.Meta implementation.

The same info can be retrieved later with Gst.Meta.get_info() by using impl as the key.

classmethod register_custom(name, tags, transform_func, *user_data)[source]
Parameters:
Returns:

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

Return type:

Gst.MetaInfo

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.

New in version 1.20.

compare_seqnum(meta2)[source]
Parameters:

meta2 (Gst.Meta) – a Gst.Meta

Returns:

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

Return type:

int

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

New in version 1.16.

get_seqnum()[source]
Return type:

int

Gets seqnum for this meta.

New in version 1.16.