From 64007595dcb5bb3c5f7bfa74d0b0f2e378f6007e Mon Sep 17 00:00:00 2001 From: James Almer Date: Mon, 26 Dec 2022 08:30:41 -0300 Subject: [PATCH] avcodec/mjpegbdec: return the amount of bytes consumed when discarding frames 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 --- 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) {