public override byte[] ToBytes()
 {
     byte[] data = WritePacketInfo(this, 32);
     Buffer.BlockCopy(Token.ToByteArray(), 0, data, 21, 16);
     Buffer.BlockCopy(FileId.ToByteArray(), 0, data, 21 + 16, 16);
     return(data);
 }
예제 #2
0
        /// <summary>
        /// Convierte las propiedades del mensaje en un paquete de bytes
        /// </summary>
        /// <returns>un paquete de bytes con las propiedades del mensaje</returns>
        public override byte[] makePack()
        {
            byte[] fileID        = FileId.ToByteArray();        //16 (0 - 15)
            byte[] fileHandlerId = FileHandlerId.ToByteArray(); //16 (16 - 31)

            byte[] pack = new byte[32];
            fileID.CopyTo(pack, 0);
            fileHandlerId.CopyTo(pack, 16);
            return(pack);
        }
예제 #3
0
        /// <summary>
        ///     Renders the current instance as a raw ASF object.
        /// </summary>
        /// <returns>
        ///     A <see cref="ByteVector" /> object containing the
        ///     rendered version of the current instance.
        /// </returns>
        public override ByteVector Render()
        {
            ByteVector output = FileId.ToByteArray();

            output.Add(RenderQWord(FileSize));
            output.Add(RenderQWord(creation_date));
            output.Add(RenderQWord(DataPacketsCount));
            output.Add(RenderQWord(send_duration));
            output.Add(RenderQWord(play_duration));
            output.Add(RenderQWord(Preroll));
            output.Add(RenderDWord(Flags));
            output.Add(RenderDWord(MinimumDataPacketSize));
            output.Add(RenderDWord(MaximumDataPacketSize));
            output.Add(RenderDWord(MaximumBitrate));

            return(Render(output));
        }