PeerCastStation.FLV.RTMP.AggregateMessage.AggregateMessage C# (CSharp) Method

AggregateMessage() public method

public AggregateMessage ( RTMPMessage x ) : System
x RTMPMessage
return System
    public AggregateMessage(RTMPMessage x)
      : base(x)
    {
      var messages = new List<RTMPMessage>();
      using (var reader=new RTMPBinaryReader(new MemoryStream(x.Body))) {
        while (reader.BaseStream.Position<reader.BaseStream.Length) {
          var message_type = (RTMPMessageType)reader.ReadByte();
          var length       = reader.ReadUInt24();
          var timestamp    = reader.ReadUInt32();
          var stream_id    = reader.ReadUInt24();
          var body         = reader.ReadBytes(length);
          var msg = new RTMPMessage(
            message_type,
            timestamp + x.Timestamp,
            x.StreamId,
            body);
          var prevlen = reader.ReadUInt32();
          if (prevlen==body.Length+11) {
            messages.Add(msg);
          }
        }
      }
    }

Same methods

AggregateMessage::AggregateMessage ( long timestamp, long stream_id, IEnumerable messages ) : System