aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-01 18:57:10 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-01 18:57:10 +0000
commit3facfd8cd25ac0f7ac4eb10ffd11fd1481106ac4 (patch)
tree1fed8c8510070f3880ce0200bd785a257b817dcc /main
parent99355c0ba46364c365629eaba70c0ef86227222a (diff)
Unbridge the RTP streams at the correct place
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41735 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/rtp.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 4656be908..dcdd745a0 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -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;
}