gstvalue: fix crash in transform allocation params to string

when gst_buffer_pool_config_set_allocator (config, alloc, NULL);
gst_structure_to_string or GST_DEBUG (pool, "config %" GST_PTR_FORMAT,
config) will crash. this patch fix that

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7943>
This commit is contained in:
Qian Hu (胡骞) 2024-11-22 21:23:10 +08:00 committed by GStreamer Marge Bot
parent 818f64a641
commit 66e21d1e70

View file

@ -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;
}