aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2017-11-20 13:23:07 +0100
committerPaul B Mahol <onemda@gmail.com>2017-11-20 13:54:04 +0100
commit200f497997a123066f18eafe0c706516da2f1d4c (patch)
tree1402d00cfc8a4cafcb33b3b77dc4ca9732af7d94
parent0f75d77a162d2702606c0b079fa9fb65a2629ccb (diff)
downloadffmpeg-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.c11
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)