X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_afftfilt.c;h=7f28e1f77bcdf3437a6d544722c9b7a07ccf71a5;hb=768b07e3bca7e81d2f9c60badb3973d3d88481dc;hp=52755a1fb42d3524c41c8b5185408cff2cb73931;hpb=8882e8ad0d5c8b53cc1fce158cfdbe8284efd5bb;p=ffmpeg diff --git a/libavfilter/af_afftfilt.c b/libavfilter/af_afftfilt.c index 52755a1fb42..7f28e1f77bc 100644 --- a/libavfilter/af_afftfilt.c +++ b/libavfilter/af_afftfilt.c @@ -197,8 +197,10 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) int ch, n, ret, i, j, k; int start = s->start, end = s->end; - av_audio_fifo_write(s->fifo, (void **)frame->extended_data, frame->nb_samples); + ret = av_audio_fifo_write(s->fifo, (void **)frame->extended_data, frame->nb_samples); av_frame_free(&frame); + if (ret < 0) + return ret; while (av_audio_fifo_size(s->fifo) >= window_size) { if (!in) { @@ -316,7 +318,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame) } av_frame_free(&in); - return ret; + return ret < 0 ? ret : 0; } static int query_formats(AVFilterContext *ctx)