PeerCastStation.FLV.RTMP.RTMPBinaryWriter.WriteUInt32LE C# (CSharp) Method

WriteUInt32LE() public method

public WriteUInt32LE ( long value ) : void
value long
return void
    public void WriteUInt32LE(long value)
    {
      var bytes = BitConverter.GetBytes((uint)value);
      if (!BitConverter.IsLittleEndian) Array.Reverse(bytes);
      BaseStream.Write(bytes, 0, bytes.Length);
    }

Usage Example

コード例 #1
0
        void SendMessage(int chunk_stream_id, RTMPMessage msg)
        {
            int offset = 0;
            int fmt    = 0;

            while (msg.Body.Length - offset > 0)
            {
                switch (fmt)
                {
                case 0:
                    Send(s => {
                        using (var writer = new RTMPBinaryWriter(s)) {
                            writer.Write((byte)((fmt << 6) | chunk_stream_id));
                            if (msg.Timestamp > 0xFFFFFF)
                            {
                                writer.WriteUInt24(0xFFFFFF);
                            }
                            else
                            {
                                writer.WriteUInt24((int)msg.Timestamp);
                            }
                            writer.WriteUInt24(msg.Body.Length);
                            writer.Write((byte)msg.MessageType);
                            writer.WriteUInt32LE(msg.StreamId);
                            if (msg.Timestamp > 0xFFFFFF)
                            {
                                writer.WriteUInt32(msg.Timestamp);
                            }
                            int chunk_len = Math.Min(sendChunkSize, msg.Body.Length - offset);
                            writer.Write(msg.Body, offset, chunk_len);
                            offset += chunk_len;
                        }
                    });
                    fmt = 3;
                    break;

                case 3:
                    Send(s => {
                        using (var writer = new RTMPBinaryWriter(s)) {
                            writer.Write((byte)((fmt << 6) | chunk_stream_id));
                            int chunk_len = Math.Min(sendChunkSize, msg.Body.Length - offset);
                            writer.Write(msg.Body, offset, chunk_len);
                            offset += chunk_len;
                        }
                    });
                    break;
                }
            }
        }
All Usage Examples Of PeerCastStation.FLV.RTMP.RTMPBinaryWriter::WriteUInt32LE