- Correctly decode address of first session, which now uses MSF format since r64106

svn path=/trunk/; revision=64112
This commit is contained in:
Hervé Poussineau
2014-09-10 19:45:57 +00:00
parent 9cf026de3a
commit 364fbd6cea
+7 -4
View File
@@ -200,7 +200,6 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
PVD_HEADER VdHeader;
ULONG Size;
ULONG Offset;
ULONG i;
CDROM_TOC Toc;
DPRINT("CdfsGetVolumeData\n");
@@ -227,10 +226,14 @@ CdfsGetVolumeData(PDEVICE_OBJECT DeviceObject,
DPRINT("FirstTrack %u, LastTrack %u, TrackNumber %u\n",
Toc.FirstTrack, Toc.LastTrack, Toc.TrackData[0].TrackNumber);
Offset = 0;
for (i = 0; i < 4; i++)
Offset = Toc.TrackData[0].Address[1] * 60 * 75;
Offset += Toc.TrackData[0].Address[2] * 75;
Offset += Toc.TrackData[0].Address[3];
if (Offset >= 150)
{
Offset = (Offset << 8) + Toc.TrackData[0].Address[i];
/* Remove MSF numbering offset of first frame */
/* FIXME: should be done only for real cdroms? */
Offset -= 150;
}
CdInfo->VolumeOffset = Offset;