Ejemplo n.º 1
0
        public void AddRTPPacket(RTPPacket rtpPacket)
        {
            FramePackets.Add(rtpPacket);

            //if (HasMarker && FramePayload == null)
            //{
            //    FramePayload = IsComplete(_packets, payloadHeaderLength);
            //}
        }
Ejemplo n.º 2
0
        //public byte[] GetFramePayload()
        //{
        //    List<byte> payload = new List<byte>();

        //    foreach (var rtpPacket in _packets.OrderBy(x => x.Header.SequenceNumber))
        //    {
        //        if (FrameType == FrameTypesEnum.VP8)
        //        {
        //            var vp8Header = RTPVP8Header.GetVP8Header(rtpPacket.Payload);
        //            payload.AddRange(rtpPacket.Payload.Skip(vp8Header.PayloadDescriptorLength));
        //        }
        //        else
        //        {
        //            payload.AddRange(rtpPacket.Payload);
        //        }
        //    }

        //    return payload.ToArray();
        //}

        public byte[] GetFramePayload()
        {
            var buffer = new System.IO.MemoryStream();

            foreach (var packet in FramePackets.OrderBy(x => x.Header.SequenceNumber))
            {
                buffer.Write(packet.Payload, 0, packet.Payload.Length);
            }
            return(buffer.GetBuffer());
        }