diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gst/spectrum/gstspectrum.c | 7 |
2 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,9 @@ +2007-11-09 Sebastian Dröge <slomo@circular-chaos.org> + + * gst/spectrum/gstspectrum.c: + Now do the scaling right for real. Also initialize a previously + uninitialized variable. + 2007-11-09 Edgard Lima <edgard.lima@indt.org.br> * ext/metadata/metadataparsexmp.c: diff --git a/gst/spectrum/gstspectrum.c b/gst/spectrum/gstspectrum.c index f2f654a6..3b2f19fc 100644 --- a/gst/spectrum/gstspectrum.c +++ b/gst/spectrum/gstspectrum.c @@ -517,10 +517,9 @@ process_s##width (GstSpectrum *spectrum, const gint##width *samples) \ \ /* Calculate magnitude in db */ \ for (i = 0; i < spectrum->bands; i++) { \ - gdouble val; \ + gdouble val = 0.0; \ val = (gdouble) freqdata[i].r * (gdouble) freqdata[i].r; \ val += (gdouble) freqdata[i].i * (gdouble) freqdata[i].i; \ - val *= nfft; \ val /= max*max; \ val = 10.0 * log10 (val); \ if (val > spectrum->threshold) \ @@ -585,10 +584,10 @@ process_f##width (GstSpectrum *spectrum, const g##type *samples) \ \ /* Calculate magnitude in db */ \ for (i = 0; i < spectrum->bands; i++) { \ - gdouble val; \ + gdouble val = 0.0; \ val = freqdata[i].r * freqdata[i].r; \ val += freqdata[i].i * freqdata[i].i; \ - val /= nfft; \ + val /= nfft*nfft; \ val = 10.0 * log10 (val); \ if (val > spectrum->threshold) \ val -= spectrum->threshold; \ |