Exemple #1
0
 private void Decompress()
 {
     if ((Size != SizeUncompressed) &&
         (Flags == 0))
     {
         try
         {
             CompressedData.PushPosition();
             _data = CompressedData.UnpackRunLengthEncoding();
         }
         catch (Exception ex)
         {
             throw new RunLengthEncodingException($"Bad RLE data block at index {CompressedData} in {ToString()}", ex);
         }
         finally
         {
             CompressedData.PopPosition();
         }
     }
     else
     {
         _data = CompressedData;
     }
 }