Sets our main struct and passes it to the parent class.
Creates a new, empty gstreamer.Structure with the given name.
Creates a new, empty gstreamer.Structure with the given name as a GQuark.
Creates a new gstreamer.Structure with the given name. Structure fields are set according to the varargs in a manner similar to Structure.new.
A destructor is present on this object, but not explicitly documented in the source.
Tries intersecting struct1 and struct2 and reports whether the result would not be empty.
Duplicates a gstreamer.Structure and all its fields and values.
Calls the provided function once for each field in the gstreamer.Structure In contrast to Structure.foreach, the function may modify the fields. In contrast to Structure.mapInPlace, the field is removed from the structure if FALSE is returned from the function. The structure must be mutable.
Fixate all values in structure using Value.fixate. structure will be modified in-place and should be writable.
Fixates a gstreamer.Structure by changing the given field with its fixated value.
Fixates a gstreamer.Structure by changing the given field_name field to the given target boolean if that field is not fixed yet.
Fixates a gstreamer.Structure by changing the given field to the nearest double to target that is a subset of the existing field.
Fixates a gstreamer.Structure by changing the given field to the nearest fraction to target_numerator/target_denominator that is a subset of the existing field.
Fixates a gstreamer.Structure by changing the given field to the nearest integer to target that is a subset of the existing field.
Fixates a gstreamer.Structure by changing the given field_name field to the given target string if that field is not fixed yet.
Calls the provided function once for each field in the gstreamer.Structure The function must not modify the fields. Also see Structure.mapInPlace and Structure.filterAndMapInPlace.
Frees a gstreamer.Structure and all its fields and values. The structure must not have a parent when this function is called.
This is useful in language bindings where unknown gobject.Value types are not supported. This function will convert the GST_TYPE_ARRAY into a newly allocated gstreamer.ValueArray and return it through array. Be aware that this is slower then getting the gobject.Value directly.
Sets the boolean pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the clock time pointed to by value corresponding to the clock time of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the date pointed to by value corresponding to the date of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the datetime pointed to by value corresponding to the datetime of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the double pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the int pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists, has the correct type and that the enumtype is correct.
Finds the field with the given name, and returns the type of the value it contains. If the field is not found, G_TYPE_INVALID is returned.
Read the GstFlagSet flags and mask out of the structure into the provided pointers.
Sets the integers pointed to by value_numerator and value_denominator corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the int pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the gint64 pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
This is useful in language bindings where unknown gobject.Value types are not supported. This function will convert the GST_TYPE_LIST into a newly allocated GValueArray and return it through array. Be aware that this is slower then getting the gobject.Value directly.
Get the name of structure as a string.
Get the name of structure as a GQuark.
Finds the field corresponding to fieldname, and returns the string contained in the field's value. Caller is responsible for making sure the field exists and has the correct type.
the main Gtk struct as a void*
Get the main Gtk struct
Sets the uint pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
Sets the guint64 pointed to by value corresponding to the value of the given field. Caller is responsible for making sure the field exists and has the correct type.
Parses the variable arguments and reads fields from structure accordingly. valist-variant of Structure.get. Look at the documentation of Structure.get for more details.
Get the value of the field with name fieldname.
Check if structure contains a field named fieldname.
Check if structure contains a field named fieldname and with GType type.
Checks if the structure has the given name
Parses the variable arguments and reads fields from structure accordingly. valist-variant of Structure.idGet. Look at the documentation of Structure.idGet for more details.
Get the value of the field with GQuark field.
Check if structure contains a field named field.
Check if structure contains a field named field and with GType type.
va_list form of Structure.idSet.
Sets the field with the given GQuark field to value. If the field does not exist, it is created. If the field exists, the previous value is replaced and freed.
Sets the field with the given GQuark field to value. If the field does not exist, it is created. If the field exists, the previous value is replaced and freed.
Intersects struct1 and struct2 and returns the intersection.
Tests if the two gstreamer.Structure are equal.
Checks if subset is a subset of superset, i.e. has the same structure name and for all fields that are existing in superset, subset has a value that is a subset of the value in superset.
Calls the provided function once for each field in the gstreamer.Structure In contrast to Structure.foreach, the function may modify but not delete the fields. The structure must be mutable.
Get the number of fields in the structure.
Get the name of the given field number, counting from 0 onwards.
Removes all fields in a GstStructure.
Removes the field with the given name. If the field with the given name does not exist, the structure is unchanged.
va_list form of Structure.removeFields.
This is useful in language bindings where unknown GValue types are not supported. This function will convert a array to GST_TYPE_ARRAY and set the field specified by fieldname. Be aware that this is slower then using GST_TYPE_ARRAY in a gobject.Value directly.
This is useful in language bindings where unknown GValue types are not supported. This function will convert a array to GST_TYPE_LIST and set the field specified by fieldname. Be aware that this is slower then using GST_TYPE_LIST in a gobject.Value directly.
Sets the name of the structure to the given name. The string provided is copied before being used. It must not be empty, start with a letter and can be followed by letters, numbers and any of "/-_.:".
Sets the parent_refcount field of gstreamer.Structure This field is used to determine whether a structure is mutable or not. This function should only be called by code implementing parent objects of gstreamer.Structure, as described in the MT Refcounting section of the design documents.
va_list form of Structure.set.
Sets the field with the given name field to value. If the field does not exist, it is created. If the field exists, the previous value is replaced and freed.
Sets the field with the given name field to value. If the field does not exist, it is created. If the field exists, the previous value is replaced and freed. The function will take ownership of value.
Converts structure to a human-readable string representation.
Creates a gstreamer.Structure from a string representation. If end is not NULL, a pointer to the place inside the given string where parsing ended will be returned.
the main Gtk struct
A gstreamer.Structure is a collection of key/value pairs. The keys are expressed as GQuarks and the values can be of any GType.
In addition to the key/value pairs, a gstreamer.Structure also has a name. The name starts with a letter and can be filled by letters, numbers and any of "/-_.:".
gstreamer.Structure is used by various GStreamer subsystems to store information in a flexible and extensible way. A gstreamer.Structure does not have a refcount because it usually is part of a higher level object such as gstreamer.Caps, gstreamer.Message, gstreamer.Event, gstreamer.Query It provides a means to enforce mutability using the refcount of the parent with the Structure.setParentRefcount method.
A gstreamer.Structure can be created with Structure.newEmpty or Structure.new, which both take a name and an optional set of key/value pairs along with the types of the values.
Field values can be changed with Structure.setValue or Structure.set.
Field values can be retrieved with Structure.getValue or the more convenient gst_structure_get_*() functions.
Fields can be removed with Structure.removeField or Structure.removeFields.
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not allowed. Strings may be NULL however.
Be aware that the current gstreamer.Caps / gstreamer.Structure serialization into string has limited support for nested gstreamer.Caps / gstreamer.Structure fields. It can only support one level of nesting. Using more levels will lead to unexpected behavior when using serialization features, such as Caps.toString or Value.serialize and their counterparts.