[FFmpeg-devel] [PATCH 1/3] avcodec/v4l2_context: return EAGAIN to signal full buffers

Mark Thompson sw at jkqxz.net
Sun Aug 16 00:34:06 EEST 2020


On 17/07/2020 03:09, Andriy Gelman wrote:
> From: Andriy Gelman <andriy.gelman at gmail.com>
> 
> Return proper error when a frame buffers are full. This path is
> triggered on the DragonBoard 410c since the encoding API change in
> commit 827d6fe73d2f5472c1c2.
> 
> Signed-off-by: Andriy Gelman <andriy.gelman at gmail.com>
> ---
>   libavcodec/v4l2_context.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/v4l2_context.c b/libavcodec/v4l2_context.c
> index 29b144ed73e..ff1ea8e57b0 100644
> --- a/libavcodec/v4l2_context.c
> +++ b/libavcodec/v4l2_context.c
> @@ -599,7 +599,7 @@ int ff_v4l2_context_enqueue_frame(V4L2Context* ctx, const AVFrame* frame)
>   
>       avbuf = v4l2_getfree_v4l2buf(ctx);
>       if (!avbuf)
> -        return AVERROR(ENOMEM);
> +        return AVERROR(EAGAIN);
>   
>       ret = ff_v4l2_buffer_avframe_to_buf(frame, avbuf);
>       if (ret)
> 

Yep, LGTM.  (And, importantly, it now matches the corresponding enqueue_packet behaviour in the function immediately below.)

Thanks,

- Mark


More information about the ffmpeg-devel mailing list