Fix detection of CD-i discs.

Do not take as decoded data that has merely returned the SCSI data length header.
This commit is contained in:
2020-03-06 19:24:41 +00:00
parent be9ee4bd8e
commit b14ee9bfc3
3 changed files with 25 additions and 22 deletions

View File

@@ -299,26 +299,29 @@ namespace Aaru.Core.Media.Detection
}
}
if(hasDataTrack &&
hasAudioTrack &&
allFirstSessionTracksAreAudio &&
sessions == 2)
mediaType = MediaType.CDPLUS;
if(mediaType != MediaType.CDI)
{
if(hasDataTrack &&
hasAudioTrack &&
allFirstSessionTracksAreAudio &&
sessions == 2)
mediaType = MediaType.CDPLUS;
if(!hasDataTrack &&
hasAudioTrack &&
sessions == 1)
mediaType = MediaType.CDDA;
if(!hasDataTrack &&
hasAudioTrack &&
sessions == 1)
mediaType = MediaType.CDDA;
if(hasDataTrack &&
!hasAudioTrack &&
sessions == 1)
mediaType = MediaType.CDROM;
if(hasDataTrack &&
!hasAudioTrack &&
sessions == 1)
mediaType = MediaType.CDROM;
if(hasVideoTrack &&
!hasDataTrack &&
sessions == 1)
mediaType = MediaType.CDV;
if(hasVideoTrack &&
!hasDataTrack &&
sessions == 1)
mediaType = MediaType.CDV;
}
if((mediaType == MediaType.CD || mediaType == MediaType.CDROM) && hasDataTrack)
{