diff options
author | Paul B Mahol <onemda@gmail.com> | 2017-11-20 13:23:07 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2017-11-20 13:54:04 +0100 |
commit | 200f497997a123066f18eafe0c706516da2f1d4c (patch) | |
tree | 1402d00cfc8a4cafcb33b3b77dc4ca9732af7d94 | |
parent | 0f75d77a162d2702606c0b079fa9fb65a2629ccb (diff) | |
download | ffmpeg-200f497997a123066f18eafe0c706516da2f1d4c.tar.gz |
avfilter/af_surround: add missing error check
Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r-- | libavfilter/af_surround.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libavfilter/af_surround.c b/libavfilter/af_surround.c index e1cb2b3854..460e18cd5a 100644 --- a/libavfilter/af_surround.c +++ b/libavfilter/af_surround.c @@ -1350,18 +1350,19 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) AVFilterContext *ctx = inlink->dst; AVFilterLink *outlink = ctx->outputs[0]; AudioSurroundContext *s = ctx->priv; + int ret; - av_audio_fifo_write(s->fifo, (void **)in->extended_data, - in->nb_samples); - - if (s->pts == AV_NOPTS_VALUE) + ret = av_audio_fifo_write(s->fifo, (void **)in->extended_data, + in->nb_samples); + if (ret >= 0 && s->pts == AV_NOPTS_VALUE) s->pts = in->pts; av_frame_free(&in); + if (ret < 0) + return ret; while (av_audio_fifo_size(s->fifo) >= s->buf_size) { AVFrame *out; - int ret; ret = av_audio_fifo_peek(s->fifo, (void **)s->input->extended_data, s->buf_size); if (ret < 0) |