PeerCastStation.FLV.FLVContentBuffer.WriteMessage C# (CSharp) Method

WriteMessage() private method

private WriteMessage ( Stream stream, RTMPMessage msg, long time_origin ) : void
stream Stream
msg PeerCastStation.FLV.RTMP.RTMPMessage
time_origin long
return void
    private void WriteMessage(Stream stream, RTMPMessage msg, long time_origin)
    {
      var timestamp = Math.Max(0, msg.Timestamp-time_origin);
      using (var writer=new RTMPBinaryWriter(stream, true)) {
        writer.Write((byte)msg.MessageType);
        writer.WriteUInt24(msg.Body.Length);
        writer.WriteUInt24((int)timestamp & 0xFFFFFF);
        writer.Write((byte)((timestamp>>24) & 0xFF));
        writer.WriteUInt24(0);
        writer.Write(msg.Body, 0, msg.Body.Length);
        writer.Write(msg.Body.Length+11);
      }
    }