]> 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 C. Colp <jcolp@sangoma.com>
Tue, 3 Mar 2020 10:50:49 +0000 (06:50 -0400)
commitf295af447db656d14218f7b61c4bd7bd78d0b194
tree1cc2e63f0ff6aabdc89cf7aceedc7816f171a9a3
parentdd313ceda5b37ef928e0ec536b240ec0c152966f
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