TagList

List of tags and values used to describe media metadata.

Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not allowed. Strings must not be empty or NULL.

class TagList {
protected
bool ownedRef;
}

Constructors

this
this(GstTagList* gstTagList, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a new empty GstTagList.

this
this(string str)

Deserializes a tag list.

this
this(void* varArgs)

Just like Tag.listNew, only that it takes a va_list argument. Useful mostly for language bindings.

Members

Functions

addValist
void addValist(GstTagMergeMode mode, string tag, void* varArgs)

Sets the values for the given tags using the specified mode.

addValistValues
void addValistValues(GstTagMergeMode mode, string tag, void* varArgs)

Sets the GValues for the given tags using the specified mode.

addValue
void addValue(GstTagMergeMode mode, string tag, Value value)

Sets the GValue for a given tag using the specified mode.

foreach_
void foreach_(GstTagForeachFunc func, void* userData)

Calls the given function for each tag inside the tag list. Note that if there is no tag, the function won't be called at all.

getBoolean
bool getBoolean(string tag, bool value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getBooleanIndex
bool getBooleanIndex(string tag, uint index, bool value)

Gets the value that is at the given index for the given tag in the given list.

getDate
bool getDate(string tag, Date value)

Copies the first date for the given tag in the taglist into the variable pointed to by value. Free the date with Date.free when it is no longer needed.

getDateIndex
bool getDateIndex(string tag, uint index, Date value)

Gets the date that is at the given index for the given tag in the given list and copies it into the variable pointed to by value. Free the date with Date.free when it is no longer needed.

getDateTime
bool getDateTime(string tag, DateTime value)

Copies the first datetime for the given tag in the taglist into the variable pointed to by value. Unref the date with Date.timeUnref when it is no longer needed.

getDateTimeIndex
bool getDateTimeIndex(string tag, uint index, DateTime value)

Gets the datetime that is at the given index for the given tag in the given list and copies it into the variable pointed to by value. Unref the datetime with Date.timeUnref when it is no longer needed.

getDouble
bool getDouble(string tag, double value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getDoubleIndex
bool getDoubleIndex(string tag, uint index, double value)

Gets the value that is at the given index for the given tag in the given list.

getFloat
bool getFloat(string tag, float value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getFloatIndex
bool getFloatIndex(string tag, uint index, float value)

Gets the value that is at the given index for the given tag in the given list.

getInt
bool getInt(string tag, int value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getInt64
bool getInt64(string tag, long value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getInt64Index
bool getInt64Index(string tag, uint index, long value)

Gets the value that is at the given index for the given tag in the given list.

getIntIndex
bool getIntIndex(string tag, uint index, int value)

Gets the value that is at the given index for the given tag in the given list.

getPointer
bool getPointer(string tag, void* value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getPointerIndex
bool getPointerIndex(string tag, uint index, void* value)

Gets the value that is at the given index for the given tag in the given list.

getSample
bool getSample(string tag, Sample sample)

Copies the first sample for the given tag in the taglist into the variable pointed to by sample. Free the sample with Sample.unref when it is no longer needed. You can retrieve the buffer from the sample using Sample.getBuffer and the associated caps (if any) with Sample.getCaps.

getSampleIndex
bool getSampleIndex(string tag, uint index, Sample sample)

Gets the sample that is at the given index for the given tag in the given list and copies it into the variable pointed to by sample. Free the sample with Sample.unref when it is no longer needed. You can retrieve the buffer from the sample using Sample.getBuffer and the associated caps (if any) with Sample.getCaps.

getScope
GstTagScope getScope()

Gets the scope of list.

getString
bool getString(string tag, string value)

Copies the contents for the given tag into the value, possibly merging multiple values into one if multiple values are associated with the tag.

getStringIndex
bool getStringIndex(string tag, uint index, string value)

Gets the value that is at the given index for the given tag in the given list.

getStruct
void* getStruct()

the main Gtk struct as a void*

getTagListStruct
GstTagList* getTagListStruct(bool transferOwnership)

Get the main Gtk struct

getTagSize
uint getTagSize(string tag)

Checks how many value are stored in this tag list for the given tag.

getUint
bool getUint(string tag, uint value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getUint64
bool getUint64(string tag, ulong value)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag.

getUint64Index
bool getUint64Index(string tag, uint index, ulong value)

Gets the value that is at the given index for the given tag in the given list.

getUintIndex
bool getUintIndex(string tag, uint index, uint value)

Gets the value that is at the given index for the given tag in the given list.

getValueIndex
Value getValueIndex(string tag, uint index)

Gets the value that is at the given index for the given tag in the given list.

insert
void insert(TagList from, GstTagMergeMode mode)

Inserts the tags of the from list into the first list using the given mode.

isEmpty
bool isEmpty()

Checks if the given taglist is empty.

isEqual
bool isEqual(TagList list2)

Checks if the two given taglists are equal.

merge
TagList merge(TagList list2, GstTagMergeMode mode)

Merges the two given lists into a new list. If one of the lists is NULL, a copy of the other is returned. If both lists are NULL, NULL is returned.

nTags
int nTags()

Get the number of tags in list.

nthTagName
string nthTagName(uint index)

Get the name of the tag in list at index.

peekStringIndex
bool peekStringIndex(string tag, uint index, string value)

Peeks at the value that is at the given index for the given tag in the given list.

removeTag
void removeTag(string tag)

Removes the given tag from the taglist.

setScope
void setScope(GstTagScope scope_)

Sets the scope of list to scope. By default the scope of a taglist is stream scope.

toString
string toString()

Serializes a tag list to a string.

Static functions

copyValue
bool copyValue(Value dest, TagList list, string tag)

Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. You must Value.unset the value after use.

exists
bool exists(string tag)

Checks if the given type is already registered.

getDescription
string getDescription(string tag)

Returns the human-readable description of this tag, You must not change or free this string.

getFlag
GstTagFlag getFlag(string tag)

Gets the flag of tag.

getNick
string getNick(string tag)

Returns the human-readable name of this tag, You must not change or free this string.

getType
GType getType(string tag)

Gets the GType used for this tag.

isFixed
bool isFixed(string tag)

Checks if the given tag is fixed. A fixed tag can only contain one value. Unfixed tags can contain lists of values.

mergeStringsWithComma
void mergeStringsWithComma(Value dest, Value src)

This is a convenience function for the func argument of Tag.register. It concatenates all given strings using a comma. The tag must be registered as a G_TYPE_STRING or this function will fail.

mergeUseFirst
void mergeUseFirst(Value dest, Value src)

This is a convenience function for the func argument of Tag.register. It creates a copy of the first value from the list.

register
void register(string name, GstTagFlag flag, GType type, string nick, string blurb, GstTagMergeFunc func)

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.

registerStatic
void registerStatic(string name, GstTagFlag flag, GType type, string nick, string blurb, GstTagMergeFunc func)

Registers a new tag type for the use with GStreamer's type system.

Variables

gstTagList
GstTagList* gstTagList;

the main Gtk struct