[FFmpeg-devel] [PATCH 2/3] avformat/av1dec: don't return EIO when the input file is truncated

James Almer jamrial at gmail.com
Sun Jun 4 05:02:13 EEST 2023


There was no problem reading the file, so EIO is not correct.

Signed-off-by: James Almer <jamrial at gmail.com>
---
 libavformat/av1dec.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
index 79ad8a9411..501b0cc93f 100644
--- a/libavformat/av1dec.c
+++ b/libavformat/av1dec.c
@@ -134,7 +134,7 @@ static int leb(AVIOContext *pb, uint32_t *len, int eof) {
         if (pb->error)
             return pb->error;
         if (pb->eof_reached)
-            return (eof && !i) ? AVERROR_EOF : AVERROR(EIO);
+            return (eof && !i) ? AVERROR_EOF : AVERROR_INVALIDDATA;
         more = byte & 0x80;
         bits = byte & 0x7f;
         if (i <= 3 || (i == 4 && bits < (1 << 4)))
@@ -231,7 +231,7 @@ static int annexb_read_packet(AVFormatContext *s, AVPacket *pkt)
 retry:
     if (avio_feof(s->pb)) {
         if (c->temporal_unit_size || c->frame_unit_size)
-            return AVERROR(EIO);
+            return AVERROR_INVALIDDATA;
         goto end;
     }
 
@@ -260,7 +260,7 @@ retry:
     if (ret < 0)
         return ret;
     if (ret != obu_unit_size)
-        return AVERROR(EIO);
+        return AVERROR_INVALIDDATA;
 
     c->temporal_unit_size -= obu_unit_size + len;
     c->frame_unit_size -= obu_unit_size + len;
-- 
2.40.1



More information about the ffmpeg-devel mailing list