summaryrefslogtreecommitdiffstats
path: root/libmpdemux/cdda.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-22 17:22:48 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-22 17:22:48 +0000
commit93bc457163b62ec90ba9fad419a9dbd85f2a3082 (patch)
treefa965746d9001c02a6c0a2ca98dc86d64943c091 /libmpdemux/cdda.c
parente4d8182636cfc8c0f7ffaed3739634b9fc66f535 (diff)
downloadmpv-93bc457163b62ec90ba9fad419a9dbd85f2a3082.tar.bz2
mpv-93bc457163b62ec90ba9fad419a9dbd85f2a3082.tar.xz
CDDA seeking fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8525 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/cdda.c')
-rw-r--r--libmpdemux/cdda.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/libmpdemux/cdda.c b/libmpdemux/cdda.c
index b6dd1742ec..4d87145c8c 100644
--- a/libmpdemux/cdda.c
+++ b/libmpdemux/cdda.c
@@ -204,14 +204,15 @@ void seek_cdda(stream_t* s) {
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 @@ void seek_cdda(stream_t* s) {
}
}
-
+#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);
}