aboutsummaryrefslogtreecommitdiffstats
path: root/main/rtp.c
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-05 22:32:10 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-05 22:32:10 +0000
commit277beb94a0f5aa85eeb0603f6d11319cce02c3cd (patch)
tree32a4e75de52a4d00eb32bb5917c271f775d0743e /main/rtp.c
parent1de0d5b8308435068cf5a04314bfd98cc712c8ee (diff)
Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things.
(closes issue #12148) Reported by: jcomellas git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@106235 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/rtp.c')
-rw-r--r--main/rtp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 6578c400e..b5864f916 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -2968,7 +2968,8 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct
} else if ((fr->frametype == AST_FRAME_CONTROL) && !(flags & AST_BRIDGE_IGNORE_SIGS)) {
if ((fr->subclass == AST_CONTROL_HOLD) ||
(fr->subclass == AST_CONTROL_UNHOLD) ||
- (fr->subclass == AST_CONTROL_VIDUPDATE)) {
+ (fr->subclass == AST_CONTROL_VIDUPDATE) ||
+ (fr->subclass == AST_CONTROL_SRCUPDATE)) {
if (fr->subclass == AST_CONTROL_HOLD) {
/* If we someone went on hold we want the other side to reinvite back to us */
if (who == c0)
@@ -3199,7 +3200,8 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast
} else if ((fr->frametype == AST_FRAME_CONTROL) && !(flags & AST_BRIDGE_IGNORE_SIGS)) {
if ((fr->subclass == AST_CONTROL_HOLD) ||
(fr->subclass == AST_CONTROL_UNHOLD) ||
- (fr->subclass == AST_CONTROL_VIDUPDATE)) {
+ (fr->subclass == AST_CONTROL_VIDUPDATE) ||
+ (fr->subclass == AST_CONTROL_SRCUPDATE)) {
/* If we are going on hold, then break callback mode and P2P bridging */
if (fr->subclass == AST_CONTROL_HOLD) {
if (p0_callback)