Fixed last track time calculation (thanks Tchi Southivong)
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40202
This commit is contained in:
parent
f488fc9424
commit
7d2934e1ef
1 changed files with 7 additions and 6 deletions
|
@ -215,18 +215,19 @@ static int SDL_SYS_CDGetTOC(SDL_CD *cdrom)
|
|||
}
|
||||
}
|
||||
if ( i == cdrom->numtracks ) {
|
||||
flags &= ~MCI_TRACK;
|
||||
mci_status.dwTrack = cdrom->track[i - 1].id;
|
||||
mci_status.dwItem = MCI_STATUS_LENGTH;
|
||||
if ( SDL_SYS_CDioctl(cdrom->id, MCI_STATUS, flags,
|
||||
&mci_status) == 0 ) {
|
||||
cdrom->track[i].offset = MSF_TO_FRAMES(
|
||||
cdrom->track[i - 1].length = MSF_TO_FRAMES(
|
||||
MCI_MSF_MINUTE(mci_status.dwReturn),
|
||||
MCI_MSF_SECOND(mci_status.dwReturn),
|
||||
MCI_MSF_FRAME(mci_status.dwReturn));
|
||||
MCI_MSF_FRAME(mci_status.dwReturn)) + 1; /* +1 to fix */
|
||||
/* MCI last track length bug */
|
||||
/* compute lead-out offset */
|
||||
cdrom->track[i].offset = cdrom->track[i - 1].offset +
|
||||
cdrom->track[i - 1].length;
|
||||
cdrom->track[i].length = 0;
|
||||
cdrom->track[i-1].length =
|
||||
cdrom->track[i].offset-
|
||||
cdrom->track[i-1].offset;
|
||||
okay = 1;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue