Closed yvvarun closed 5 years ago
Please can you elaborate?
Thank you.
the condition "if packet.sequence != (fec.snbase + ifec.offset) % RtpPacket.S_MASK" fails when packet.sequence is 65535. But 65535 is a valid sequence number.
The issue is that it is a mask that is applied so one should do a bitwise and "&" and not a modulo operation "%".
The line should read:
if packet.sequence != (fec.snbase + i*fec.offset) & RtpPacket.S_MASK:
This was the next problem I found after fixing #36.
The same issue (modulo operator instead of and) appears twice in generator.py
on line 220 and 229
shouldn't the check in base.py for packet.sequence (line 496) be: if packet.sequence != (fec.snbase + ifec.offset) % (RtpPacket.S_MASK + 1) instead of if packet.sequence != (fec.snbase + ifec.offset) % RtpPacket.S_MASK ?
the latter check fails when the packet sequence number is 65535