diff --git a/girs/Gst-1.0.gir b/girs/Gst-1.0.gir index ef131c7df0..9fa22f0b76 100644 --- a/girs/Gst-1.0.gir +++ b/girs/Gst-1.0.gir @@ -5759,6 +5759,45 @@ message should not be unreffed by the sync handler. pass message to async queue, continue if message is handled + + Interface for an array of bytes. It is expected to be subclassed to implement +@resize virtual method using language native array implementation, such as +GLib's #GByteArray, C++'s `std::vector<uint8_t>` or Rust's `Vec<u8>`. + +@resize implementation could allocate more than requested to avoid repeated +reallocations. It can return %FALSE, or be set to %NULL, in the case the +array cannot grow. + + + A pointer to an array of bytes. + + + + Number of bytes in @data. + + + + + + + + + + + + + + + + + + + + + + + + Just call the parent handler. This assumes that there is a variable named parent_class that points to the (duh!) parent class. Note that @@ -10524,7 +10563,11 @@ this functionality yet. Extra custom metadata. The @structure field is the same as returned by -gst_custom_meta_get_structure(). +gst_custom_meta_get_structure(). + +Since 1.24 it can be serialized using gst_meta_serialize() and +gst_meta_deserialize(), but only if the #GstStructure does not contain any +fields that cannot be serialized, see %GST_SERIALIZE_FLAG_STRICT. parent #GstMeta @@ -25755,6 +25798,56 @@ or a #GCompareDataFunc. + + Serialize @meta into a format that can be stored or transmitted and later +deserialized by gst_meta_deserialize(). + +This is only supported for meta that implements #GstMetaInfo.serialize_func, +%FALSE is returned otherwise. + +Upon failure, @data->data pointer could have been reallocated, but @data->len +won't be modified. This is intended to be able to append multiple metas +into the same #GByteArray. + +Since serialization size is often the same for every buffer, caller may want +to remember the size of previous data to preallocate the next. + + + %TRUE on success, %FALSE otherwise. + + + + + a #GstMeta + + + + #GstByteArrayInterface to append serialization data + + + + + + Same as gst_meta_serialize() but with a #GByteArray instead of +#GstByteArrayInterface. + + + %TRUE on success, %FALSE otherwise. + + + + + a #GstMeta + + + + #GByteArray to append serialization data + + + + + + @@ -25809,6 +25902,40 @@ or a #GCompareDataFunc. + + Recreate a #GstMeta from serialized data returned by +gst_meta_serialize() and add it to @buffer. + +Note that the meta must have been previously registered by calling one of +`gst_*_meta_get_info ()` functions. + +@consumed is set to the number of bytes that can be skipped from @data to +find the next meta serialization, if any. In case of parsing error that does +not allow to determine that size, @consumed is set to 0. + + + the metadata owned by @buffer, or %NULL. + + + + + a #GstBuffer + + + + serialization data obtained from gst_meta_serialize() + + + + size of @data + + + + total size used by this meta, could be less than @size + + + + Lookup a previously registered meta info structure by its implementation name @impl. @@ -25825,7 +25952,7 @@ or a #GCompareDataFunc. - + Register a new #GstMeta implementation. The same @info can be retrieved later with gst_meta_get_info() by using @@ -25849,15 +25976,15 @@ access metadata. the size of the #GstMeta structure - + a #GstMetaInitFunction - + a #GstMetaFreeFunction - + a #GstMetaTransformFunction @@ -25923,7 +26050,79 @@ transform function. + + Same as gst_meta_register() but also set serialize/deserialize functions. + + + a #GstMetaInfo that can be used to access metadata. + + + + + the type of the #GstMeta API + + + + the name of the #GstMeta implementation + + + + the size of the #GstMeta structure + + + + a #GstMetaInitFunction + + + + a #GstMetaFreeFunction + + + + a #GstMetaTransformFunction + + + + a #GstMetaSerializeFunction + + + + a #GstMetaDeserializeFunction + + + + + + Recreate a #GstMeta from serialized data returned by +#GstMetaSerializeFunction and add it to @buffer. + + + the metadata owned by @buffer, or %NULL. + + + + + #GstMetaInfo of the meta + + + + a #GstBuffer + + + + data obtained from #GstMetaSerializeFunction + + + + size of data to avoid buffer overflow + + + + + + + Extra metadata flags. @@ -25987,6 +26186,16 @@ structure. function for transforming the metadata + + Function for serializing the metadata, or %NULL if not supported by this +meta. + + + + Function for deserializing the metadata, or %NULL if not supported by this +meta. + + @@ -26022,6 +26231,33 @@ structure. + + Serialize @meta into a format that can be stored or transmitted and later +deserialized by #GstMetaDeserializeFunction. + +By default version is set to 0, it should be bumped if incompatible changes +are made to the format so %GstMetaDeserializeFunction can deserialize each +version. + + + %TRUE on success, %FALSE otherwise. + + + + + a #GstMeta + + + + #GstByteArrayInterface to append serialization data + + + + version of the serialization format + + + + Extra data passed to a "gst-copy" transform #GstMetaTransformFunction. @@ -37637,7 +37873,10 @@ references would be * `timestamp/x-ptp, version=IEEE1588-2008, domain=1`: for timestamps based on a given PTP clock. * `timestamp/x-unix`: for timestamps based on the UNIX epoch according to - the local clock. + the local clock. + +Since 1.24 it can be serialized using gst_meta_serialize() and +gst_meta_deserialize(). the parent #GstMeta structure @@ -39806,6 +40045,10 @@ values of the seek flags. Serialize using the old format for nested structures. + + Serialization fails if a value cannot be serialized instead of using +placeholder "NULL" value (e.g. pointers, objects). + The #GstSharedTaskPool object. @@ -51922,6 +52165,40 @@ of @new_message. + + Recreate a #GstMeta from serialized data returned by +gst_meta_serialize() and add it to @buffer. + +Note that the meta must have been previously registered by calling one of +`gst_*_meta_get_info ()` functions. + +@consumed is set to the number of bytes that can be skipped from @data to +find the next meta serialization, if any. In case of parsing error that does +not allow to determine that size, @consumed is set to 0. + + + the metadata owned by @buffer, or %NULL. + + + + + a #GstBuffer + + + + serialization data obtained from gst_meta_serialize() + + + + size of @data + + + + total size used by this meta, could be less than @size + + + + Lookup a previously registered meta info structure by its implementation name @impl. @@ -51938,7 +52215,7 @@ of @new_message. - + Register a new #GstMeta implementation. The same @info can be retrieved later with gst_meta_get_info() by using @@ -51962,15 +52239,15 @@ access metadata. the size of the #GstMeta structure - + a #GstMetaInitFunction - + a #GstMetaFreeFunction - + a #GstMetaTransformFunction @@ -52036,6 +52313,48 @@ transform function. + + Same as gst_meta_register() but also set serialize/deserialize functions. + + + a #GstMetaInfo that can be used to access metadata. + + + + + the type of the #GstMeta API + + + + the name of the #GstMeta implementation + + + + the size of the #GstMeta structure + + + + a #GstMetaInitFunction + + + + a #GstMetaFreeFunction + + + + a #GstMetaTransformFunction + + + + a #GstMetaSerializeFunction + + + + a #GstMetaDeserializeFunction + + + + Atomically modifies a pointer to point to a new mini-object. The reference count of @olddata is decreased and the reference count of diff --git a/girs/GstVideo-1.0.gir b/girs/GstVideo-1.0.gir index 0a36a45077..e61c57ef48 100644 --- a/girs/GstVideo-1.0.gir +++ b/girs/GstVideo-1.0.gir @@ -11820,7 +11820,10 @@ fields: - padding-left (uint): extra pixels on the left side - padding-right (uint): extra pixels on the right side The padding fields have the same semantic as #GstVideoMeta.alignment -and so represent the paddings requested on produced video buffers. +and so represent the paddings requested on produced video buffers. + +Since 1.24 it can be serialized using gst_meta_serialize() and +gst_meta_deserialize(). parent #GstMeta @@ -16045,13 +16048,13 @@ gst_buffer_add_video_meta_full() with them. offset of each plane - + stride of each plane - +