void Listener::pushDataPacket(const string& name,PacketReader& packet) { // TODO create _dataWriter ?? if(_unbuffered) { UInt16 offset = name.size()+9; if(packet.position()>=offset) { packet.reset(packet.position()-offset); _writer.writeUnbufferedMessage(packet.current(),packet.available()); return; } WARN("Written unbuffered impossible, it requires %u head bytes available on PacketReader given",offset); } StreamCopier::copyStream(packet.stream(),_writer.writeAMFPacket(name).writer.stream()); }
void write(UInt32 time,PacketReader& data,bool unbuffered) { // if(_type==0x08) // time=0; /* if(_type==0x09) TRACE("Video timestamp : %u",_time) else TRACE("Audio timestamp : %u",_time);*/ if(unbuffered) { if(data.position()>=5) { data.reset(data.position()-5); PacketWriter writer(data.current(),5); writer.write8(_type); writer.write32(time); writeUnbufferedMessage(data.current(),data.available(),data.current(),5); return; } WARN("Written unbuffered impossible, it requires 5 head bytes available on PacketReader given"); } BinaryWriter& out = writeRawMessage(true); out.write8(_type); out.write32(time); StreamCopier::copyStream(data.stream(),out.stream()); }