Check if something prevents from dumping the first track pregap.

This commit is contained in:
2019-12-14 21:16:42 +00:00
parent 9533070e9d
commit 1df59b0033

View File

@@ -932,48 +932,12 @@ namespace DiscImageChef.Core.Devices.Dumping
supportsLongSectors = false;
}
}
/// <summary>Dumps a compact disc</summary>
/// <param name="dskType">Disc type as detected in MMC layer</param>
internal void CompactDiscOld(ref MediaType dskType)
{
ulong blocks = 0;
Track[] tracks = new Track[0];
List<Track> trackList = new List<Track>();
long lastSector = 0;
Dictionary<byte, byte> trackFlags = new Dictionary<byte, byte>();
TrackType firstTrackType = TrackType.Audio;
Dictionary<int, long> leadOutStarts = new Dictionary<int, long>();
uint subSize = 0;
const uint SECTOR_SIZE = 2352;
uint blockSize = SECTOR_SIZE + subSize;
DateTime start;
DateTime end;
bool readcd = false;
bool read6 = false, read10 = false, read12 = false, read16 = false;
bool sense = false;
FullTOC.CDFullTOC? toc = null;
double totalDuration = 0;
double currentSpeed = 0;
double maxSpeed = double.MinValue;
double minSpeed = double.MaxValue;
uint blocksToRead = 64;
Dictionary<MediaTagType, byte[]> mediaTags = new Dictionary<MediaTagType, byte[]>();
byte[] cmdBuf = null;
byte[] senseBuf = null;
byte[] tmpBuf;
MmcSubchannel supportedSubchannel = MmcSubchannel.Raw;
TrackSubchannelType subType = TrackSubchannelType.None; // Track subchannel type
bool supportsLongSectors = true;
int sessions = 1;
int firstTrackLastSession = 0;
// Check if something prevents from dumping the first track pregap
if(dumpFirstTrackPregap && readcd)
{
if(dev.PlatformId == PlatformID.FreeBSD)
if(dev.PlatformId == PlatformID.FreeBSD &&
!dev.IsRemote)
{
if(force)
{
@@ -1017,6 +981,43 @@ namespace DiscImageChef.Core.Devices.Dumping
dumpFirstTrackPregap = false;
}
}
}
/// <summary>Dumps a compact disc</summary>
/// <param name="dskType">Disc type as detected in MMC layer</param>
internal void CompactDiscOld(ref MediaType dskType)
{
ulong blocks = 0;
Track[] tracks = new Track[0];
List<Track> trackList = new List<Track>();
long lastSector = 0;
Dictionary<byte, byte> trackFlags = new Dictionary<byte, byte>();
TrackType firstTrackType = TrackType.Audio;
Dictionary<int, long> leadOutStarts = new Dictionary<int, long>();
uint subSize = 0;
const uint SECTOR_SIZE = 2352;
uint blockSize = SECTOR_SIZE + subSize;
DateTime start;
DateTime end;
bool readcd = false;
bool read6 = false, read10 = false, read12 = false, read16 = false;
bool sense = false;
FullTOC.CDFullTOC? toc = null;
double totalDuration = 0;
double currentSpeed = 0;
double maxSpeed = double.MinValue;
double minSpeed = double.MaxValue;
uint blocksToRead = 64;
Dictionary<MediaTagType, byte[]> mediaTags = new Dictionary<MediaTagType, byte[]>();
byte[] cmdBuf = null;
byte[] senseBuf = null;
byte[] tmpBuf;
MmcSubchannel supportedSubchannel = MmcSubchannel.Raw;
TrackSubchannelType subType = TrackSubchannelType.None; // Track subchannel type
bool supportsLongSectors = true;
int sessions = 1;
int firstTrackLastSession = 0;
DumpHardwareType currentTry = null;
ExtentsULong extents = null;