mirror of
https://github.com/SabreTools/MPF.git
synced 2026-02-04 05:35:52 +00:00
Pre-compress state files with Zstd
This commit is contained in:
@@ -39,6 +39,7 @@
|
||||
- Add preemptive helper for Zstd handling
|
||||
- Pre-compress skeleton files with Zstd
|
||||
- Fix broken file count tests
|
||||
- Pre-compress state files with Zstd
|
||||
|
||||
### 3.4.2 (2025-09-30)
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace MPF.Processors.Test
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
|
||||
|
||||
var actual = processor.GetOutputFiles(MediaType.CDROM, outputDirectory, outputFilename);
|
||||
Assert.Equal(18, actual.Count);
|
||||
Assert.Equal(19, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -114,7 +114,7 @@ namespace MPF.Processors.Test
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
|
||||
|
||||
var actual = processor.GetOutputFiles(MediaType.DVD, outputDirectory, outputFilename);
|
||||
Assert.Equal(16, actual.Count);
|
||||
Assert.Equal(17, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -125,7 +125,7 @@ namespace MPF.Processors.Test
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
|
||||
|
||||
var actual = processor.GetOutputFiles(MediaType.HDDVD, outputDirectory, outputFilename);
|
||||
Assert.Equal(11, actual.Count);
|
||||
Assert.Equal(12, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -136,7 +136,7 @@ namespace MPF.Processors.Test
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
|
||||
|
||||
var actual = processor.GetOutputFiles(MediaType.BluRay, outputDirectory, outputFilename);
|
||||
Assert.Equal(11, actual.Count);
|
||||
Assert.Equal(12, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -161,7 +161,7 @@ namespace MPF.Processors.Test
|
||||
string outputFilename = string.Empty;
|
||||
var processor = new Redumper(RedumpSystem.IBMPCcompatible);
|
||||
var actual = processor.FoundAllFiles(MediaType.CDROM, outputDirectory, outputFilename);
|
||||
Assert.Equal(8, actual.Count);
|
||||
Assert.Equal(7, actual.Count);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
@@ -99,9 +99,11 @@ namespace MPF.Processors
|
||||
VolumeLabels = volLabels;
|
||||
}
|
||||
|
||||
// Pre-compress the skeleton using Zstandard
|
||||
// Pre-compress the skeleton and state using Zstandard
|
||||
if (File.Exists($"{basePath}.skeleton"))
|
||||
_ = CompressZstandard($"{basePath}.skeleton");
|
||||
if (File.Exists($"{basePath}.state"))
|
||||
_ = CompressZstandard($"{basePath}.state");
|
||||
|
||||
// Extract info based generically on MediaType
|
||||
switch (mediaType)
|
||||
@@ -477,10 +479,13 @@ namespace MPF.Processors
|
||||
"pma"),
|
||||
new([$"{outputFilename}.scram", $"{outputFilename}.scrap"], OutputFileFlags.Required
|
||||
| OutputFileFlags.Deleteable),
|
||||
new($"{outputFilename}.state", OutputFileFlags.Required
|
||||
| OutputFileFlags.Binary
|
||||
// TODO: Required if Zstandard version doesn't exist
|
||||
new($"{outputFilename}.state", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"state"),
|
||||
new($"{outputFilename}.state.zst", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"state_zst"),
|
||||
new($"{outputFilename}.subcode", OutputFileFlags.Required
|
||||
| OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
@@ -595,10 +600,13 @@ namespace MPF.Processors
|
||||
new($"{outputFilename}.ssv2", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"ssv2"),
|
||||
new($"{outputFilename}.state", OutputFileFlags.Required
|
||||
| OutputFileFlags.Binary
|
||||
// TODO: Required if Zstandard version doesn't exist
|
||||
new($"{outputFilename}.state", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"state"),
|
||||
new($"{outputFilename}.state.zst", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"state_zst"),
|
||||
];
|
||||
|
||||
case MediaType.HDDVD: // TODO: Confirm that this information outputs
|
||||
@@ -636,10 +644,13 @@ namespace MPF.Processors
|
||||
new($"{outputFilename}.skeleton.zst", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"skeleton_zst"),
|
||||
new($"{outputFilename}.state", OutputFileFlags.Required
|
||||
| OutputFileFlags.Binary
|
||||
// TODO: Required if Zstandard version doesn't exist
|
||||
new($"{outputFilename}.state", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"state"),
|
||||
new($"{outputFilename}.state.zst", OutputFileFlags.Binary
|
||||
| OutputFileFlags.Zippable,
|
||||
"state_zst"),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user