[FFmpeg-devel] [PATCH 2/3] avcodec/utils: EAGAIN from the old decode API consumes a packet

wm4 nfxjfg at googlemail.com
Tue Apr 19 11:49:12 CEST 2016


This affects the wrapper for the old decode API. The new decode API uses
EAGAIN to signal that a packet must be sent again, while the old API
considers the packet fully consumed (and it's also not an error).

This affects e.g.: tickets/574/Issue200Regression.latm
---
Can be squashed with previous commit if desired.
---
 libavcodec/utils.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index b9162b2..0ccede1 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2724,6 +2724,9 @@ static int do_decode(AVCodecContext *avctx, AVPacket *pkt)
         ret = AVERROR(EINVAL);
     }
 
+    if (ret == AVERROR(EAGAIN))
+        ret = pkt->size;
+
     if (ret < 0)
         return ret;
 
-- 
2.8.0.rc3



More information about the ffmpeg-devel mailing list