summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2012-03-20 11:53:56 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2012-03-20 14:12:53 -0400
commit64de57f64515001225ec8d8d6b3a7d567fc9cdcd (patch)
tree991f1129c99d4e1089ef3824a8d83549a9ceea9b
parentcd2ffb67ad9e9fec1766c501ad33e85dc934eeed (diff)
downloadffmpeg-64de57f64515001225ec8d8d6b3a7d567fc9cdcd.tar.gz
xa: fix end-of-file handling
Do not output an extra packet when out_size is reached. Also return AVERROR_EOF instead of AVERROR(EIO).
-rw-r--r--libavformat/xa.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/xa.c b/libavformat/xa.c
index 82b703f8c5..aacdd2b62d 100644
--- a/libavformat/xa.c
+++ b/libavformat/xa.c
@@ -100,8 +100,8 @@ static int xa_read_packet(AVFormatContext *s,
unsigned int packet_size;
int ret;
- if(xa->sent_bytes > xa->out_size)
- return AVERROR(EIO);
+ if (xa->sent_bytes >= xa->out_size)
+ return AVERROR_EOF;
/* 1 byte header and 14 bytes worth of samples * number channels per block */
packet_size = 15*st->codec->channels;