• Håvard Graff's avatar
    rtpjitterbuffer: fix timer-reuse bug · 1a4393fb
    Håvard Graff authored
    When doing rtx, the jitterbuffer will always add an rtx-timer for the next
    sequence number.
    
    In the case of the packet corresponding to that sequence number arriving,
    that same timer will be reused, and simply moved on to wait for the
    following sequence number etc.
    
    Once an rtx-timer expires (after all retries), it will be rescheduled as
    a lost-timer instead for the same sequence number.
    
    Now, if this particular sequence-number now arrives (after the timer has
    become a lost-timer), the reuse mechanism *should* now set a new
    rtx-timer for the next sequence number, but the bug is that it does
    not change the timer-type, and hence schedules a lost-timer for that
    following sequence number, with the result that you will have a very
    early lost-event for a packet that might still arrive, and you will
    never be able to send any rtx for this packet.
    
    Found by Erlend Graff - erlend@pexip.com
    
    https://bugzilla.gnome.org/show_bug.cgi?id=773891
    1a4393fb
rtpjitterbuffer.c 97.4 KB