From 394ce89bd3ef478dc3fba4de15a5cee222dc516f Mon Sep 17 00:00:00 2001 From: Jamie Bullock Date: Wed, 19 Jun 2013 14:59:58 -0700 Subject: Fix memory leak by calling xtract_free_window() --- examples/simpletest/simpletest.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) (limited to 'examples/simpletest/simpletest.c') diff --git a/examples/simpletest/simpletest.c b/examples/simpletest/simpletest.c index c182a90..fae0090 100644 --- a/examples/simpletest/simpletest.c +++ b/examples/simpletest/simpletest.c @@ -92,12 +92,12 @@ int main(void) double mean = 0.0; double f0 = 0.0; double centroid = 0.0; - double *spectrum = calloc(BLOCKSIZE, sizeof(double)); - double *windowed = calloc(BLOCKSIZE, sizeof(double)); - double *peaks = calloc(BLOCKSIZE, sizeof(double)); - double *harmonics = calloc(BLOCKSIZE, sizeof(double)); + double spectrum[BLOCKSIZE] = {0}; + double windowed[BLOCKSIZE] = {0}; + double peaks[BLOCKSIZE] = {0}; + double harmonics[BLOCKSIZE] = {0}; double *window = NULL; - double *mfccs = calloc(MFCC_FREQ_BANDS, sizeof(double)); + double mfccs[MFCC_FREQ_BANDS] = {0}; double argd[4] = {0}; double samplerate = 44100.0; int n; @@ -117,14 +117,16 @@ int main(void) /* create the window function */ window = xtract_init_window(BLOCKSIZE, XTRACT_HANN); xtract_windowed(wavetable, BLOCKSIZE, window, windowed); + xtract_free_window(window); /* get the spectrum */ argd[0] = SAMPLERATE / (double)BLOCKSIZE; argd[1] = XTRACT_MAGNITUDE_SPECTRUM; - argd[2] = 0.f; /* DC component - we expect this to zero for square wave */ + argd[2] = 1.f; /* DC component - we expect this to zero for square wave */ argd[3] = 0.f; /* No Normalisation */ xtract_init_fft(BLOCKSIZE, XTRACT_SPECTRUM); + printf("windowed: %p, spectrum: %p\n", (void *)windowed, (void *)spectrum); xtract[XTRACT_SPECTRUM](windowed, BLOCKSIZE, &argd[0], spectrum); xtract[XTRACT_SPECTRAL_CENTROID](spectrum, BLOCKSIZE, NULL, ¢roid); @@ -182,12 +184,6 @@ int main(void) } free(mel_filters.filters); - free(spectrum); - free(windowed); - free(peaks); - free(harmonics); - free(mfccs); - return 0; } -- cgit v1.2.3