diff --git a/ChangeLog b/ChangeLog index 341027bd79..b60e1cef8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-11-21 Tim-Philipp Müller + + * gst/gstvalue.c: (gst_value_is_fixed): + Should handle both value arrays and value lists. + 2005-11-21 Andy Wingo patch by: Alessandro Dessina diff --git a/gst/gstvalue.c b/gst/gstvalue.c index 4513c323da..b7f0d5e089 100644 --- a/gst/gstvalue.c +++ b/gst/gstvalue.c @@ -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); }