diff options
author | Benny Prijono <bennylp@teluu.com> | 2014-02-19 04:11:43 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2014-02-19 04:11:43 +0000 |
commit | 7c7dd8a6151a607ac7fda3da0a657fddd07be8d1 (patch) | |
tree | 96398ce995f9af19d04c35c6f85cf3efaf8d1b19 /pjsip/src/pjsua-lib/pjsua_vid.c | |
parent | f9317b810877c3cab6bda8ea07dc94eb3ecb7c20 (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.c | 10 |
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, ¤t_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; |