[Asterisk-code-review] Revert "Revert "res_rtp_asterisk: Resolve loop when receive buffer is... (asterisk[certified/16.8])

Friendly Automation asteriskteam at digium.com
Thu Apr 30 09:59:33 CDT 2020


Friendly Automation has submitted this change. ( https://gerrit.asterisk.org/c/asterisk/+/14373 )

Change subject: Revert "Revert "res_rtp_asterisk: Resolve loop when receive buffer is flushed""
......................................................................

Revert "Revert "res_rtp_asterisk: Resolve loop when receive buffer is flushed""

This reverts commit a75317ce247b913d1cb92b9ffa47a49aa56b172a.

Reason for revert: This will be merged once 16.8-cert1 is released.

Change-Id: Ic2f4dbb19c5756fabe71b9e35c5a924214f5af08
---
M res/res_rtp_asterisk.c
1 file changed, 8 insertions(+), 0 deletions(-)

Approvals:
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit



diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index a5b7106..e3f4e54 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -7734,6 +7734,14 @@
 					ast_debug(2, "Inserted just received packet with sequence number '%d' in correct order on RTP instance '%p'\n",
 						seqno, instance);
 				}
+				/* It is possible due to packet retransmission for this packet to also exist in the receive
+				 * buffer so we explicitly remove it in case this occurs, otherwise the receive buffer will
+				 * never be empty.
+				 */
+				payload = (struct ast_rtp_rtcp_nack_payload *)ast_data_buffer_remove(rtp->recv_buffer, seqno);
+				if (payload) {
+					ast_free(payload);
+				}
 				rtp->expectedrxseqno++;
 				if (rtp->expectedrxseqno == SEQNO_CYCLE_OVER) {
 					rtp->expectedrxseqno = 0;

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/14373
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: certified/16.8
Gerrit-Change-Id: Ic2f4dbb19c5756fabe71b9e35c5a924214f5af08
Gerrit-Change-Number: 14373
Gerrit-PatchSet: 2
Gerrit-Owner: Joshua Colp <jcolp at sangoma.com>
Gerrit-Reviewer: Benjamin Keith Ford <bford at digium.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at sangoma.com>
Gerrit-Reviewer: nappsoft <infos at nappsoft.ch>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20200430/44cfbb27/attachment.html>


More information about the asterisk-code-review mailing list