summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2017-12-06 13:36:30 +0200
committerSebastian Dröge <sebastian@centricular.com>2017-12-06 13:36:30 +0200
commitc813b1c276b7982ba436f6ca9322b91f2160e9f2 (patch)
treef8dbb0fc11aa6c3aced63e07be676eddd63345fb
parent62ebee096b91d6df43cb6529b6760d5a22202fdb (diff)
query: Add an empty structure in writable_structure() if there is none yet
This is consistent with how it works for GstEvent already.
-rw-r--r--gst/gstquery.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/gst/gstquery.c b/gst/gstquery.c
index 3a27a6a11..dd4929be0 100644
--- a/gst/gstquery.c
+++ b/gst/gstquery.c
@@ -731,10 +731,21 @@ gst_query_get_structure (GstQuery * query)
GstStructure *
gst_query_writable_structure (GstQuery * query)
{
+ GstStructure *structure;
+
g_return_val_if_fail (GST_IS_QUERY (query), NULL);
g_return_val_if_fail (gst_query_is_writable (query), NULL);
- return GST_QUERY_STRUCTURE (query);
+ structure = GST_QUERY_STRUCTURE (query);
+
+ if (structure == NULL) {
+ structure =
+ gst_structure_new_id_empty (gst_query_type_to_quark (GST_QUERY_TYPE
+ (query)));
+ gst_structure_set_parent_refcount (structure, &query->mini_object.refcount);
+ GST_QUERY_STRUCTURE (query) = structure;
+ }
+ return structure;
}
/**