CSharpRTMP.Core.Protocols.Rtmfp.FlowGroup.RawHandler C# (CSharp) Method

RawHandler() protected method

protected RawHandler ( byte type, Stream data ) : void
type byte
data Stream
return void
        protected override void RawHandler(byte type, Stream data)
        {
            if (type == 1)
            {
                if (data.GetAvaliableByteCounts() > 0)
                {
                    int size = (int) (data.Read7BitValue() - 1);
                    var flag = data.ReadByte();
                    byte[] groupId;
                    if (flag == 0x10)
                    {
                        var groupIdVar = new byte[size];
                        data.Read(groupIdVar, 0, size);
                        groupId = Target.Sha256.ComputeHash(groupIdVar, 0, size);
                    }
                    else
                    {
                        groupId = new byte[RtmfpUtils.ID_SIZE];
                        data.Read(groupId, 0, RtmfpUtils.ID_SIZE);
                    }
                    var groupIdStr =groupId.BytesToString();
                    if (Handler.Groups.ContainsKey(groupIdStr))
                    {
                        _group = Handler.Groups[groupIdStr];
                        Peer.JoinGroup(_group,Writer);
                    }
                    else
                    {
                        _group = Peer.JoinGroup(groupId, Writer);
                    }
                }
            }
            else base.RawHandler(type, data);
        }
    }