Browse Source

swresample/resample: free existing ResampleContext on reinit

Fixes memleak.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit db7a05dab0)
tags/n2.8.12
James Almer 8 years ago
parent
commit
31e65eb84d
1 changed files with 1 additions and 0 deletions
  1. +1
    -0
      libswresample/resample.c

+ 1
- 0
libswresample/resample.c View File

@@ -190,6 +190,7 @@ static ResampleContext *resample_init(ResampleContext *c, int out_rate, int in_r
if (!c || c->phase_shift != phase_shift || c->linear!=linear || c->factor != factor if (!c || c->phase_shift != phase_shift || c->linear!=linear || c->factor != factor
|| c->filter_length != FFMAX((int)ceil(filter_size/factor), 1) || c->format != format || c->filter_length != FFMAX((int)ceil(filter_size/factor), 1) || c->format != format
|| c->filter_type != filter_type || c->kaiser_beta != kaiser_beta) { || c->filter_type != filter_type || c->kaiser_beta != kaiser_beta) {
resample_free(&c);
c = av_mallocz(sizeof(*c)); c = av_mallocz(sizeof(*c));
if (!c) if (!c)
return NULL; return NULL;


Loading…
Cancel
Save