gstreamer/gst/rtpmanager
Havard Graff 5dacf366c0 rtpjitterbuffer: immediately insert a lost-event on multiple lost packets
There is a problem with the code today, where a single timer will
be scheduled for a series of lost packets, and then if the first packet
in that series arrives, it will cause a rescheduling of that timer, going
from a "multi"-timer to a single-timer, causing a lot of the packets
in that timer to be unaccounted for, and creating a situation in where
the jitterbuffer will never again push out another packet.

This patch solves the problem by instead of scheduling those lost packets
as another timer, it instead asks to have that lost-event pushed straight
out.

This very much goes with the intent of the code here: These packets are
so desperately late that no cure exists, and we might as well get the
lost-event out of the way and get on with it.

This change has some interesting knock-on effect being presented in
later commits. It completely removes the concept of "already-lost", so
that is why that test has been disabled in this commit, to be
removed later.
2020-03-20 13:17:20 +00:00
..
gstrtpbin.c rtpbin: fix typo setting max-dropout/misorder-time 2020-02-20 13:46:06 +11:00
gstrtpbin.h rtpbin: add request-jitterbuffer signal 2019-09-24 15:33:21 +00:00
gstrtpdtmfmux.c docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
gstrtpdtmfmux.h rtpmux: Fix FSF address 2012-12-16 16:36:39 +00:00
gstrtpfunnel.c rtpfunnel: various cleanups 2020-02-14 10:08:05 +00:00
gstrtpfunnel.h rtpfunnel: Stop using G_DECLARE_FINAL_TYPE 2018-11-13 00:37:11 +01:00
gstrtpjitterbuffer.c rtpjitterbuffer: immediately insert a lost-event on multiple lost packets 2020-03-20 13:17:20 +00:00
gstrtpjitterbuffer.h rtpjitterbuffer: small optimizations 2014-04-29 16:21:44 +02:00
gstrtpmanager.c Initial commit of GstRtpFunnel 2018-10-15 14:20:58 +02:00
gstrtpmux.c docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
gstrtpmux.h doc: Fix some docstrings 2019-05-13 17:00:00 -04:00
gstrtpptdemux.c rtpptdemux: set payload to caps inside gst_rtp_pt_demux_get_caps 2020-02-11 18:39:22 +00:00
gstrtpptdemux.h documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
gstrtprtxqueue.c doc: fix element section documentations 2019-05-25 16:57:31 +02:00
gstrtprtxqueue.h rtprtxqueue: implement handling of the max-size-time property 2017-04-11 09:44:33 +03:00
gstrtprtxreceive.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
gstrtprtxreceive.h rtprtxreceive: Wait until timeout to clear association requests 2014-05-04 22:36:59 -04:00
gstrtprtxsend.c rtprtxsend: allow generic input caps 2020-01-28 15:44:13 +00:00
gstrtprtxsend.h rtprtxsend: allow generic input caps 2020-01-28 15:44:13 +00:00
gstrtpsession.c rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
gstrtpsession.h rtpsession: use the correct segment seqnum 2019-02-04 13:14:37 +00:00
gstrtpssrcdemux.c rtpssrcdemux: Handle RTCP APP packets 2020-02-11 15:12:07 +01:00
gstrtpssrcdemux.h rtpssrcdemux: introduce max-streams property 2020-02-11 15:10:12 +01:00
meson.build rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
rtpjitterbuffer.c rtpjitterbuffer: fix scaling from RTP-time to NTP-time 2020-01-29 12:05:07 +01:00
rtpjitterbuffer.h rtpjitterbuffer: Move item structure outside of the element 2019-09-27 13:02:16 -04:00
rtpsession.c rtptwcc: make RTPTWCCManager a GObject 2020-03-04 16:48:04 +01:00
rtpsession.h rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
rtpsource.c rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
rtpsource.h rtpsession: Send as many nack seqnum as possible 2019-04-05 14:53:09 +00:00
rtpstats.c rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
rtpstats.h rtpmanager: Google Transport-Wide Congestion Control RTP Extension 2020-02-14 10:09:02 +00:00
rtptimerqueue.c rtpjitterbuffer: Include string.h for memcpy() / memset() 2020-02-25 09:07:47 +00:00
rtptimerqueue.h rtpjittterbuffer: Port timers array to RtpTimerQueue 2019-09-27 17:34:04 -04:00
rtptwcc.c rtptwcc: make RTPTWCCManager a GObject 2020-03-04 16:48:04 +01:00
rtptwcc.h rtptwcc: make RTPTWCCManager a GObject 2020-03-04 16:48:04 +01:00