Do not output an extra packet when out_size is reached.
Also return AVERROR_EOF instead of AVERROR(EIO).
---
libavformat/xa.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavformat/xa.c b/libavformat/xa.c
index 82b703f..aacdd2b 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;
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel