Unbridge the RTP streams at the correct place

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2006-09-01 18:57:10 +00:00
parent 0be2884d80
commit f912c9e69f

View File

@@ -159,7 +159,7 @@ struct ast_rtp {
int rtp_lookup_code_cache_code;
int rtp_lookup_code_cache_result;
struct ast_rtcp *rtcp;
struct ast_rtp *bridged; /*!< Who we are Packet briged to */
struct ast_rtp *bridged; /*!< Who we are Packet bridged to */
};
/* Forward declarations */
@@ -2967,13 +2967,6 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast
*rc = who;
if (option_debug)
ast_log(LOG_DEBUG, "Oooh, got a %s\n", fr ? "digit" : "hangup");
/* Break out of the bridge */
p0->bridged = NULL;
p1->bridged = NULL;
if (vp0) {
vp0->bridged = NULL;
vp1->bridged = NULL;
}
res = AST_BRIDGE_COMPLETE;
break;
} else if ((fr->frametype == AST_FRAME_CONTROL) && !(flags & AST_BRIDGE_IGNORE_SIGS)) {
@@ -3021,6 +3014,14 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast
if (p1_callback)
p1_callback = p2p_callback_disable(c1, p1, &p1_fds[0], &p1_iod[0]);
/* Break out of the direct bridge */
p0->bridged = NULL;
p1->bridged = NULL;
if (vp0) {
vp0->bridged = NULL;
vp1->bridged = NULL;
}
return res;
}