def test_padding_only_with_header_extensions(self): extensions_map = rtp.HeaderExtensionsMap() extensions_map.configure( RTCRtpParameters(headerExtensions=[ RTCRtpHeaderExtensionParameters( id=2, uri= "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time", ) ])) data = load("rtp_only_padding_with_header_extensions.bin") packet = RtpPacket.parse(data, extensions_map) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 98) self.assertEqual(packet.sequence_number, 22138) self.assertEqual(packet.timestamp, 3171065731) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions(abs_send_time=15846540)) self.assertEqual(len(packet.payload), 0) self.assertEqual(packet.padding_size, 224) serialized = packet.serialize(extensions_map) self.assertEqual(len(serialized), len(data)) self.assertEqual(serialized[0:20], data[0:20]) self.assertEqual(serialized[-1], data[-1])
def test_with_csrc(self): data = load("rtp_with_csrc.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 0) self.assertEqual(packet.sequence_number, 16082) self.assertEqual(packet.timestamp, 144) self.assertEqual(packet.csrc, [2882400001, 3735928559]) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 160) self.assertEqual(packet.serialize(), data)
def test_dtmf(self): data = load("rtp_dtmf.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 1) self.assertEqual(packet.payload_type, 101) self.assertEqual(packet.sequence_number, 24152) self.assertEqual(packet.timestamp, 4021352124) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 4) self.assertEqual(packet.serialize(), data)
def test_no_ssrc(self): data = load('rtp.bin') packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 0) self.assertEqual(packet.sequence_number, 15743) self.assertEqual(packet.timestamp, 3937035252) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 160) self.assertEqual(packet.serialize(), data) self.assertEqual(repr(packet), 'RtpPacket(seq=15743, ts=3937035252, marker=0, payload=0, 160 bytes)')
def test_padding_only(self): data = load("rtp_only_padding.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 120) self.assertEqual(packet.sequence_number, 27759) self.assertEqual(packet.timestamp, 4044047131) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 0) self.assertEqual(packet.padding_size, 224) serialized = packet.serialize() self.assertEqual(len(serialized), len(data)) self.assertEqual(serialized[0:12], data[0:12]) self.assertEqual(serialized[-1], data[-1])
def test_with_sdes_mid(self): extensions_map = rtp.HeaderExtensionsMap() extensions_map.configure( RTCRtpParameters(headerExtensions=[ RTCRtpHeaderExtensionParameters( id=9, uri="urn:ietf:params:rtp-hdrext:sdes:mid") ])) data = load("rtp_with_sdes_mid.bin") packet = RtpPacket.parse(data, extensions_map) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 1) self.assertEqual(packet.payload_type, 111) self.assertEqual(packet.sequence_number, 14156) self.assertEqual(packet.timestamp, 1327210925) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions(mid="0")) self.assertEqual(len(packet.payload), 54) self.assertEqual(packet.serialize(extensions_map), data)