* DiscImageChef.DiscImages/Alcohol120.cs:

Corrected disc type calculation.

	* DiscImageChef.DiscImages/Nero.cs:
	  Corrected debug output.
This commit is contained in:
2016-08-17 01:32:20 +01:00
parent 229cf0b0e1
commit 9dd5fceb50
4 changed files with 1513 additions and 12 deletions

View File

@@ -5,11 +5,11 @@
// Filename : Alcohol120.cs // Filename : Alcohol120.cs
// Author(s) : Natalia Portillo <claunia@claunia.com> // Author(s) : Natalia Portillo <claunia@claunia.com>
// //
// Component : Component // Component : Disc image plugins.
// //
// --[ Description ] ---------------------------------------------------------- // --[ Description ] ----------------------------------------------------------
// //
// Description // Manages Alcohol 120% disc images.
// //
// --[ License ] -------------------------------------------------------------- // --[ License ] --------------------------------------------------------------
// //
@@ -518,21 +518,20 @@ namespace DiscImageChef.ImagePlugins
bool firstaudio = false; bool firstaudio = false;
bool firstdata = false; bool firstdata = false;
bool audio = false; bool audio = false;
int i = 0;
foreach(AlcoholTrack _track in alcTracks.Values) foreach(AlcoholTrack _track in alcTracks.Values)
{ {
// First track is audio // First track is audio
firstaudio |= i == 0 && _track.mode == AlcoholTrackMode.Audio; firstaudio |= _track.point == 1 && _track.mode == AlcoholTrackMode.Audio;
// First track is data // First track is data
firstdata |= i == 0 && _track.mode != AlcoholTrackMode.Audio; firstdata |= _track.point == 1 && _track.mode != AlcoholTrackMode.Audio;
// Any non first track is data // Any non first track is data
data |= i != 0 && _track.mode != AlcoholTrackMode.Audio; data |= _track.point != 1 && _track.mode != AlcoholTrackMode.Audio;
// Any non first track is audio // Any non first track is audio
audio |= i != 0 && _track.mode == AlcoholTrackMode.Audio; audio |= _track.point != 1 && _track.mode == AlcoholTrackMode.Audio;
switch(_track.mode) switch(_track.mode)
{ {

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,9 @@
2016-08-17 Natalia Portillo <claunia@claunia.com>
* Alcohol120.cs: Corrected disc type calculation.
* Nero.cs: Corrected debug output.
2016-08-09 Natalia Portillo <claunia@claunia.com> 2016-08-09 Natalia Portillo <claunia@claunia.com>
* Alcohol120.cs: Missed code to return PFI and DMI from disc * Alcohol120.cs: Missed code to return PFI and DMI from disc

View File

@@ -903,9 +903,9 @@ namespace DiscImageChef.ImagePlugins
footerV2.FirstChunkOffset = BigEndianBitConverter.ToUInt64(buffer, 4); footerV2.FirstChunkOffset = BigEndianBitConverter.ToUInt64(buffer, 4);
DicConsole.DebugWriteLine("Nero plugin", "imageInfo.Length = {0}", imageInfo.Length); DicConsole.DebugWriteLine("Nero plugin", "imageInfo.Length = {0}", imageInfo.Length);
DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X2} (\"{1}\")", footerV1.ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(footerV1.ChunkID))); DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X8}", footerV1.ChunkID);
DicConsole.DebugWriteLine("Nero plugin", "footerV1.FirstChunkOffset = {0}", footerV1.FirstChunkOffset); DicConsole.DebugWriteLine("Nero plugin", "footerV1.FirstChunkOffset = {0}", footerV1.FirstChunkOffset);
DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X2} (\"{1}\")", footerV2.ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(footerV2.ChunkID))); DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X8}", footerV2.ChunkID);
DicConsole.DebugWriteLine("Nero plugin", "footerV2.FirstChunkOffset = {0}", footerV2.FirstChunkOffset); DicConsole.DebugWriteLine("Nero plugin", "footerV2.FirstChunkOffset = {0}", footerV2.FirstChunkOffset);
if(footerV2.ChunkID == NeroV2FooterID && footerV2.FirstChunkOffset < (ulong)imageInfo.Length) if(footerV2.ChunkID == NeroV2FooterID && footerV2.FirstChunkOffset < (ulong)imageInfo.Length)
@@ -948,9 +948,9 @@ namespace DiscImageChef.ImagePlugins
footerV2.FirstChunkOffset = BigEndianBitConverter.ToUInt64(buffer, 4); footerV2.FirstChunkOffset = BigEndianBitConverter.ToUInt64(buffer, 4);
DicConsole.DebugWriteLine("Nero plugin", "imageInfo.Length = {0}", imageInfo.Length); DicConsole.DebugWriteLine("Nero plugin", "imageInfo.Length = {0}", imageInfo.Length);
DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X2} (\"{1}\")", footerV1.ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(footerV1.ChunkID))); DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X8} (\"{1}\")", footerV1.ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(footerV1.ChunkID)));
DicConsole.DebugWriteLine("Nero plugin", "footerV1.FirstChunkOffset = {0}", footerV1.FirstChunkOffset); DicConsole.DebugWriteLine("Nero plugin", "footerV1.FirstChunkOffset = {0}", footerV1.FirstChunkOffset);
DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X2} (\"{1}\")", footerV2.ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(footerV2.ChunkID))); DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X8} (\"{1}\")", footerV2.ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(footerV2.ChunkID)));
DicConsole.DebugWriteLine("Nero plugin", "footerV2.FirstChunkOffset = {0}", footerV2.FirstChunkOffset); DicConsole.DebugWriteLine("Nero plugin", "footerV2.FirstChunkOffset = {0}", footerV2.FirstChunkOffset);
if(footerV1.ChunkID == NeroV1FooterID && footerV1.FirstChunkOffset < (ulong)imageInfo.Length) if(footerV1.ChunkID == NeroV1FooterID && footerV1.FirstChunkOffset < (ulong)imageInfo.Length)
@@ -989,7 +989,7 @@ namespace DiscImageChef.ImagePlugins
ChunkID = BigEndianBitConverter.ToUInt32(ChunkHeaderBuffer, 0); ChunkID = BigEndianBitConverter.ToUInt32(ChunkHeaderBuffer, 0);
ChunkLength = BigEndianBitConverter.ToUInt32(ChunkHeaderBuffer, 4); ChunkLength = BigEndianBitConverter.ToUInt32(ChunkHeaderBuffer, 4);
DicConsole.DebugWriteLine("Nero plugin", "ChunkID = 0x{0:X2} (\"{1}\")", ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(ChunkID))); DicConsole.DebugWriteLine("Nero plugin", "ChunkID = 0x{0:X8} (\"{1}\")", ChunkID, System.Text.Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(ChunkID)));
DicConsole.DebugWriteLine("Nero plugin", "ChunkLength = {0}", ChunkLength); DicConsole.DebugWriteLine("Nero plugin", "ChunkLength = {0}", ChunkLength);
switch(ChunkID) switch(ChunkID)