rtpjitterbuffer: improved rtx-rtt averaging
authorHavard Graff <havard.graff@gmail.com>
Thu, 11 Aug 2016 21:07:44 +0000 (23:07 +0200)
committerOlivier CrĂȘte <olivier.crete@collabora.com>
Wed, 14 Sep 2016 23:37:50 +0000 (19:37 -0400)
commitf440b074b1b4054c6506ee6fd9f898d7925b1fb0
tree4fd6267a298f7d0aff967982581dc4b3b49be3fe
parentf8238f0a9f927cbfa57720b599e56535ad6c3d25
rtpjitterbuffer: improved rtx-rtt averaging

The basic idea is this:
1. For *larger* rtx-rtt, weigh a new measurement as before
2. For *smaller* rtx-rtt, be a bit more conservative and weigh a bit less
3. For very large measurements, consider them "outliers"
   and count them a lot less

The idea being that reducing the rtx-rtt is much more harmful then
increasing it, since we don't want to be underestimating the rtt of the
network, and when using this number to estimate the latency you need for
you jitterbuffer, you would rather want it to be a bit larger then a bit
smaller, potentially losing rtx-packets. The "outlier-detector" is there
to prevent a single skewed measurement to affect the outcome too much.
On wireless networks, these are surprisingly common.

https://bugzilla.gnome.org/show_bug.cgi?id=769768
gst/rtpmanager/gstrtpjitterbuffer.c
tests/check/elements/rtpjitterbuffer.c