[libav-devel] [PATCH] libdav1d: fix build after a recent API break

Luca Barbato lu_zero at gentoo.org
Thu Nov 15 13:48:58 CET 2018


On 15/11/2018 02:04, James Almer wrote:
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>   libavcodec/libdav1d.c | 12 +++++++++---
>   1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c
> index ad4611fb9..3501c15e2 100644
> --- a/libavcodec/libdav1d.c
> +++ b/libavcodec/libdav1d.c
> @@ -142,12 +142,18 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame)
>               }
>   
>               av_fifo_generic_write(dav1d->cache, &pkt, sizeof(pkt), libdav1d_fifo_write);
> -        } else {
> -            data = NULL;
>           }
>       }
>   
> -    res = dav1d_decode(dav1d->c, data, &p);
> +    res = dav1d_send_data(dav1d->c, data);
> +    if (res < 0) {
> +        if (res == -EINVAL)
> +            res = AVERROR_INVALIDDATA;
> +        if (res != -EAGAIN)
> +            return res;
> +    }
> +
> +    res = dav1d_get_picture(dav1d->c, &p);
>       if (res < 0) {
>           if (res == -EINVAL)
>               res = AVERROR_INVALIDDATA;
> 

dav1d always negate by itself the return values so we are set?

if yes, push anytime.

lu


More information about the libav-devel mailing list