mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Fix pregap calculation on first tracks of each session when dumping CDs. Fixes #634
This commit is contained in:
@@ -418,6 +418,23 @@ namespace Aaru.Core.Media
|
||||
tracks[i].TrackStartSector -= (ulong)dif;
|
||||
smallestPregapLbaPerTrack[trackNo] = qPos;
|
||||
|
||||
uint firstTrackNumberInSameSession = tracks.
|
||||
Where(t => t.TrackSession ==
|
||||
tracks[i].TrackSession).
|
||||
Min(t => t.TrackSequence);
|
||||
|
||||
if(tracks[i].TrackSequence == firstTrackNumberInSameSession)
|
||||
{
|
||||
if(tracks[i].TrackPregap != 151)
|
||||
status = true;
|
||||
|
||||
dif = (int)(tracks[i].TrackPregap - 150);
|
||||
tracks[i].TrackPregap -= (ulong)dif;
|
||||
tracks[i].TrackStartSector += (ulong)dif;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if(i > 0 &&
|
||||
tracks[i - 1].TrackEndSector >= tracks[i].TrackStartSector)
|
||||
tracks[i - 1].TrackEndSector = tracks[i].TrackStartSector - 1;
|
||||
|
||||
Reference in New Issue
Block a user