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).
This commit is contained in:
Justin Ruggles 2012-03-20 11:53:56 -04:00
parent cd2ffb67ad
commit 64de57f645

View File

@ -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;