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 db7a05dab0652d4ec6d89394c9024d02f44494a7)
This commit is contained in:
James Almer 2017-03-21 12:03:44 -03:00
parent 2423dd9656
commit 4c97b79cf5

View File

@ -314,6 +314,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
|| c->filter_length != FFMAX((int)ceil(filter_size/factor), 1) || c->format != format
|| c->filter_type != filter_type || c->kaiser_beta != kaiser_beta) {
resample_free(&c);
c = av_mallocz(sizeof(*c));
if (!c)
return NULL;