diff options
author | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-22 21:14:51 +0000 |
---|---|---|
committer | alex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-22 21:14:51 +0000 |
commit | 8530b62a9be3dfbf82ac124536634f0918b6e775 (patch) | |
tree | 122187c6226057a6052010b1cc40295d87c1b9ba | |
parent | e7b942ecb11794e9927cb583687fdc7d58447712 (diff) | |
download | mpv-8530b62a9be3dfbf82ac124536634f0918b6e775.tar.bz2 mpv-8530b62a9be3dfbf82ac124536634f0918b6e775.tar.xz |
fixed trivial seeking bugs, patch by Krister Lagerstrom <krister@kmlager.com>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9657 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpdemux/cdda.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libmpdemux/cdda.c b/libmpdemux/cdda.c index 25f0cf24d6..6989ea5451 100644 --- a/libmpdemux/cdda.c +++ b/libmpdemux/cdda.c @@ -182,8 +182,10 @@ int read_cdda(stream_t* s) { s->pos = p->sector*CD_FRAMESIZE_RAW; memcpy(s->buffer,buf,CD_FRAMESIZE_RAW); - if(p->sector == p->end_sector) + if((p->sector < p->start_sector) || (p->sector >= p->end_sector)) { s->eof = 1; + return 0; + } for(i=0;i<p->cd->tracks;i++){ if(p->cd->disc_toc[i].dwStartSector==p->sector-1) { @@ -206,6 +208,11 @@ void seek_cdda(stream_t* s) { int sec; int current_track=0, seeked_track=0; int i; + + if(s->pos < 0) { + s->eof = 1; + return; + } sec = s->pos/CD_FRAMESIZE_RAW; //printf("pos: %d, sec: %d ## %d\n", (int)s->pos, (int)sec, CD_FRAMESIZE_RAW); |