From 8ea9608efbecd42ab1c9cb8234be6765d18b0774 Mon Sep 17 00:00:00 2001
From: Torrey Searle <torrey@voxbone.com>
Date: Tue, 12 Feb 2019 10:50:55 +0100
Subject: [PATCH] res/res_rtp_asterisk: clear smoother when local bridging

p2p_write updates txformat but doesn't require a smoother.  If a smoother
was created by another bridge type the smoother could fall out of date causing
one way audio issues.  To prevent this the smoother is now destroyed on the
start of native bridge.

ASTERISK-28284 #close

Change-Id: I84e67f144963787fff9b4d79ac500514fb40cdc6
---
 res/res_rtp_asterisk.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index 9e603f2fb5..c2064972e2 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -7480,6 +7480,10 @@ static int ast_rtp_local_bridge(struct ast_rtp_instance *instance0, struct ast_r
 
 	ao2_lock(instance0);
 	ast_set_flag(rtp, FLAG_NEED_MARKER_BIT | FLAG_REQ_LOCAL_BRIDGE_BIT);
+	if (rtp->smoother) {
+		ast_smoother_free(rtp->smoother);
+		rtp->smoother = NULL;
+	}
 	ao2_unlock(instance0);
 
 	return 0;
-- 
GitLab