EAGAIN is not correct in this scenario. FFCodec.cb.decode() callback decoders always return the amount of bytes consumed from the input packet (if any), and report if a frame was generated by setting got_frame.
Signed-off-by: James Almer <jamr...@gmail.com> --- libavcodec/mjpegbdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/mjpegbdec.c b/libavcodec/mjpegbdec.c index a82a95d70a..6d422e7a29 100644 --- a/libavcodec/mjpegbdec.c +++ b/libavcodec/mjpegbdec.c @@ -144,7 +144,7 @@ read_header: av_frame_move_ref(rframe, s->picture_ptr); s->got_picture = 0; if (avctx->skip_frame == AVDISCARD_ALL) - return AVERROR(EAGAIN); + return buf_size; *got_frame = 1; if (!s->lossless && avctx->debug & FF_DEBUG_QP) { -- 2.38.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".