示例#1
0
    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])
示例#2
0
 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)
示例#3
0
 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)
示例#4
0
    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)')
示例#5
0
    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])
示例#6
0
    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)