From 4d58535d7c63a71a0f771bb2dc4832d8e6ce8caa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ren=C3=A9=20Stadler?= Date: Sat, 12 Nov 2011 01:51:11 +0100 Subject: [PATCH] query: do not return a ref from parse_accept_caps Makes this exactly like gst_event_parse_caps. This is what current code expects, so it fixes some leaks. --- gst/gstquery.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gst/gstquery.c b/gst/gstquery.c index b9c828a..e08e6a5 100644 --- a/gst/gstquery.c +++ b/gst/gstquery.c @@ -2028,6 +2028,14 @@ gst_query_new_accept_caps (GstCaps * caps) return query; } +/** + * gst_query_parse_accept_caps: + * @query: The query to parse + * @caps: (out): A pointer to the caps + * + * Get the caps from @query. The caps remains valid as long as @query remains + * valid. + */ void gst_query_parse_accept_caps (GstQuery * query, GstCaps ** caps) { @@ -2036,7 +2044,8 @@ gst_query_parse_accept_caps (GstQuery * query, GstCaps ** caps) g_return_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_ACCEPT_CAPS); structure = GST_QUERY_STRUCTURE (query); - gst_structure_id_get (structure, GST_QUARK (CAPS), GST_TYPE_CAPS, caps, NULL); + *caps = g_value_get_boxed (gst_structure_id_get_value (structure, + GST_QUARK (CAPS))); } void -- 2.7.4