gstreamer/gst/rtpmanager
Havard Graff 8f7962e1c3 rtpjitterbuffer: Fix stall when receiving already lost packet
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
2016-05-06 14:32:42 +03:00
..
gstrtpbin.c rtpjitterbuffer: Add RFC7273 media clock handling 2016-04-03 11:24:34 +03:00
gstrtpbin.h rtpjitterbuffer: Add RFC7273 media clock handling 2016-04-03 11:24:34 +03:00
gstrtpdtmfmux.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtpdtmfmux.h rtpmux: Fix FSF address 2012-12-16 16:36:39 +00:00
gstrtpjitterbuffer.c rtpjitterbuffer: Fix stall when receiving already lost packet 2016-05-06 14:32:42 +03:00
gstrtpjitterbuffer.h rtpjitterbuffer: small optimizations 2014-04-29 16:21:44 +02:00
gstrtpmanager.c rtpmanager: add new rtprtxsend / rtprtxreceive elements 2014-01-03 20:47:59 +01:00
gstrtpmux.c rtpmux: Forward sticky events on buffer lists too, not only on buffers 2016-04-12 15:22:14 +03:00
gstrtpmux.h rtpmux: As 0xFFFFFFFF is a valid ssrc, check if it has been set 2015-10-02 17:39:10 -04:00
gstrtpptdemux.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtpptdemux.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstrtprtxqueue.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtprtxqueue.h rtxqueue: add property to configure queue size 2013-08-23 15:47:25 +02:00
gstrtprtxreceive.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtprtxreceive.h rtprtxreceive: Wait until timeout to clear association requests 2014-05-04 22:36:59 -04:00
gstrtprtxsend.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtprtxsend.h rtprtxsend: run a new GstTask on the src pad 2014-01-21 14:54:01 +01:00
gstrtpsession.c rtpmanager: Set to initial value for 'ntpns' in get_current_times() 2016-03-29 10:21:07 +03:00
gstrtpsession.h rtpmanager: add new on-new-sender-ssrc, on-sender-ssrc-active signals 2015-10-02 16:39:29 +03:00
gstrtpssrcdemux.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtpssrcdemux.h rtpssrcdemux: Remove unused GstSegment 2013-04-02 23:42:41 -04:00
Makefile.am rtpmanager: It's GST_LIBS, not GST_LIBS_LIBS 2016-04-11 10:44:56 +03:00
rtpjitterbuffer.c rtpjitterbuffer: Fix debug output when resyncing 2016-04-15 14:35:07 +00:00
rtpjitterbuffer.h rtpjitterbuffer: Add RFC7273 media clock handling 2016-04-03 11:24:34 +03:00
rtpsession.c rtpsession: Take session lock when creating stats 2016-05-06 09:24:22 +03:00
rtpsession.h rtpsession: Add new signal 'on-app-rtcp' 2016-03-30 15:42:01 +03:00
rtpsource.c rtpmanager: Some comment and documentation clarifications/fixes 2016-03-15 09:32:47 +00:00
rtpsource.h rtpmanager: Take into account packet rate for max-dropout and max-misorder calculations 2015-10-07 12:07:18 +01:00
rtpstats.c rtpmanager: Take into account packet rate for max-dropout and max-misorder calculations 2015-10-07 12:07:18 +01:00
rtpstats.h rtpmanager: Take into account packet rate for max-dropout and max-misorder calculations 2015-10-07 12:07:18 +01:00