Browse Source

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

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n3.1
Paul B Mahol 9 years ago
parent
commit
defb960a47
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      libavfilter/af_loudnorm.c

+ 8
- 2
libavfilter/af_loudnorm.c View File

@@ -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;
int c;

if (!s->r128_in || !s->r128_out)
goto end;

ebur128_loudness_range(s->r128_in, &lra_in);
ebur128_loudness_global(s->r128_in, &i_in);
ebur128_relative_threshold(s->r128_in, &thresh_in);
@@ -869,8 +872,11 @@ static av_cold void uninit(AVFilterContext *ctx)
break;
}

ebur128_destroy(&s->r128_in);
ebur128_destroy(&s->r128_out);
end:
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->prev_smp);
av_freep(&s->buf);


Loading…
Cancel
Save