]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res/res_rtp_asterisk: clear smoother when local bridging
authorTorrey Searle <torrey@voxbone.com>
Tue, 12 Feb 2019 09:50:55 +0000 (10:50 +0100)
committerTorrey Searle <tsearle@gmail.com>
Tue, 19 Feb 2019 07:37:20 +0000 (01:37 -0600)
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

index 9e603f2fb5621d59c7461de599fba1ffa27105f7..c2064972e2876a345ae7e51976effaac76e953d9 100644 (file)
@@ -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;