Commit edcc5be2 authored by Sebastian Dröge's avatar Sebastian Dröge

rtpjitterbuffer: When request retransmissions for future packets, consider the...

rtpjitterbuffer: When request retransmissions for future packets, consider the packet spacing in the extra delay

We now take the maximum of 2*jitter and 0.5*packet_spacing for the extra
delay. If jitter is very low, this should prevent unnecessary retransmission
requests to some degree.

https://bugzilla.gnome.org/show_bug.cgi?id=748041
parent 3fe8ceff
......@@ -1889,11 +1889,13 @@ get_rtx_delay (GstRtpJitterBufferPrivate * priv)
GstClockTime delay;
if (priv->rtx_delay == -1) {
if (priv->avg_jitter == 0)
if (priv->avg_jitter == 0 && priv->packet_spacing == 0) {
delay = DEFAULT_AUTO_RTX_DELAY;
else
/* jitter is in nanoseconds, 2x jitter is a good margin */
delay = priv->avg_jitter * 2;
} else {
/* jitter is in nanoseconds, maximum of 2x jitter and half the
* packet spacing is a good margin */
delay = MAX (priv->avg_jitter * 2, priv->packet_spacing / 2);
}
} else {
delay = priv->rtx_delay * GST_MSECOND;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment