debugutils: Handle caps field values being NULL

GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an
element's caps that had a field value being NULL. Such fields are successfully
handled e.g. by GST_*_OBJECT(), and with this patch so does
GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are
not supposed to be valid in caps, such caps can be created.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=727701
This commit is contained in:
Sebastian Rasmussen 2014-04-06 11:23:34 +02:00 committed by Tim-Philipp Müller
parent 6c2c49a590
commit e1e5183181

View file

@ -273,6 +273,11 @@ string_append_field (GQuark field, const GValue * value, gpointer ptr)
gchar *value_str = gst_value_serialize (value);
gchar *esc_value_str;
if (value_str == NULL) {
g_string_append_printf (str, " %18s: NULL\\l", g_quark_to_string (field));
return TRUE;
}
/* some enums can become really long */
if (strlen (value_str) > 25) {
gint pos = 24;