def write(self, previous=None): """ Write (encoder) header to byte string. @param previous: previous header (used to compress header) @type previous: L{RTMPHeader} @return: encoded header @rtype: C{str} """ if previous is None: diff = 3 else: diff = self.diff(previous) first = self.object_id & 0x3F | ((diff ^ 3) << 6) if diff == 0: return chr(first) buf = BufferedByteStream() buf.write_uchar(first) buf.write_24bit_uint(self.timestamp) if diff > 1: buf.write_24bit_uint(self.length) buf.write_uchar(self.type) if diff > 2: buf.write_ulong(self.stream_id) buf.seek(0, 0) return buf.read()
def write(self, previous=None): """ Write (encoder) header to byte string. @param previous: previous header (used to compress header) @type previous: L{RTMPHeader} @return: encoded header @rtype: C{str} """ if previous is None: diff = 3 else: diff = self.diff(previous) first = self.object_id & 0x3f | ((diff ^ 3) << 6) if diff == 0: return chr(first) buf = BufferedByteStream() buf.write_uchar(first) buf.write_24bit_uint(self.timestamp) if diff > 1: buf.write_24bit_uint(self.length) buf.write_uchar(self.type) if diff > 2: buf.write_ulong(self.stream_id) buf.seek(0, 0) return buf.read()
def write(self): """ Encode packet into bytes. @return: representation of packet @rtype: C{str} """ buf = BufferedByteStream() buf.write_ulong(self.bytes) self.header.length = len(buf) buf.seek(0, 0) return buf.read()