Mercurial > mplayer.hg
diff libmpdemux/cdda.c @ 8524:fe542f0201ea
CDDA seeking fixed
author | arpi |
---|---|
date | Sun, 22 Dec 2002 17:22:48 +0000 |
parents | 3dc0b71630ff |
children | c40e862a7dc2 |
line wrap: on
line diff
--- a/libmpdemux/cdda.c Sun Dec 22 16:31:05 2002 +0000 +++ b/libmpdemux/cdda.c Sun Dec 22 17:22:48 2002 +0000 @@ -204,14 +204,15 @@ int i; sec = s->pos/CD_FRAMESIZE_RAW; -//printf("pos: %d, sec: %d ## %d\n", s->pos, sec, s->pos/CD_FRAMESIZE_RAW); -//printf("sector: %d\n", p->sector ); +//printf("pos: %d, sec: %d ## %d\n", (int)s->pos, (int)sec, CD_FRAMESIZE_RAW); +//printf("sector: %d new: %d\n", p->sector, sec ); for(i=0;i<p->cd->tracks;i++){ - if( p->sector>p->cd->disc_toc[i].dwStartSector && p->sector<p->cd->disc_toc[i+1].dwStartSector ) { + printf("trk #%d: %d .. %d\n",i,p->cd->disc_toc[i].dwStartSector,p->cd->disc_toc[i+1].dwStartSector); + if( p->sector>=p->cd->disc_toc[i].dwStartSector && p->sector<p->cd->disc_toc[i+1].dwStartSector ) { current_track = i; } - if( sec>p->cd->disc_toc[i].dwStartSector && sec<p->cd->disc_toc[i+1].dwStartSector ) { + if( sec>=p->cd->disc_toc[i].dwStartSector && sec<p->cd->disc_toc[i+1].dwStartSector ) { seeked_track = i; } } @@ -224,16 +225,17 @@ } } - +#if 0 if(sec < p->start_sector) sec = p->start_sector; else if(sec > p->end_sector) sec = p->end_sector; +#endif p->sector = sec; // s->pos = sec*CD_FRAMESIZE_RAW; -//printf("seek: %d, sec: %d\n", s->pos, sec); +//printf("seek: %d, sec: %d\n", (int)s->pos, sec); paranoia_seek(p->cdp,sec,SEEK_SET); }