// Writer audio or video packet void FLV::write(BinaryWriter& writer,UInt8 track,UInt32 time,const UInt8* data,UInt32 size) { /// 11 bytes of header writer.write8(track&AUDIO ? AMF::AUDIO : AMF::VIDEO); // size on 3 bytes writer.write24(size); // time on 3 bytes writer.write24(time); // unknown 4 bytes set to 0 writer.write32(0); /// playload writer.writeRaw(data, size); /// footer writer.write32(11+size); }
void FlowWriter::writeResponseHeader(BinaryWriter& writer,const string& name,double callbackHandle) { writer.write8(Message::AMF_WITH_HANDLER);writer.write32(0); writer.write8(AMF_STRING);writer.writeString16(name); writer.write8(AMF_NUMBER); // marker writer << callbackHandle; writer.write8(AMF_NULL); }