From b8142bde0703b7c60aa1e70c2da62dde6ea661ff Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Sun, 15 Feb 2015 21:34:28 -0500 Subject: [PATCH] spectrum: Fix min and max for bands property The number of FFTs is calculated with the following formula: guint nfft = 2 * bands - 2; nfft is passed to gst_fft_f32_new() as the len argument and is of type unsigned integer. This method required that len is at leas 1, then maximum G_MAXINT, as other values would be negative. If we extrapolate from the formula above it means we need "bands" to be between 2 and ((guint)G_MAXINT + 2) / 2). https://bugzilla.gnome.org/show_bug.cgi?id=744213 --- gst/spectrum/gstspectrum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/spectrum/gstspectrum.c b/gst/spectrum/gstspectrum.c index 72242dc3a7..563c4f0ad7 100644 --- a/gst/spectrum/gstspectrum.c +++ b/gst/spectrum/gstspectrum.c @@ -201,7 +201,7 @@ gst_spectrum_class_init (GstSpectrumClass * klass) g_object_class_install_property (gobject_class, PROP_BANDS, g_param_spec_uint ("bands", "Bands", "Number of frequency bands", - 0, G_MAXUINT, DEFAULT_BANDS, + 2, ((guint) G_MAXINT + 2) / 2, DEFAULT_BANDS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (gobject_class, PROP_THRESHOLD,