Skip to content
Snippets Groups Projects
Commit 6ca071c9 authored by Vojtech Moravec's avatar Vojtech Moravec
Browse files

Fix incorrect calculation of compressed data size.

parent f646ad19
No related branches found
Tags v2.80-rc3
No related merge requests found
package azgracompress.compression;
import azgracompress.U16;
import azgracompress.cache.ICacheFile;
import azgracompress.compression.exception.ImageCompressionException;
import azgracompress.data.Range;
import azgracompress.fileformat.QCMPFileHeader;
import azgracompress.io.InputData;
import azgracompress.utilities.Utils;
import java.io.*;
import java.util.Arrays;
......@@ -90,12 +92,11 @@ public class ImageCompressor extends CompressorDecompressorBase {
try (DataOutputStream compressStream = new DataOutputStream(new BufferedOutputStream(outputStream, 8192))) {
final long[] chunkSizes = imageCompressor.compressStreamMode(compressStream);
for (final long chunkSize : chunkSizes) {
assert (chunkSize < Integer.MAX_VALUE);
compressStream.writeInt((int) chunkSize);
compressStream.writeInt((int) chunkSize);
assert (chunkSize < U16.Max);
compressStream.writeShort((int) chunkSize);
}
return (int) Arrays.stream(chunkSizes).sum() + (3 * 2) + (chunkSizes.length * 4);
return (4 * 2) + ((int) Arrays.stream(chunkSizes).sum()) + (chunkSizes.length * 2);
} catch (ImageCompressionException ice) {
System.err.println(ice.getMessage());
return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment