Fix track properties from CDRDAO disc images.

This commit is contained in:
2021-08-03 04:20:06 +01:00
parent 85679e09a4
commit a6cbfbebd6
7 changed files with 55 additions and 34 deletions

View File

@@ -123,6 +123,27 @@ namespace Aaru.DiscImages
else
aaruTrack.TrackSubchannelType = TrackSubchannelType.None;
if(aaruTrack.TrackSequence == 1)
{
aaruTrack.TrackPregap = 150;
if(cdrTrack.Indexes.Count == 0)
{
aaruTrack.Indexes[0] = -150;
aaruTrack.Indexes[1] = 0;
}
else if(!cdrTrack.Indexes.ContainsKey(0))
{
aaruTrack.Indexes[0] = -150;
foreach(KeyValuePair<int, ulong> idx in cdrTrack.Indexes.OrderBy(i => i.Key))
aaruTrack.Indexes[(ushort)idx.Key] = (int)idx.Value;
}
}
else
foreach(KeyValuePair<int, ulong> idx in cdrTrack.Indexes.OrderBy(i => i.Key))
aaruTrack.Indexes[(ushort)idx.Key] = (int)idx.Value;
tracks.Add(aaruTrack);
}

View File

@@ -58,7 +58,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 16539,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -182,7 +182,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -220,7 +220,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -258,7 +258,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -421,7 +421,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 310561,
End = 329007,
Pregap = 0,
Pregap = 150,
Flags = 0
}
}

View File

@@ -59,7 +59,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 16548,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -184,7 +184,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -223,7 +223,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -262,7 +262,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -426,7 +426,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 310561,
End = 329007,
Pregap = 0,
Pregap = 150,
Flags = 0
}
}

View File

@@ -59,7 +59,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 16548,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -184,7 +184,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -223,7 +223,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -262,7 +262,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -426,7 +426,7 @@ namespace Aaru.Tests.Images.cdrdao.cooked
Session = 1,
Start = 310561,
End = 329007,
Pregap = 0,
Pregap = 150,
Flags = 0
}
}

View File

@@ -58,7 +58,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 16539,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -182,7 +182,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -220,7 +220,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -258,7 +258,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -421,7 +421,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 310561,
End = 329007,
Pregap = 0,
Pregap = 150,
Flags = 0
}
}

View File

@@ -59,7 +59,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 16548,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -184,7 +184,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -223,7 +223,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -262,7 +262,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -426,7 +426,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 310561,
End = 329007,
Pregap = 0,
Pregap = 150,
Flags = 0
}
}

View File

@@ -58,7 +58,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 469651,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -90,7 +90,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 16548,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -215,7 +215,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -254,7 +254,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 254264,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -293,7 +293,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 308223,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -325,7 +325,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 14404,
Pregap = 0,
Pregap = 150,
Flags = 0
},
new TrackInfoTestExpected
@@ -485,7 +485,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 310561,
End = 329007,
Pregap = 0,
Pregap = 150,
Flags = 0
}
}
@@ -505,7 +505,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 8132,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]
@@ -544,7 +544,7 @@ namespace Aaru.Tests.Images.cdrdao.raw
Session = 1,
Start = 0,
End = 1251,
Pregap = 0,
Pregap = 150,
Flags = 4,
Number = 1,
FileSystems = new[]