G_GNUC_INTERNAL gboolean _priv_gst_value_parse_string (gchar * s, gchar ** end, gchar ** next, gboolean unescape);
G_GNUC_INTERNAL gboolean _priv_gst_value_parse_simple_string (gchar * str, gchar ** end);
G_GNUC_INTERNAL gboolean _priv_gst_value_parse_value (gchar * str, gchar ** after, GValue * value, GType default_type);
-G_GNUC_INTERNAL gchar * _priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin, const gchar * end);
+G_GNUC_INTERNAL gchar * _priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin, const gchar * end, gboolean print_type);
/* Used in GstBin for manual state handling */
G_GNUC_INTERNAL void _priv_gst_element_state_changed (GstElement *element,
field = GST_STRUCTURE_FIELD (structure, i);
- t = gst_value_serialize (&field->value);
+ if (G_VALUE_TYPE (&field->value) == GST_TYPE_ARRAY) {
+ t = _priv_gst_value_serialize_any_list (&field->value, "< ", " >", FALSE);
+ } else if (G_VALUE_TYPE (&field->value) == GST_TYPE_LIST) {
+ t = _priv_gst_value_serialize_any_list (&field->value, "{ ", " }", FALSE);
+ } else {
+ t = gst_value_serialize (&field->value);
+ }
+
type = gst_structure_value_get_generic_type (&field->value);
g_string_append_len (s, ", ", 2);
*/
gchar *
_priv_gst_value_serialize_any_list (const GValue * value, const gchar * begin,
- const gchar * end)
+ const gchar * end, gboolean print_type)
{
guint i;
GArray *array = value->data[0].v_pointer;
v = &g_array_index (array, GValue, i);
s_val = gst_value_serialize (v);
if (s_val != NULL) {
+ if (print_type) {
+ g_string_append_c (s, '(');
+ g_string_append (s, _priv_gst_value_gtype_to_abbr (G_VALUE_TYPE (v)));
+ g_string_append_c (s, ')');
+ }
g_string_append (s, s_val);
g_free (s_val);
if (i < alen - 1) {
static gchar *
gst_value_serialize_value_list (const GValue * value)
{
- return _priv_gst_value_serialize_any_list (value, "{ ", " }");
+ return _priv_gst_value_serialize_any_list (value, "{ ", " }", TRUE);
}
static gboolean
static gchar *
gst_value_serialize_value_array (const GValue * value)
{
- return _priv_gst_value_serialize_any_list (value, "< ", " >");
+ return _priv_gst_value_serialize_any_list (value, "{ ", " }", TRUE);
}
static gboolean