CSharpRTMP.Common.BufferWithOffset.BufferWithOffset C# (CSharp) Method

BufferWithOffset() public method

public BufferWithOffset ( Stream s, bool forceRead = false, int length = -1 ) : System
s Stream
forceRead bool
length int
return System
        public BufferWithOffset(Stream s,bool forceRead = false , int length = -1)
        {
            if (s is MemoryStream && !forceRead)
            {
                Buffer = (s as MemoryStream).GetBuffer();
                Offset = (int) (s as MemoryStream).Position;
                //if (s is OutputStream) Offset += (int)(s as OutputStream).Consumed;
                _length = (length==-1?(int)s.GetAvaliableByteCounts():length) + Offset;
            }
            else
            {
                Buffer = new byte[length == -1?s.Length - s.Position:length];
                Offset = 0;
                s.Read(Buffer, 0, Buffer.Length);
                _length = Buffer.Length;
            }
        }
        public byte this[int index]

Same methods

BufferWithOffset::BufferWithOffset ( byte pBuffer, int offset, int length = -1 ) : System