From 51b356eef85df7864b673b9cc990210bca631a04 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 31 Dec 2018 19:40:18 +0100 Subject: [PATCH] avfilter/af_sofalizer: stop allocating never used buffers --- libavfilter/af_sofalizer.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavfilter/af_sofalizer.c b/libavfilter/af_sofalizer.c index 52c3b49ccd..48123594a6 100644 --- a/libavfilter/af_sofalizer.c +++ b/libavfilter/af_sofalizer.c @@ -719,12 +719,20 @@ static int load_data(AVFilterContext *ctx, int azim, int elev, float radius, int n_samples = s->sofa.n_samples; ir_samples = s->sofa.ir_samples; - s->data_ir[0] = av_calloc(n_samples, sizeof(float) * s->n_conv); - s->data_ir[1] = av_calloc(n_samples, sizeof(float) * s->n_conv); + if (s->type == TIME_DOMAIN) { + s->data_ir[0] = av_calloc(n_samples, sizeof(float) * s->n_conv); + s->data_ir[1] = av_calloc(n_samples, sizeof(float) * s->n_conv); + + if (!s->data_ir[0] || !s->data_ir[1]) { + ret = AVERROR(ENOMEM); + goto fail; + } + } + s->delay[0] = av_calloc(s->n_conv, sizeof(int)); s->delay[1] = av_calloc(s->n_conv, sizeof(int)); - if (!s->data_ir[0] || !s->data_ir[1] || !s->delay[0] || !s->delay[1]) { + if (!s->delay[0] || !s->delay[1]) { ret = AVERROR(ENOMEM); goto fail; }