Mercurial > mplayer.hg
diff stream/stream_cdda.c @ 34374:09f2662d11cb
cdda: set position to an actual EOF position when we set EOF.
This avoids some inconsistency like the stream indicating EOF but
a read still returning more data.
author | reimar |
---|---|
date | Fri, 23 Dec 2011 21:52:04 +0000 |
parents | 622b7e95695a |
children | 010725c3b6c8 |
line wrap: on
line diff
--- a/stream/stream_cdda.c Fri Dec 23 21:50:32 2011 +0000 +++ b/stream/stream_cdda.c Fri Dec 23 21:52:04 2011 +0000 @@ -182,6 +182,7 @@ sec = s->pos/CD_FRAMESIZE_RAW; if (s->pos < 0 || sec > p->end_sector) { s->eof = 1; + p->sector = p->end_sector + 1; return 0; } @@ -258,7 +259,7 @@ int seek_sector; track += start_track; if (track > end_track) { - stream->eof = 1; + seek(stream, (p->end_sector + 1) * CD_FRAMESIZE_RAW); return STREAM_ERROR; } seek_sector = track <= 0 ? p->start_sector