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.
This commit is contained in:
		
							parent
							
								
									9196be2fb1
								
							
						
					
					
						commit
						2ef50c17ab
					
				@ -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);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user