X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_afftfilt.c;h=a6156bf852d68e54415027346ef55d6cdba5fefb;hb=c53f9f436440be4e180aa3895920ef21019c076f;hp=a14dd280e07fe3957872795370ee807df74b7459;hpb=2174a315b46815ceb9ca9150650078b22ba0ad84;p=ffmpeg diff --git a/libavfilter/af_afftfilt.c b/libavfilter/af_afftfilt.c index a14dd280e07..a6156bf852d 100644 --- a/libavfilter/af_afftfilt.c +++ b/libavfilter/af_afftfilt.c @@ -40,6 +40,7 @@ typedef struct AFFTFiltContext { FFTComplex **fft_data; FFTComplex **fft_temp; int nb_exprs; + int channels; int window_size; AVExpr **real; AVExpr **imag; @@ -129,6 +130,7 @@ static int config_input(AVFilterLink *inlink) char *args; const char *last_expr = "1"; + s->channels = inlink->channels; s->pts = AV_NOPTS_VALUE; s->fft_bits = av_log2(s->fft_size); s->fft = av_fft_init(s->fft_bits, 0); @@ -435,7 +437,7 @@ static av_cold void uninit(AVFilterContext *ctx) av_fft_end(s->fft); av_fft_end(s->ifft); - for (i = 0; i < s->nb_exprs; i++) { + for (i = 0; i < s->channels; i++) { if (s->fft_data) av_freep(&s->fft_data[i]); if (s->fft_temp)