/// <summary> /// /// </summary> /// <param name="properties"></param> /// <param name="isLZMA2"></param> /// <param name="presetDictionary"></param> /// <param name="outputStream"></param> public LzmaStream(LzmaEncoderProperties properties, bool isLZMA2, Stream presetDictionary, Stream outputStream) { Properties = new byte[5]; this.isLZMA2 = isLZMA2; availableBytes = 0; endReached = true; if (isLZMA2) { throw new NotImplementedException(); } encoder = new Encoder(); encoder.SetCoderProperties(properties.propIDs, properties.properties); MemoryStream propStream = new MemoryStream(5); encoder.WriteCoderProperties(propStream); Properties = propStream.ToArray(); encoder.SetStreams(null, outputStream, -1, -1); if (presetDictionary != null) { encoder.Train(presetDictionary); } }
/// <summary> /// /// </summary> /// <param name="properties"></param> /// <param name="isLZMA2"></param> /// <param name="outputStream"></param> public LzmaStream(LzmaEncoderProperties properties, bool isLZMA2, Stream outputStream) : this(properties, isLZMA2, null, outputStream) { }