rtpsession: Always keep at least one NACK on early RTCP
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 14 May 2019 21:36:14 +0000 (17:36 -0400)
committerTim-Philipp Müller <tim@centricular.com>
Wed, 7 Aug 2019 12:54:54 +0000 (13:54 +0100)
commit0d77e9721deea47256cf800db58bf119f3c53786
treed448cdc82bbe6aa1eafc144b921137c97895e243
parent67b5edfebbc46893eae578ace518abfdaac8e3c7
rtpsession: Always keep at least one NACK on early RTCP

We recently added code to remove outdate NACK to avoid using bandwidth
for packet that have no chance of arriving on time. Though, this had a
side effect, which is that it was to get an early RTCP packet with no
feedback into it. This was pretty useless but also had a side effect,
which is that the RTX RTT value would never be updated. So we we stared
having late RTX request due to high RTT, we'd never manage to recover.

This fixes the regression by making sure we keep at least one NACK in
this situation. This is really light on the bandwidth and allow for
quick recover after the RTT have spiked higher then the jitterbuffer
capacity.
gst/rtpmanager/rtpsession.c
tests/check/elements/rtpsession.c