From 9533070e9de80c0decedf917608582ee765a3923 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 14 Dec 2019 21:13:31 +0000 Subject: [PATCH] Check if raw output plugin and unsupported media. --- .../Devices/Dumping/CompactDisc.cs | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs b/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs index d38fbeacc..1bad7b61d 100644 --- a/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs +++ b/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs @@ -903,6 +903,35 @@ namespace DiscImageChef.Core.Devices.Dumping break; } } + + if(outputPlugin.Id == new Guid("12345678-AAAA-BBBB-CCCC-123456789000")) + { + if(tracks.Length > 1) + { + StoppingErrorMessage?.Invoke("Output format does not support more than 1 track, not continuing..."); + dumpLog.WriteLine("Output format does not support more than 1 track, not continuing..."); + + return; + } + + if(tracks.Any(t => t.TrackType == TrackType.Audio)) + { + StoppingErrorMessage?.Invoke("Output format does not support audio tracks, not continuing..."); + dumpLog.WriteLine("Output format does not support audio tracks, not continuing..."); + + return; + } + + if(tracks.Any(t => t.TrackType != TrackType.CdMode1)) + { + StoppingErrorMessage?.Invoke("Output format only supports MODE 1 tracks, not continuing..."); + dumpLog.WriteLine("Output format only supports MODE 1 tracks, not continuing..."); + + return; + } + + supportsLongSectors = false; + } } /// Dumps a compact disc @@ -941,35 +970,6 @@ namespace DiscImageChef.Core.Devices.Dumping int sessions = 1; int firstTrackLastSession = 0; - if(outputPlugin.Id == new Guid("12345678-AAAA-BBBB-CCCC-123456789000")) - { - if(tracks.Length > 1) - { - StoppingErrorMessage?.Invoke("Output format does not support more than 1 track, not continuing..."); - dumpLog.WriteLine("Output format does not support more than 1 track, not continuing..."); - - return; - } - - if(tracks.Any(t => t.TrackType == TrackType.Audio)) - { - StoppingErrorMessage?.Invoke("Output format does not support audio tracks, not continuing..."); - dumpLog.WriteLine("Output format does not support audio tracks, not continuing..."); - - return; - } - - if(tracks.Any(t => t.TrackType != TrackType.CdMode1)) - { - StoppingErrorMessage?.Invoke("Output format only supports MODE 1 tracks, not continuing..."); - dumpLog.WriteLine("Output format only supports MODE 1 tracks, not continuing..."); - - return; - } - - supportsLongSectors = false; - } - // Check if something prevents from dumping the first track pregap if(dumpFirstTrackPregap && readcd) {