mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Fix infinite loop when Lead-Out cannot be crossed.
This commit is contained in:
@@ -394,9 +394,17 @@ namespace Aaru.Core.Devices.Dumping
|
||||
_outputPlugin.WriteSectorsLong(data, i + r, 1);
|
||||
|
||||
bool indexesChanged = Media.CompactDisc.WriteSubchannelToImage(supportedSubchannel,
|
||||
desiredSubchannel, sub, i + r, 1, subLog, isrcs, (byte)track.TrackSequence,
|
||||
ref mcn, tracks, subchannelExtents, _fixSubchannelPosition, _outputPlugin,
|
||||
_fixSubchannel, _fixSubchannelCrc, _dumpLog, UpdateStatus);
|
||||
desiredSubchannel, sub,
|
||||
i + r, 1, subLog, isrcs,
|
||||
(byte)track.
|
||||
TrackSequence,
|
||||
ref mcn, tracks,
|
||||
subchannelExtents,
|
||||
_fixSubchannelPosition,
|
||||
_outputPlugin,
|
||||
_fixSubchannel,
|
||||
_fixSubchannelCrc,
|
||||
_dumpLog, UpdateStatus);
|
||||
|
||||
// Set tracks and go back
|
||||
if(indexesChanged)
|
||||
@@ -527,9 +535,15 @@ namespace Aaru.Core.Devices.Dumping
|
||||
_outputPlugin.WriteSectorsLong(data, i, blocksToRead);
|
||||
|
||||
bool indexesChanged = Media.CompactDisc.WriteSubchannelToImage(supportedSubchannel,
|
||||
desiredSubchannel, sub, i, blocksToRead, subLog, isrcs, (byte)track.TrackSequence,
|
||||
ref mcn, tracks, subchannelExtents, _fixSubchannelPosition, _outputPlugin,
|
||||
_fixSubchannel, _fixSubchannelCrc, _dumpLog, UpdateStatus);
|
||||
desiredSubchannel, sub, i,
|
||||
blocksToRead, subLog, isrcs,
|
||||
(byte)track.TrackSequence,
|
||||
ref mcn, tracks,
|
||||
subchannelExtents,
|
||||
_fixSubchannelPosition,
|
||||
_outputPlugin, _fixSubchannel,
|
||||
_fixSubchannelCrc, _dumpLog,
|
||||
UpdateStatus);
|
||||
|
||||
// Set tracks and go back
|
||||
if(indexesChanged)
|
||||
@@ -570,6 +584,9 @@ namespace Aaru.Core.Devices.Dumping
|
||||
{
|
||||
if(crossingLeadOut && Sense.DecodeFixed(senseBuf)?.ASC == 0x21)
|
||||
{
|
||||
if(failedCrossingLeadOut)
|
||||
break;
|
||||
|
||||
failedCrossingLeadOut = true;
|
||||
blocksToRead = 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user