diff --git a/subprojects/gstreamer/gst/gstvalue.c b/subprojects/gstreamer/gst/gstvalue.c index cf29a1db3f..137fe70cc3 100644 --- a/subprojects/gstreamer/gst/gstvalue.c +++ b/subprojects/gstreamer/gst/gstvalue.c @@ -8077,16 +8077,21 @@ gst_value_transform_allocation_params_string (const GValue * value1, { GstAllocationParams *params = value1->data[0].v_pointer; gchar *res; - GstStructure *s; - s = gst_structure_new_static_str ("GstAllocationParams", - "flags", GST_TYPE_MEMORY_FLAGS, params->flags, - "align", G_TYPE_UINT64, params->align, - "prefix", G_TYPE_UINT64, params->prefix, - "padding", G_TYPE_UINT64, params->padding, NULL); + if (params) { + GstStructure *s = NULL; - res = gst_structure_to_string (s); - gst_structure_free (s); + s = gst_structure_new_static_str ("GstAllocationParams", + "flags", GST_TYPE_MEMORY_FLAGS, params->flags, + "align", G_TYPE_UINT64, params->align, + "prefix", G_TYPE_UINT64, params->prefix, + "padding", G_TYPE_UINT64, params->padding, NULL); + + res = gst_structure_to_string (s); + gst_structure_free (s); + } else { + res = g_strdup ("NULL"); + } dest_value->data[0].v_pointer = res; }