gst/gstvalue.c: Should handle both value arrays and value lists.
authorTim-Philipp Müller <tim@centricular.net>
Mon, 21 Nov 2005 12:42:41 +0000 (12:42 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Mon, 21 Nov 2005 12:42:41 +0000 (12:42 +0000)
Original commit message from CVS:
* gst/gstvalue.c: (gst_value_is_fixed):
Should handle both value arrays and value lists.

ChangeLog
gst/gstvalue.c

index 341027b..b60e1ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/gstvalue.c: (gst_value_is_fixed):
+         Should handle both value arrays and value lists.
+
 2005-11-21  Andy Wingo  <wingo@pobox.com>
 
        patch by: Alessandro Dessina <alessandro nnva org>
index 4513c32..b7f0d5e 100644 (file)
@@ -2691,6 +2691,21 @@ gst_value_is_fixed (const GValue * value)
     return fixed;
   }
 
+  if (type == GST_TYPE_LIST) {
+    gboolean fixed = TRUE;
+    gint size, n;
+    const GValue *kid;
+
+    /* check recursively */
+    size = gst_value_list_get_size (value);
+    for (n = 0; n < size; n++) {
+      kid = gst_value_list_get_value (value, n);
+      fixed &= gst_value_is_fixed (kid);
+    }
+
+    return fixed;
+  }
+
   return gst_type_is_fixed (type);
 }