From 01b781b4dcec27e1a5edee9fbbd0e77f456c791f 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