# HG changeset patch # User alex # Date 1048367691 0 # Node ID ef5ae9f9c6e6e991465a753d02796f443ac3792d # Parent 8809e2be5cea0b15c8d14b5d01e9ac096297e950 fixed trivial seeking bugs, patch by Krister Lagerstrom diff -r 8809e2be5cea -r ef5ae9f9c6e6 libmpdemux/cdda.c --- a/libmpdemux/cdda.c Sat Mar 22 20:15:03 2003 +0000 +++ b/libmpdemux/cdda.c Sat Mar 22 21:14:51 2003 +0000 @@ -182,8 +182,10 @@ 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;icd->tracks;i++){ if(p->cd->disc_toc[i].dwStartSector==p->sector-1) { @@ -206,6 +208,11 @@ 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);