Fixed #1908 Slow commandline opening SWF

This commit is contained in:
Jindra Petřík
2022-12-21 17:06:46 +01:00
parent f8488683cd
commit c4befddd5f
3 changed files with 14 additions and 2 deletions

View File

@@ -23,6 +23,7 @@ All notable changes to this project will be documented in this file.
- Image flickering
- Show Hex dump for AS1/2 script tags
- Speaker image when sound selected not in the center
- [#1908] Slow commandline opening SWF
### Changed
- Warning before switching deobfuscation is now optional
@@ -2771,6 +2772,7 @@ All notable changes to this project will be documented in this file.
[#1460]: https://www.free-decompiler.com/flash/issues/1460
[#1904]: https://www.free-decompiler.com/flash/issues/1904
[#595]: https://www.free-decompiler.com/flash/issues/595
[#1908]: https://www.free-decompiler.com/flash/issues/1908
[#1898]: https://www.free-decompiler.com/flash/issues/1898
[#1511]: https://www.free-decompiler.com/flash/issues/1511
[#1765]: https://www.free-decompiler.com/flash/issues/1765

View File

@@ -2267,7 +2267,7 @@ public class CommandLineArgumentParser {
OpenableSourceInfo sourceInfo = new OpenableSourceInfo(null, inFile.getAbsolutePath(), inFile.getName());
SWF swf;
try {
swf = new SWF(new StdInAwareFileInputStream(inFile), sourceInfo.getFile(), sourceInfo.getFileTitle(), Configuration.parallelSpeedUp.get(), charset);
swf = new SWF(new BufferedInputStream(new StdInAwareFileInputStream(inFile)), sourceInfo.getFile(), sourceInfo.getFileTitle(),null, Configuration.parallelSpeedUp.get(), false, true, charset);
} catch (FileNotFoundException | SwfOpenException ex) {
// FileNotFoundException when anti virus software blocks to open the file
logger.log(Level.SEVERE, "Failed to open swf: " + inFile.getName(), ex);

View File

@@ -69,5 +69,15 @@ public class StdInAwareFileInputStream extends InputStream implements AutoClosea
@Override
public void close() throws IOException {
is.close();
}
}
@Override
public int read(byte[] b) throws IOException {
return is.read(b);
}
@Override
public int read(byte[] b, int off, int len) throws IOException {
return is.read(b, off, len);
}
}