private void CloseFrame()
        {
            if (_encoder == null)
            {
                return;
            }

            try
            {
                var action = _encoder.FlushAndEncode(
                    _buffer, 0, _buffer.Length, true, out var encoded);
                WriteBlock(encoded, action);

                Stash32(0);
                FlushStash();

                if (_descriptor.ContentChecksum)
                {
                    throw NotImplemented("ContentChecksum");
                }

                _buffer = null;

                _encoder.Dispose();
            }
            finally
            {
                _encoder = null;
            }
        }
Exemplo n.º 2
0
		private void CloseFrame()
		{
			if (_encoder == null)
				return;

			try
			{
				EncoderAction action = _encoder.FlushAndEncode(_buffer, 0, _buffer.Length, true, out int encoded);
				WriteBlock(encoded, action);

				Write32(0);
				Flush16();

				if (_descriptor.ContentChecksum)
                    throw new NotImplementedException(string.Format(RS.FeatureNotImplementedInType, "Content Checksum", GetType().Name));

				_buffer = null;

				_encoder.Dispose();
			}
			finally
			{
				_encoder = null;
			}
		}
Exemplo n.º 3
0
        public void CloseFrame()
        {
            if (_encoder == null)
            {
                return;
            }

            try
            {
                var action = _encoder.FlushAndEncode(
                    _buffer, 0, _buffer.Length, true, out var encoded);
                WriteBlock(encoded, action);

                Write32(0);
                Flush16();

                if (_frameInfo.ContentChecksum)
                {
                    throw NotImplemented("ContentChecksum");
                }

                _buffer = null;

                _encoder.Dispose();
            }
            finally
            {
                _encoder = null;
            }
        }
Exemplo n.º 4
0
        private BlockInfo FlushAndEncode()
        {
            var action = _encoder.FlushAndEncode(
                _buffer.AsSpan(), true, out var encoded);

            try
            {
                _encoder.Dispose();

                return(new BlockInfo(_buffer, action, encoded));
            }
            finally
            {
                _encoder = null;
                _buffer  = null;
            }
        }
Exemplo n.º 5
0
 public void Dispose() => _encoder.Dispose();