CD-ROM: Do not perform CRC and ECC checking on a DVD drive, fixes #6094.
This commit is contained in:
@@ -344,7 +344,7 @@ cdrom_is_sector_good(cdrom_t *dev, const uint8_t *b, const uint8_t mode2, const
|
|||||||
{
|
{
|
||||||
int ret = 1;
|
int ret = 1;
|
||||||
|
|
||||||
if (!mode2 || (form == 1)) {
|
if ((dev->cd_status != CD_STATUS_DVD) && (!mode2 || (form == 1))) {
|
||||||
if (mode2 && (form == 1)) {
|
if (mode2 && (form == 1)) {
|
||||||
const uint32_t crc = cdrom_crc32(0xffffffff, &(b[16]), 2056) ^ 0xffffffff;
|
const uint32_t crc = cdrom_crc32(0xffffffff, &(b[16]), 2056) ^ 0xffffffff;
|
||||||
|
|
||||||
@@ -2976,9 +2976,12 @@ cdrom_update_status(cdrom_t *dev)
|
|||||||
dev->seek_pos = 0;
|
dev->seek_pos = 0;
|
||||||
dev->cd_buflen = 0;
|
dev->cd_buflen = 0;
|
||||||
|
|
||||||
if (dev->ops->is_dvd(dev->local))
|
if (dev->ops->is_dvd(dev->local)) {
|
||||||
dev->cd_status = CD_STATUS_DVD;
|
if (cdrom_is_dvd(dev->type))
|
||||||
else
|
dev->cd_status = CD_STATUS_DVD;
|
||||||
|
else
|
||||||
|
dev->cd_status = CD_STATUS_DVD_REJECTED;
|
||||||
|
} else
|
||||||
dev->cd_status = dev->ops->has_audio(dev->local) ? CD_STATUS_STOPPED :
|
dev->cd_status = dev->ops->has_audio(dev->local) ? CD_STATUS_STOPPED :
|
||||||
CD_STATUS_DATA_ONLY;
|
CD_STATUS_DATA_ONLY;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user