TagList.register

Registers a new tag type for the use with GStreamer's type system. If a type with that name is already registered, that one is used. The old registration may have used a different type however. So don't rely on your supplied values.

Important: if you do not supply a merge function the implication will be that there can only be one single value for this tag in a tag list and any additional values will silently be discarded when being added (unless GST_TAG_MERGE_REPLACE, GST_TAG_MERGE_REPLACE_ALL, or GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new value will replace the old one in the list).

The merge function will be called from Tag.listCopyValue when it is required that one or more values for a tag be condensed into one single value. This may happen from Tag.listGetString, Tag.listGetInt, Tag.listGetDouble etc. What will happen exactly in that case depends on how the tag was registered and if a merge function was supplied and if so which one.

Two default merge functions are provided: Tag.mergeUseFirst and Tag.mergeStringsWithComma.

class TagList
static
void
register

Parameters

name string

the name or identifier string

flag GstTagFlag

a flag describing the type of tag info

type GType

the type this data is in

nick string

human-readable name

blurb string

a human-readable description about this tag

func GstTagMergeFunc

function for merging multiple values of this tag, or NULL