gst_plugins_base/gst-libs/gst/fft/gstfftf32.c
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
--- a/gst_plugins_base/gst-libs/gst/fft/gstfftf32.c	Tue Aug 31 15:30:33 2010 +0300
+++ b/gst_plugins_base/gst-libs/gst/fft/gstfftf32.c	Wed Sep 01 12:16:41 2010 +0100
@@ -20,7 +20,6 @@
 #include <glib.h>
 #include <math.h>
 
-#include "_kiss_fft_guts_f32.h"
 #include "kiss_fftr_f32.h"
 #include "gstfft.h"
 #include "gstfftf32.h"
@@ -79,18 +78,13 @@
 gst_fft_f32_new (gint len, gboolean inverse)
 {
   GstFFTF32 *self;
-  gsize subsize = 0, memneeded;
 
   g_return_val_if_fail (len > 0, NULL);
   g_return_val_if_fail (len % 2 == 0, NULL);
 
-  kiss_fftr_f32_alloc (len, (inverse) ? 1 : 0, NULL, &subsize);
-  memneeded = ALIGN_STRUCT (sizeof (GstFFTF32)) + subsize;
+  self = g_new (GstFFTF32, 1);
 
-  self = (GstFFTF32 *) g_malloc0 (memneeded);
-
-  self->cfg = (((guint8 *) self) + ALIGN_STRUCT (sizeof (GstFFTF32)));
-  self->cfg = kiss_fftr_f32_alloc (len, (inverse) ? 1 : 0, self->cfg, &subsize);
+  self->cfg = kiss_fftr_f32_alloc (len, (inverse) ? 1 : 0, NULL, NULL);
   g_assert (self->cfg);
 
   self->inverse = inverse;
@@ -174,6 +168,7 @@
 void
 gst_fft_f32_free (GstFFTF32 * self)
 {
+  kiss_fftr_f32_free (self->cfg);
   g_free (self);
 }