[FFmpeg-devel] [PATCH] avcodec/mjpegbdec: return the amount of bytes consumed when discarding frames

James Almer jamrial at gmail.com
Tue Dec 27 15:43:21 EET 2022


On 12/26/2022 8:33 AM, James Almer wrote:
> 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 <jamrial at 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) {

Applied.


More information about the ffmpeg-devel mailing list