diff --git a/gst/gstquery.c b/gst/gstquery.c index 9e518a0326..e9b42a8d7a 100644 --- a/gst/gstquery.c +++ b/gst/gstquery.c @@ -1675,13 +1675,13 @@ allocation_meta_free (AllocationMeta * am) * gst_query_add_allocation_meta: * @query: a GST_QUERY_ALLOCATION type query #GstQuery * @api: the metadata API - * @params: (transfer full) (allow-none): API specific parameters + * @params: (transfer none) (allow-none): API specific parameters * * Add @api with @params as one of the supported metadata API to @query. */ void gst_query_add_allocation_meta (GstQuery * query, GType api, - GstStructure * params) + const GstStructure * params) { GArray *array; GstStructure *structure; @@ -1697,7 +1697,7 @@ gst_query_add_allocation_meta (GstQuery * query, GType api, (GDestroyNotify) allocation_meta_free); am.api = api; - am.params = params; + am.params = (params ? gst_structure_copy (params) : NULL); g_array_append_val (array, am); } diff --git a/gst/gstquery.h b/gst/gstquery.h index c8fc62aa4d..500ab45a2f 100644 --- a/gst/gstquery.h +++ b/gst/gstquery.h @@ -428,7 +428,7 @@ void gst_query_set_nth_allocation_param (GstQuery *query, guint ind const GstAllocationParams *params); /* metadata */ -void gst_query_add_allocation_meta (GstQuery *query, GType api, GstStructure *params); +void gst_query_add_allocation_meta (GstQuery *query, GType api, const GstStructure *params); guint gst_query_get_n_allocation_metas (GstQuery *query); GType gst_query_parse_nth_allocation_meta (GstQuery *query, guint index, const GstStructure **params); diff --git a/libs/gst/base/gstbasetransform.c b/libs/gst/base/gstbasetransform.c index d17b0556b5..b0bae07092 100644 --- a/libs/gst/base/gstbasetransform.c +++ b/libs/gst/base/gstbasetransform.c @@ -1373,7 +1373,7 @@ gst_base_transform_default_propose_allocation (GstBaseTransform * trans, api = gst_query_parse_nth_allocation_meta (decide_query, i, ¶ms); GST_DEBUG_OBJECT (trans, "proposing metadata %s", g_type_name (api)); - gst_query_add_allocation_meta (query, api, gst_structure_copy (params)); + gst_query_add_allocation_meta (query, api, params); } ret = TRUE; }