summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Newton <nevion@gmail.com>2014-12-05 08:38:30 +0000
committerDavid Henningsson <david.henningsson@canonical.com>2014-12-08 10:25:40 +0100
commit7201c9be982917bc93a37eca7c47d87bf625ecae (patch)
treed96e65411d743abd3120a259f1b2882d32d4a8f0
parentd72cb78d4c882c49a613d14af0de505cfeddb6aa (diff)
module-equalizer-sink: use fftwf_free in all the right places
Several mallocs were made using fftwf_malloc and were erroneously freed by pa_xfree. This patch corrects these calls of pa_xfree to fftwf_free.
-rw-r--r--src/modules/module-equalizer-sink.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/modules/module-equalizer-sink.c b/src/modules/module-equalizer-sink.c
index ce5f8c13a..7aea5d3e9 100644
--- a/src/modules/module-equalizer-sink.c
+++ b/src/modules/module-equalizer-sink.c
@@ -232,7 +232,7 @@ static void alloc_input_buffers(struct userdata *u, size_t min_buffer_length) {
if (u->input[c]) {
if (!u->first_iteration)
memcpy(tmp, u->input[c], u->overlap_size * sizeof(float));
- free(u->input[c]);
+ fftwf_free(u->input[c]);
}
u->input[c] = tmp;
}
@@ -1344,22 +1344,22 @@ void pa__done(pa_module*m) {
fftwf_destroy_plan(u->inverse_plan);
fftwf_destroy_plan(u->forward_plan);
- pa_xfree(u->output_window);
+ fftwf_free(u->output_window);
for (c = 0; c < u->channels; ++c) {
pa_aupdate_free(u->a_H[c]);
- pa_xfree(u->overlap_accum[c]);
- pa_xfree(u->input[c]);
+ fftwf_free(u->overlap_accum[c]);
+ fftwf_free(u->input[c]);
}
pa_xfree(u->a_H);
pa_xfree(u->overlap_accum);
pa_xfree(u->input);
- pa_xfree(u->work_buffer);
- pa_xfree(u->W);
+ fftwf_free(u->work_buffer);
+ fftwf_free(u->W);
for (c = 0; c < u->channels; ++c) {
pa_xfree(u->Xs[c]);
for (size_t i = 0; i < 2; ++i)
- pa_xfree(u->Hs[c][i]);
- pa_xfree(u->Hs[c]);
+ fftwf_free(u->Hs[c][i]);
+ fftwf_free(u->Hs[c]);
}
pa_xfree(u->Xs);
pa_xfree(u->Hs);