summaryrefslogtreecommitdiff
path: root/libavfilter/af_sofalizer.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2018-12-31 19:40:18 +0100
committerPaul B Mahol <onemda@gmail.com>2018-12-31 19:40:18 +0100
commit51b356eef85df7864b673b9cc990210bca631a04 (patch)
treecf143ffa867eca53895d8abfeb9dac3e6c5c591a /libavfilter/af_sofalizer.c
parent86555a2fbf3339ec7cd3487d7e21739c6730db2e (diff)
downloadffmpeg-51b356eef85df7864b673b9cc990210bca631a04.tar.gz
avfilter/af_sofalizer: stop allocating never used buffers
Diffstat (limited to 'libavfilter/af_sofalizer.c')
-rw-r--r--libavfilter/af_sofalizer.c14
1 files 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;
}