mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Handle discs that have pregap ending in LBA 1 instead of ending in LBA 0.
This commit is contained in:
@@ -75,7 +75,8 @@ namespace Aaru.Core.Devices.Dumping
|
||||
bool read6, bool read10, bool read12, bool read16, bool readcd,
|
||||
MmcSubchannel supportedSubchannel, uint subSize, ref double totalDuration,
|
||||
SubchannelLog subLog, MmcSubchannel desiredSubchannel, Dictionary<byte, string> isrcs,
|
||||
ref string mcn, Track[] tracks, HashSet<int> subchannelExtents)
|
||||
ref string mcn, Track[] tracks, HashSet<int> subchannelExtents,
|
||||
Dictionary<byte, int> smallestPregapLbaPerTrack)
|
||||
{
|
||||
byte[] cmdBuf = null; // Data buffer
|
||||
const uint sectorSize = 2352; // Full sector size
|
||||
@@ -161,9 +162,16 @@ namespace Aaru.Core.Devices.Dumping
|
||||
_outputPlugin.WriteSectorsLong(data, i, _maximumReadable);
|
||||
|
||||
bool indexesChanged = Media.CompactDisc.WriteSubchannelToImage(supportedSubchannel,
|
||||
desiredSubchannel, sub, i, _maximumReadable, subLog, isrcs, 0xAA, ref mcn, tracks,
|
||||
subchannelExtents, _fixSubchannelPosition, _outputPlugin, _fixSubchannel,
|
||||
_fixSubchannelCrc, _dumpLog, UpdateStatus);
|
||||
desiredSubchannel, sub, i,
|
||||
_maximumReadable, subLog,
|
||||
isrcs, 0xAA, ref mcn, tracks,
|
||||
subchannelExtents,
|
||||
_fixSubchannelPosition,
|
||||
_outputPlugin,
|
||||
_fixSubchannel,
|
||||
_fixSubchannelCrc, _dumpLog,
|
||||
UpdateStatus,
|
||||
smallestPregapLbaPerTrack);
|
||||
|
||||
// Set tracks and go back
|
||||
if(indexesChanged)
|
||||
@@ -244,7 +252,8 @@ namespace Aaru.Core.Devices.Dumping
|
||||
bool read6, bool read10, bool read12, bool read16, bool readcd,
|
||||
MmcSubchannel supportedSubchannel, uint subSize, ref double totalDuration,
|
||||
SubchannelLog subLog, MmcSubchannel desiredSubchannel, Dictionary<byte, string> isrcs,
|
||||
ref string mcn, Track[] tracks, HashSet<int> subchannelExtents)
|
||||
ref string mcn, Track[] tracks, HashSet<int> subchannelExtents,
|
||||
Dictionary<byte, int> smallestPregapLbaPerTrack)
|
||||
{
|
||||
byte[] cmdBuf = null; // Data buffer
|
||||
const uint sectorSize = 2352; // Full sector size
|
||||
@@ -330,9 +339,16 @@ namespace Aaru.Core.Devices.Dumping
|
||||
_outputPlugin.WriteSectorsLong(data, i, _maximumReadable);
|
||||
|
||||
bool indexesChanged = Media.CompactDisc.WriteSubchannelToImage(supportedSubchannel,
|
||||
desiredSubchannel, sub, i, _maximumReadable, subLog, isrcs, 0xAA, ref mcn, tracks,
|
||||
subchannelExtents, _fixSubchannelPosition, _outputPlugin, _fixSubchannel,
|
||||
_fixSubchannelCrc, _dumpLog, UpdateStatus);
|
||||
desiredSubchannel, sub, i,
|
||||
_maximumReadable, subLog,
|
||||
isrcs, 0xAA, ref mcn, tracks,
|
||||
subchannelExtents,
|
||||
_fixSubchannelPosition,
|
||||
_outputPlugin,
|
||||
_fixSubchannel,
|
||||
_fixSubchannelCrc, _dumpLog,
|
||||
UpdateStatus,
|
||||
smallestPregapLbaPerTrack);
|
||||
|
||||
// Set tracks and go back
|
||||
if(indexesChanged)
|
||||
|
||||
Reference in New Issue
Block a user