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
-
+