Exemple #1
0
 private void ReportProgress()
 {
     if (_externalProgress != null)
     {
         _externalProgress.Report(new CodingProgressInfo(_processedInSize, _processedOutSize));
     }
 }
        public override void Code(Stream inStream, Stream outStream, long inSize = -1, long outSize = -1, ICodingProgress progress = null)
        {
            long processedSize = 0;

            for (; ;)
            {
                var nRead = inStream.Read(_buffer.Value, 0, _buffer.Value.Length);
                if (nRead == 0)
                {
                    break;
                }
                outStream.Write(_buffer.Value, 0, nRead);
                processedSize += nRead;
                if (progress != null)
                {
                    progress.Report(new CodingProgressInfo(processedSize, processedSize));
                }
            }
        }
        public override void Code(Stream inStream, Stream outStream, long inSize, long outSize, ICodingProgress progress = null)
        {
            var inBuf  = new byte[DefaultBlockSize];
            var outBuf = new byte[inBuf.Length];

            _bucket = new int[inBuf.Length];
            long processedSize = 0;

            for (; ;)
            {
                var nRead = inStream.Read(inBuf, 0, inBuf.Length);
                if (nRead == 0)
                {
                    break;
                }
                processedSize += nRead;
                var primaryIndex = this.EncodeBlock(inBuf, outBuf, nRead);
                outStream.Write(outBuf, 0, nRead);
                if (progress != null)
                {
                    progress.Report(new CodingProgressInfo(processedSize, processedSize));
                }
            }
        }