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

CreateBody() private static method

private static CreateBody ( long timestamp, IEnumerable messages ) : byte[]
timestamp long
messages IEnumerable
return byte[]
    private static byte[] CreateBody(
      long timestamp,
      IEnumerable<RTMPMessage> messages)
    {
      var s = new MemoryStream();
      using (var writer=new RTMPBinaryWriter(s)) {
        foreach (var msg in messages) {
          writer.Write((byte)msg.MessageType);
          writer.WriteUInt24(msg.Body.Length);
          var t = msg.Timestamp-timestamp;
          writer.WriteUInt24((int)t & 0xFFFFFF);
          writer.Write((byte)((t>>24) & 0xFF));
          writer.WriteUInt24((int)msg.StreamId);
          writer.Write(msg.Body, 0, msg.Body.Length);
          writer.Write(msg.Body.Length+11);
        }
      }
      return s.ToArray();
    }
  }