Do not write index 0 for first session tracks in CDRWin disc images. Fixes #656

This commit is contained in:
2021-09-06 05:02:40 +01:00
parent 6429c784e6
commit 33e39ff721

View File

@@ -556,10 +556,13 @@ namespace Aaru.DiscImages
if(track.TrackPregap > 0 && _isCd) if(track.TrackPregap > 0 && _isCd)
{ {
_descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 0, msf.minute, msf.second, if(track.TrackSequence > _writingTracks.Where(t => t.TrackSession == track.TrackSession).
msf.frame); Min(t => t.TrackSequence))
_descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 0, msf.minute, msf.second,
msf.frame);
msf = LbaToMsf(track.TrackStartSector + track.TrackPregap); if(track.TrackSequence > 1)
msf = LbaToMsf(track.TrackStartSector + track.TrackPregap);
_descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 1, msf.minute, msf.second, _descriptorStream.WriteLine(" INDEX {0:D2} {1:D2}:{2:D2}:{3:D2}", 1, msf.minute, msf.second,
msf.frame); msf.frame);