From b3e1b95afaff7ed53baef2d193e0968cade7e94b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 17 May 2012 22:38:34 +0200 Subject: aresample: check return code of swr_convert() Issue found by comparing af_resample.c and af_aresample.c Signed-off-by: Michael Niedermayer --- libavfilter/af_aresample.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libavfilter/af_aresample.c') diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c index dde79e2a6a..8e616e2a69 100644 --- a/libavfilter/af_aresample.c +++ b/libavfilter/af_aresample.c @@ -169,6 +169,11 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref n_out = swr_convert(aresample->swr, outsamplesref->data, n_out, (void *)insamplesref->data, n_in); + if (n_out <= 0) { + avfilter_unref_buffer(outsamplesref); + avfilter_unref_buffer(insamplesref); + return; + } avfilter_copy_buffer_ref_props(outsamplesref, insamplesref); outsamplesref->audio->sample_rate = outlink->sample_rate; -- cgit v1.2.3