ffmpeg | branch: master | Anton Khirnov <an...@khirnov.net> | Tue Sep 12 11:58:12 2023 +0200| [2ef50c17ab5aff95fc5372b6041c6fc835cac62b] | committer: Anton Khirnov
fftools/ffmpeg_filter: fail on filtering errors These should be considered serious errors - don't just print a log message and continue as if nothing happened. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2ef50c17ab5aff95fc5372b6041c6fc835cac62b --- fftools/ffmpeg_filter.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 7d0a720fe1..c738fc3397 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -2157,17 +2157,17 @@ static int fg_output_step(OutputFilterPriv *ofp, int flush) ret = av_buffersink_get_frame_flags(filter, frame, AV_BUFFERSINK_FLAG_NO_REQUEST); - if (ret < 0) { - if (ret != AVERROR(EAGAIN) && ret != AVERROR_EOF) { - av_log(fgp, AV_LOG_WARNING, - "Error in av_buffersink_get_frame_flags(): %s\n", av_err2str(ret)); - } else if (flush && ret == AVERROR_EOF && ofp->got_frame && - av_buffersink_get_type(filter) == AVMEDIA_TYPE_VIDEO) { - ret = fg_output_frame(ofp, NULL); - return (ret < 0) ? ret : 1; - } - + if (flush && ret == AVERROR_EOF && ofp->got_frame && + ost->type == AVMEDIA_TYPE_VIDEO) { + ret = fg_output_frame(ofp, NULL); + return (ret < 0) ? ret : 1; + } else if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) { return 1; + } else if (ret < 0) { + av_log(fgp, AV_LOG_WARNING, + "Error in retrieving a frame from the filtergraph: %s\n", + av_err2str(ret)); + return ret; } if (ost->finished) { av_frame_unref(frame); _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".