On 11/14/2018 12:03 PM, Carl Eugen Hoyos wrote: > 2018-11-14 14:06 GMT+01:00, James Almer <[email protected]>: >> ffmpeg | branch: master | James Almer <[email protected]> | Wed Nov 14 >> 10:05:25 2018 -0300| [752659327d4ac73640781376d214a26765f971f4] | committer: >> James Almer >> >> avcodec/libdav1d: fix build after a recent API break >> >> Signed-off-by: James Almer <[email protected]> >> >>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=752659327d4ac73640781376d214a26765f971f4 >> --- >> >> libavcodec/libdav1d.c | 12 +++++++++--- >> 1 file changed, 9 insertions(+), 3 deletions(-) >> >> diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c >> index 873adfda40..b19aee4e9e 100644 >> --- a/libavcodec/libdav1d.c >> +++ b/libavcodec/libdav1d.c >> @@ -140,12 +140,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) > > How does this line make sense?
We're meant to keep going and fetch decoded frames even if the library refuses new data. Eventually it will consume it once its internal data buffer is depleted. We're only mean to abort on other errno values, like -EINVAL (Which for ffmpeg is AVERROR_INVALIDDATA). > >> + return res; > > Carl Eugen > _______________________________________________ > ffmpeg-devel mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
