CSharpRTMP.Core.Protocols.Rtmfp.RtmfpUtils.CheckSum C# (CSharp) Метод

CheckSum() публичный статический Метод

public static CheckSum ( Stream s ) : ushort
s Stream
Результат ushort
        public static ushort CheckSum(Stream s)
        {
            int sum = 0;
            var position = (int)s.Position;
            var first = s.ReadByte();
            while (first != -1)
            {
                var second = s.ReadByte();
                if (second != -1)
                {
                    sum += (first << 8) +second;
                    first = s.ReadByte();
                }
                else
                {
                    sum += first;
                    first = -1;
                }
            }
            s.Position = position;
            sum = (sum >> 16) + (sum & 0xFFFF);
            sum += (sum >> 16);
            return (ushort) ~sum;
        }