mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
If a subchannel is supported, check if output plugin allows us to write it.
This commit is contained in:
@@ -1171,50 +1171,6 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Dumps a compact disc</summary>
|
||||
/// <param name="dskType">Disc type as detected in MMC layer</param>
|
||||
internal void CompactDiscOld(ref MediaType dskType)
|
||||
{
|
||||
bool ret;
|
||||
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;
|
||||
DateTime timeSpeedStart = DateTime.UtcNow;
|
||||
ulong sectorSpeedStart = 0;
|
||||
|
||||
var mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead);
|
||||
var ibgLog = new IbgLog(outputPrefix + ".ibg", 0x0008);
|
||||
|
||||
// If a subchannel is supported, check if output plugin allows us to write it.
|
||||
if(supportedSubchannel != MmcSubchannel.None)
|
||||
@@ -1272,6 +1228,50 @@ namespace DiscImageChef.Core.Devices.Dumping
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Dumps a compact disc</summary>
|
||||
/// <param name="dskType">Disc type as detected in MMC layer</param>
|
||||
internal void CompactDiscOld(ref MediaType dskType)
|
||||
{
|
||||
bool ret;
|
||||
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;
|
||||
DateTime timeSpeedStart = DateTime.UtcNow;
|
||||
ulong sectorSpeedStart = 0;
|
||||
|
||||
var mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead);
|
||||
var ibgLog = new IbgLog(outputPrefix + ".ibg", 0x0008);
|
||||
|
||||
// Set track flags
|
||||
foreach(KeyValuePair<byte, byte> kvp in trackFlags)
|
||||
|
||||
Reference in New Issue
Block a user