package org.xcontest.live;
import org.xcontest.live.zlib.JZlib;
import org.xcontest.live.zlib.ZStream;
public class ZLib {
public static synchronized int zip(byte[] in, int inpos, int inlen, byte[] out, int outpos, int outlen) {
ZStream z = new ZStream();
z.next_in = in;
z.next_in_index = inpos;
z.avail_in = inlen;
z.next_out = out;
z.next_out_index = outpos;
z.avail_out = outlen;
z.deflateInit(JZlib.Z_DEFAULT_COMPRESSION);
if (z.deflate(JZlib.Z_FINISH) != JZlib.Z_STREAM_END) {
z.deflateEnd();
return -1;
}
z.deflateEnd();
return (int)z.total_out;
}
public static int unzip(byte[] in, int inpos, int inlen, byte[] out, int outpos, int outlen) {
ZStream z = new ZStream();
z.next_in = in;
z.next_in_index = inpos;
z.avail_in = in.length;
z.next_out = out;
z.next_out_index = outpos;
z.avail_out = outlen;
z.inflateInit();
if (z.inflate(JZlib.Z_FINISH) != JZlib.Z_STREAM_END) {
z.inflateEnd();
return -1;
}
z.inflateEnd();
return (int)z.total_out;
}
}