Example #1
0
    def test_remove(self):
        jbuffer = JitterBuffer(capacity=4)

        jbuffer.add(b'0001', sequence_number=1, timestamp=1234)
        jbuffer.add(b'0002', sequence_number=2, timestamp=1234)
        jbuffer.add(b'0003', sequence_number=3, timestamp=1234)
        jbuffer.add(b'0004', sequence_number=4, timestamp=1234)

        # remove 1 frame
        frames = jbuffer.remove(1)
        self.assertEqual(len(frames), 1)
        self.assertEqual(frames[0].sequence_number, 1)

        # check buffer
        self.assertEqual(jbuffer._head, 1)
        self.assertEqual(jbuffer._origin, 2)
        self.assertIsNone(jbuffer._frames[0])
        self.assertIsNotNone(jbuffer._frames[1])
        self.assertIsNotNone(jbuffer._frames[2])
        self.assertIsNotNone(jbuffer._frames[3])

        # remove 2 frames
        frames = jbuffer.remove(2)
        self.assertEqual(len(frames), 2)
        self.assertEqual(frames[0].sequence_number, 2)
        self.assertEqual(frames[1].sequence_number, 3)

        # check buffer
        self.assertEqual(jbuffer._head, 3)
        self.assertEqual(jbuffer._origin, 4)
        self.assertIsNone(jbuffer._frames[0])
        self.assertIsNone(jbuffer._frames[1])
        self.assertIsNone(jbuffer._frames[2])
        self.assertIsNotNone(jbuffer._frames[3])
Example #2
0
    def test_remove(self):
        jbuffer = JitterBuffer(capacity=4)

        jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234))
        jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234))
        jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234))
        jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234))
        self.assertEqual(jbuffer._origin, 0)
        self.assertPackets(jbuffer, [0, 1, 2, 3])

        # remove 1 packet
        jbuffer.remove(1)
        self.assertEqual(jbuffer._origin, 1)
        self.assertPackets(jbuffer, [None, 1, 2, 3])

        # remove 2 packets
        jbuffer.remove(2)
        self.assertEqual(jbuffer._origin, 3)
        self.assertPackets(jbuffer, [None, None, None, 3])