summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_vid.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2014-02-19 04:11:43 +0000
committerBenny Prijono <bennylp@teluu.com>2014-02-19 04:11:43 +0000
commit7c7dd8a6151a607ac7fda3da0a657fddd07be8d1 (patch)
tree96398ce995f9af19d04c35c6f85cf3efaf8d1b19 /pjsip/src/pjsua-lib/pjsua_vid.c
parentf9317b810877c3cab6bda8ea07dc94eb3ecb7c20 (diff)
Fixed #1738: Infinite loop when re-INVITE is received while adding new media
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4750 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_vid.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_vid.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c
index 0096acab..026942d1 100644
--- a/pjsip/src/pjsua-lib/pjsua_vid.c
+++ b/pjsip/src/pjsua-lib/pjsua_vid.c
@@ -1535,6 +1535,11 @@ static pj_status_t call_add_video(pjsua_call *call,
if (call->med_cnt == PJSUA_MAX_CALL_MEDIA)
return PJ_ETOOMANY;
+ if (pjsua_call_media_is_changing(call)) {
+ PJ_LOG(1,(THIS_FILE, "Unable to add video" ERR_MEDIA_CHANGING));
+ return PJ_EINVALIDOP;
+ }
+
/* Get active local SDP and clone it */
status = pjmedia_sdp_neg_get_active_local(call->inv->neg, &current_sdp);
if (status != PJ_SUCCESS)
@@ -1636,6 +1641,11 @@ static pj_status_t call_modify_video(pjsua_call *call,
pjmedia_sdp_session *sdp;
pj_status_t status;
+ if (pjsua_call_media_is_changing(call)) {
+ PJ_LOG(1,(THIS_FILE, "Unable to modify video" ERR_MEDIA_CHANGING));
+ return PJ_EINVALIDOP;
+ }
+
/* Verify and normalize media index */
if (med_idx == -1) {
int first_active;