mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
[CompactDisc dumping] Correct offset fixing when trimming or re-reading errored audio sectors. Fixes #792
This commit is contained in:
@@ -243,10 +243,15 @@ partial class Dump
|
|||||||
audioExtents.Contains(badSector) &&
|
audioExtents.Contains(badSector) &&
|
||||||
offsetBytes != 0)
|
offsetBytes != 0)
|
||||||
{
|
{
|
||||||
if(offsetBytes > 0)
|
if(offsetBytes < 0)
|
||||||
|
{
|
||||||
|
if(badSectorToReRead == 0)
|
||||||
|
badSectorToReRead = uint.MaxValue - (uint)(sectorsForOffset - 1); // -1
|
||||||
|
else
|
||||||
badSectorToReRead -= (uint)sectorsForOffset;
|
badSectorToReRead -= (uint)sectorsForOffset;
|
||||||
|
}
|
||||||
|
|
||||||
sectorsToReRead = (byte)(sectorsForOffset + 1);
|
sectorsToReRead += (byte)sectorsForOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_supportsPlextorD8 && audioExtents.Contains(badSector))
|
if(_supportsPlextorD8 && audioExtents.Contains(badSector))
|
||||||
|
|||||||
@@ -137,10 +137,15 @@ partial class Dump
|
|||||||
audioExtents.Contains(badSector) &&
|
audioExtents.Contains(badSector) &&
|
||||||
offsetBytes != 0)
|
offsetBytes != 0)
|
||||||
{
|
{
|
||||||
if(offsetBytes > 0)
|
if(offsetBytes < 0)
|
||||||
|
{
|
||||||
|
if(badSectorToRead == 0)
|
||||||
|
badSectorToRead = uint.MaxValue - (uint)(sectorsForOffset - 1); // -1
|
||||||
|
else
|
||||||
badSectorToRead -= (uint)sectorsForOffset;
|
badSectorToRead -= (uint)sectorsForOffset;
|
||||||
|
}
|
||||||
|
|
||||||
sectorsToTrim = (byte)(sectorsForOffset + 1);
|
sectorsToTrim += (byte)sectorsForOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_supportsPlextorD8 && audioExtents.Contains(badSector))
|
if(_supportsPlextorD8 && audioExtents.Contains(badSector))
|
||||||
|
|||||||
Reference in New Issue
Block a user