1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-10 06:10:52 +02:00

avformat/av1dec: don't return EIO when the input file is truncated

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

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2023-06-03 10:20:59 -03:00
parent da61ed80fd
commit a5e45988ac

View File

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