public void SendFlv(FlvTag[] flvs)
{
var memory = new MemoryStream();
var writer = new EndianBinaryWriter(EndianBitConverter.Big, memory);
const byte chunkHeaderType = 0x03;
var chunkCount = 0;
for (var i = 0; i < flvs.Length; i++)
{
var flv = flvs[i];
chunkCount += flv.Data.Length;
writer.Write(chunkHeaderType);
writer.Write(flv.TimeStamp, 0, 3);
writer.Write(flv.Length, 0, 3);
writer.Write((byte) flv.TagType);
//writer.Write(new byte[] {0x00, flv.StreamId[0], flv.StreamId[1], flv.StreamId[2]});
var streamIdBytes = converter.GetBytes(StreamId);
for (int id = streamIdBytes.Length - 1; id >= 0; id--)
{
writer.Write(streamIdBytes[id]);
}
writer.Write(flv.Data);
}
if(chunkCount > CurrentChunkSize)
SendChunkSize((uint)chunkCount);
tcpClient.GetStream().Write(memory.ToArray(), 0, memory.ToArray().Length);
}