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])
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])