Read PMA.

This commit is contained in:
2019-12-14 19:15:21 +00:00
parent 4f7e8af8da
commit f5ae1641fd

View File

@@ -190,6 +190,18 @@ namespace DiscImageChef.Core.Devices.Dumping
break; break;
} }
} }
dumpLog.WriteLine("Reading PMA");
UpdateStatus?.Invoke("Reading PMA");
sense = dev.ReadPma(out cmdBuf, out senseBuf, dev.Timeout, out _);
if(!sense &&
PMA.Decode(cmdBuf).HasValue)
{
tmpBuf = new byte[cmdBuf.Length - 4];
Array.Copy(cmdBuf, 4, tmpBuf, 0, cmdBuf.Length - 4);
mediaTags.Add(MediaTagType.CD_PMA, tmpBuf);
}
} }
/// <summary>Dumps a compact disc</summary> /// <summary>Dumps a compact disc</summary>
@@ -283,18 +295,6 @@ namespace DiscImageChef.Core.Devices.Dumping
dskType = MediaType.CDV; dskType = MediaType.CDV;
} }
dumpLog.WriteLine("Reading PMA");
UpdateStatus?.Invoke("Reading PMA");
sense = dev.ReadPma(out cmdBuf, out senseBuf, dev.Timeout, out _);
if(!sense)
if(PMA.Decode(cmdBuf).HasValue)
{
tmpBuf = new byte[cmdBuf.Length - 4];
Array.Copy(cmdBuf, 4, tmpBuf, 0, cmdBuf.Length - 4);
mediaTags.Add(MediaTagType.CD_PMA, tmpBuf);
}
dumpLog.WriteLine("Reading CD-Text from Lead-In"); dumpLog.WriteLine("Reading CD-Text from Lead-In");
UpdateStatus?.Invoke("Reading CD-Text from Lead-In"); UpdateStatus?.Invoke("Reading CD-Text from Lead-In");
sense = dev.ReadCdText(out cmdBuf, out senseBuf, dev.Timeout, out _); sense = dev.ReadCdText(out cmdBuf, out senseBuf, dev.Timeout, out _);