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);
}
}
}
}