]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_rtp_asterisk: Improve video performance in certain networks.
authorJoshua C. Colp <jcolp@sangoma.com>
Thu, 20 Feb 2020 17:33:42 +0000 (17:33 +0000)
committerJoshua Colp <jcolp@sangoma.com>
Tue, 3 Mar 2020 10:53:15 +0000 (04:53 -0600)
commit029c3e49d40250f083696512e661edd88dbc2e30
treea8ea5e12fc5db69252e19f50b2306387df0e1a25
parentc07ed4e651108475a2597df122ec7102ddef90c4
res_rtp_asterisk: Improve video performance in certain networks.

The receive buffer will now grow if we end up flushing the
receive queue after not receiving the expected packet in time.
This is done in hopes that if this is encountered again the
extra buffer size will allow more time to pass and any missing
packets to be received.

The send buffer will now grow if we are asked for packets and
can't find them. This is done in hopes that the packets are
from the past and have simply been expired. If so then in
the future with the extra buffer space the packets should be
available.

Sequence number cycling has been handled so that the
correct sequence number is calculated and used in
various places, including for sorting packets and
for determining if a packet is old or not.

NACK sending is now more aggressive. If a substantial number
of missing sequence numbers are added a NACK will be sent
immediately. Afterwards once the receive buffer reaches 25%
a single NACK is sent. If the buffer continues to grow and
reaches 50% or greater a NACK will be sent for each received
future packet to aggressively ask the remote endpoint to
retransmit.

ASTERISK-28764

Change-Id: I97633dfa8a09a7889cef815b2be369f3f0314b41
res/res_rtp_asterisk.c