gstreamer/gst
Stian Selnes 38a7545003 rtpjitterbuffer: Major improvements for RTX stats
Stats should also be collected for unsuccessful packets.

rtx-rtt is very important for determining the necessary configured
latency on the jitterbuffer. It's especially important to be able to
increase the latency when retransmitted packets arrive too late and are
considered lost. This patch includes these late packets in the
calculation of the various rtx stats, making them more correct and
useful.

Also in the case where the original packet arrives after a NACK is sent,
the received RTX packet should update the stats since it provides useful
information about RTT.

The RTT is only updated if and only if all requested retranmissions are
received. That way the RTT is guaranteed to make sense. If not we don't
know which request the packet is a response to and the RTT may be bogus.
A consequence of this patch is that RTT is not updated for a request
when one of the RTX packets for that seqnum is lost, but that since
measured RTT will be more accurate.

The implementation store the RTX information from the timed out timers
and use this when the retransmitted packet arrives. For performance
these timers are stored separately from the "normal" timers in order to
not impact performance (see attached performance test).

https://bugzilla.gnome.org/show_bug.cgi?id=769768
2016-09-14 19:37:50 -04:00
..
alpha Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
apetag Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
audiofx Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
audioparsers aacparse: parse a bit more of the humongous LOAS data 2016-09-06 15:09:21 +01:00
auparse Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
autodetect autodetect: Use gst_bin_set_suppressed_flags() API 2016-09-14 11:24:08 +02:00
avi Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
cutter Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
debugutils Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
deinterlace deinterlace: Fix field ordering for reverse playback 2016-09-12 20:09:23 +02:00
dtmf Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
effectv Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
equalizer Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
flv Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
flx Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
goom Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
goom2k1 Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
icydemux Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
id3demux Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
imagefreeze Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
interleave Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
isomp4 qtdemux: offset is irrelevant when no crypto info 2016-09-10 11:29:55 +03:00
law Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
level Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
matroska Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
monoscope Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
multifile Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
multipart Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
replaygain Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
rtp rtph263pay: Fix double free from coverity 2016-09-14 11:18:44 -04:00
rtpmanager rtpjitterbuffer: Major improvements for RTX stats 2016-09-14 19:37:50 -04:00
rtsp Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
shapewipe Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
smpte Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
spectrum Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
udp udpsrc: Fix compilation on NetBSD 2016-09-12 15:09:26 +02:00
videobox Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
videocrop Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
videofilter videoflip: added GstVideoDirection interface 2016-08-25 10:16:00 +03:00
videomixer Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
wavenc Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
wavparse Use the new API to post flow ERROR messages on the bus 2016-08-26 19:23:26 -03:00
y4m Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00
Makefile.am build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-20 11:21:12 +01:00