From 76dd87c9296917bf6394b2a41820f92aeaeae447 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Fri, 31 Mar 2017 06:54:01 +0200 Subject: [PATCH] lavf/amr: Return AVERROR_EOF on EOF. Fixes ticket #6280. --- libavformat/amr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/amr.c b/libavformat/amr.c index 59963e14b8..b5194a2d9e 100644 --- a/libavformat/amr.c +++ b/libavformat/amr.c @@ -118,7 +118,7 @@ static int amr_read_packet(AVFormatContext *s, AVPacket *pkt) AMRContext *amr = s->priv_data; if (avio_feof(s->pb)) { - return AVERROR(EIO); + return AVERROR_EOF; } // FIXME this is wrong, this should rather be in an AVParser @@ -156,6 +156,8 @@ static int amr_read_packet(AVFormatContext *s, AVPacket *pkt) if (read != size - 1) { av_packet_unref(pkt); + if (read < 0) + return read; return AVERROR(EIO); }