Use write long sectors on dumping compact disc, all images created otherwise are incorrect.

This commit is contained in:
2018-02-01 07:53:25 +00:00
parent 9170be0d54
commit c6cef3f567

View File

@@ -714,10 +714,10 @@ namespace DiscImageChef.Core.Devices.Dumping
subSize); subSize);
} }
outputPlugin.WriteSectors(data, i, blocksToRead); outputPlugin.WriteSectorsLong(data, i, blocksToRead);
outputPlugin.WriteSectorsTag(sub, i, blocksToRead, SectorTagType.CdSectorSubchannel); outputPlugin.WriteSectorsTag(sub, i, blocksToRead, SectorTagType.CdSectorSubchannel);
} }
else outputPlugin.WriteSectors(readBuffer, i, blocksToRead); else outputPlugin.WriteSectorsLong(readBuffer, i, blocksToRead);
} }
else else
{ {
@@ -727,11 +727,11 @@ namespace DiscImageChef.Core.Devices.Dumping
// Write empty data // Write empty data
if(supportedSubchannel != MmcSubchannel.None) if(supportedSubchannel != MmcSubchannel.None)
{ {
outputPlugin.WriteSectors(new byte[SECTOR_SIZE * blocksToRead], i, blocksToRead); outputPlugin.WriteSectorsLong(new byte[SECTOR_SIZE * blocksToRead], i, blocksToRead);
outputPlugin.WriteSectorsTag(new byte[subSize * blocksToRead], i, blocksToRead, outputPlugin.WriteSectorsTag(new byte[subSize * blocksToRead], i, blocksToRead,
SectorTagType.CdSectorSubchannel); SectorTagType.CdSectorSubchannel);
} }
else outputPlugin.WriteSectors(new byte[blockSize * blocksToRead], i, blocksToRead); else outputPlugin.WriteSectorsLong(new byte[blockSize * blocksToRead], i, blocksToRead);
for(ulong b = i; b < i + blocksToRead; b++) resume.BadBlocks.Add(b); for(ulong b = i; b < i + blocksToRead; b++) resume.BadBlocks.Add(b);