]> 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)
committerJoshua C. Colp <jcolp@digium.com>
Wed, 13 Feb 2019 14:48:55 +0000 (08:48 -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 77eba2138400f232959b3fad4b40d1d604f1d35d..8fc52a0e4b7818966812e5fd930e55c84cf57cfb 100644 (file)
@@ -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;