From: Torrey Searle Date: Tue, 12 Feb 2019 09:50:55 +0000 (+0100) Subject: res/res_rtp_asterisk: clear smoother when local bridging X-Git-Tag: 13.26.0-rc1~53^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c17bc75ed43ac5015b920f38588965f41a69cb5;p=thirdparty%2Fasterisk.git 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 --- diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 77eba21384..8fc52a0e4b 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -6153,6 +6153,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;