/// <summary> /// Calculate number of bytes necessary to encode the header. /// </summary> /// <param name="header">RTMP message header</param> /// <param name="lastHeader">Previous header</param> /// <returns>Calculated size</returns> private static int CalculateHeaderSize(RtmpHeader header, RtmpHeader lastHeader) { HeaderType headerType = GetHeaderType(header, lastHeader); int channelIdAdd; if (header.ChannelId > 320) { channelIdAdd = 2; } else if (header.ChannelId > 63) { channelIdAdd = 1; } else { channelIdAdd = 0; } return(RtmpHeader.GetHeaderLength(headerType) + channelIdAdd); }