aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-14 22:05:03 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-14 22:05:03 +0000
commitc1472daa3557043ea53daddd95c171e3a256b8f3 (patch)
treed27bac3d983fd65d2604f295fcd5a40d512739f8 /channels
parent4566c6196db04bf0dbb8b6e6c9a2597fd79a9121 (diff)
Only keep the video RTP structure around if 1. Video support is enabled and 2. A video codec is enabled on the dialog
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@47628 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b46c9c04f..a8b8353fa 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2561,7 +2561,7 @@ static int create_addr_from_peer(struct sip_pvt *dialog, struct sip_peer *peer)
ast_copy_flags(&dialog->flags[0], &peer->flags[0], SIP_FLAGS_TO_COPY);
ast_copy_flags(&dialog->flags[1], &peer->flags[1], SIP_PAGE2_FLAGS_TO_COPY);
dialog->capability = peer->capability;
- if (!ast_test_flag(&dialog->flags[1], SIP_PAGE2_VIDEOSUPPORT) && dialog->vrtp) {
+ if ((!ast_test_flag(&dialog->flags[1], SIP_PAGE2_VIDEOSUPPORT) || !(dialog->capability & AST_FORMAT_VIDEO_MASK)) && dialog->vrtp) {
ast_rtp_destroy(dialog->vrtp);
dialog->vrtp = NULL;
}
@@ -8945,7 +8945,7 @@ static enum check_auth_result check_user_full(struct sip_pvt *p, struct sip_requ
p->t38.jointcapability &= p->t38.peercapability;
p->maxcallbitrate = user->maxcallbitrate;
/* If we do not support video, remove video from call structure */
- if (!ast_test_flag(&p->flags[1], SIP_PAGE2_VIDEOSUPPORT) && p->vrtp) {
+ if ((!ast_test_flag(&p->flags[1], SIP_PAGE2_VIDEOSUPPORT) || !(p->capability & AST_FORMAT_VIDEO_MASK)) && p->vrtp) {
ast_rtp_destroy(p->vrtp);
p->vrtp = NULL;
}
@@ -9065,7 +9065,7 @@ static enum check_auth_result check_user_full(struct sip_pvt *p, struct sip_requ
if (p->peercapability)
p->jointcapability &= p->peercapability;
p->maxcallbitrate = peer->maxcallbitrate;
- if (!ast_test_flag(&p->flags[1], SIP_PAGE2_VIDEOSUPPORT) && p->vrtp) {
+ if ((!ast_test_flag(&p->flags[1], SIP_PAGE2_VIDEOSUPPORT) || !(p->capability & AST_FORMAT_VIDEO_MASK)) && p->vrtp) {
ast_rtp_destroy(p->vrtp);
p->vrtp = NULL;
}