Fix reading MODE 2 sectors in all CD images, when they interleave subchannel data. Fixes #229.

This commit is contained in:
2020-01-12 01:00:26 +00:00
parent 736323098e
commit 398d89e55f
6 changed files with 386 additions and 233 deletions

View File

@@ -1348,12 +1348,12 @@ namespace DiscImageChef.DiscImages
{
var mode2Ms = new MemoryStream((int)(sectorSize * length));
buffer = br.ReadBytes((int)(sectorSize * length));
buffer = br.ReadBytes((int)((sectorSize + sectorSkip) * length));
for(int i = 0; i < length; i++)
{
byte[] sector = new byte[sectorSize];
Array.Copy(buffer, sectorSize * i, sector, 0, sectorSize);
Array.Copy(buffer, (sectorSize + sectorSkip) * i, sector, 0, sectorSize);
sector = Sector.GetUserDataFromMode2(sector);
mode2Ms.Write(sector, 0, sector.Length);
}