public ZlibBaseStream(System.IO.Stream stream, CompressionMode compressionMode, CompressionLevel level, ZlibStreamFlavor flavor, bool leaveOpen)
: base()
{
this._flushMode = ZlibConstants.Z_NO_FLUSH;
this._workingBuffer = new byte[WORKING_BUFFER_SIZE_DEFAULT];
this._stream = stream;
this._leaveOpen = leaveOpen;
this._flavor = flavor;
bool wantRfc1950Header = (flavor == ZlibStreamFlavor.ZLIB);
if (compressionMode == CompressionMode.Decompress)
{
_z.InitializeInflate(wantRfc1950Header);
this._wantCompress = false;
}
else
{
_z.InitializeDeflate(level, wantRfc1950Header);
this._wantCompress = true;
}
// workitem 7159
if (flavor == ZlibStreamFlavor.GZIP)
{
crc = new CRC32();
}
}