• Håvard Graff's avatar
    rtpjitterbuffer: Fix stall when receiving already lost packet · 8f7962e1
    Håvard Graff authored
    When a packet arrives that has already been considered lost as part of a
    large gap the "lost timer" for this will be cancelled. If the remaining
    packets of this large gap never arrives, there will be missing entries
    in the queue and the loop function will keep waiting for these packets
    to arrive and never push another packet, effectively stalling the
    pipeline.
    
    The proposed fix conciders parts of a large gap definitely lost (since
    they are calculated from latency) and ignores the late arrivals.
    
    In practice the issue is rare since large gaps are scheduled immediately,
    and for the stall to happen the late arrival needs to be processed
    before this times out.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=765933
    8f7962e1
gstrtpjitterbuffer.c 136 KB