Commit defb960a authored by Paul B Mahol's avatar Paul B Mahol

avfilter/af_loudnorm: fix crash when ebur128 initialization was not successfull/complete

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 4da4bfcd
...@@ -789,6 +789,9 @@ static av_cold void uninit(AVFilterContext *ctx) ...@@ -789,6 +789,9 @@ static av_cold void uninit(AVFilterContext *ctx)
double i_in, i_out, lra_in, lra_out, thresh_in, thresh_out, tp_in, tp_out; double i_in, i_out, lra_in, lra_out, thresh_in, thresh_out, tp_in, tp_out;
int c; int c;
if (!s->r128_in || !s->r128_out)
goto end;
ebur128_loudness_range(s->r128_in, &lra_in); ebur128_loudness_range(s->r128_in, &lra_in);
ebur128_loudness_global(s->r128_in, &i_in); ebur128_loudness_global(s->r128_in, &i_in);
ebur128_relative_threshold(s->r128_in, &thresh_in); ebur128_relative_threshold(s->r128_in, &thresh_in);
...@@ -869,8 +872,11 @@ static av_cold void uninit(AVFilterContext *ctx) ...@@ -869,8 +872,11 @@ static av_cold void uninit(AVFilterContext *ctx)
break; break;
} }
ebur128_destroy(&s->r128_in); end:
ebur128_destroy(&s->r128_out); if (s->r128_in)
ebur128_destroy(&s->r128_in);
if (s->r128_out)
ebur128_destroy(&s->r128_out);
av_freep(&s->limiter_buf); av_freep(&s->limiter_buf);
av_freep(&s->prev_smp); av_freep(&s->prev_smp);
av_freep(&s->buf); av_freep(&s->buf);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment