Signed-off-by: James Almer <jamr...@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;
-- 
2.19.1

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to