diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2011-07-19 11:11:07 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2011-07-19 11:11:07 +0000 |
commit | b32c80d0cfc7b47fc344f8e5873771f803fbeb4d (patch) | |
tree | e7925fd23ad577103b9d7a90dc2fb090a89c6b63 /pjsip/src/pjsua-lib/pjsua_acc.c | |
parent | 262defe8ad75325065fd64ea5d3a03a59c5f3039 (diff) |
Fixed #1271: protected all video features with PJMEDIA_HAS_VIDEO macro setting.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3667 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_acc.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_acc.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_acc.c b/pjsip/src/pjsua-lib/pjsua_acc.c index 6947c1aa..98fe5cd8 100644 --- a/pjsip/src/pjsua-lib/pjsua_acc.c +++ b/pjsip/src/pjsua-lib/pjsua_acc.c @@ -382,6 +382,13 @@ PJ_DEF(pj_status_t) pjsua_acc_add( const pjsua_acc_config *cfg, /* Must have a transport */ PJ_ASSERT_RETURN(pjsua_var.tpdata[0].data.ptr != NULL, PJ_EINVALIDOP); + /* Verify media count */ +#if !defined(PJMEDIA_HAS_VIDEO) || (PJMEDIA_HAS_VIDEO == 0) + PJ_ASSERT_RETURN(cfg->max_video_cnt == 0, PJ_EINVAL); +#endif + PJ_ASSERT_RETURN(cfg->max_audio_cnt + cfg->max_video_cnt <= + PJSUA_MAX_CALL_MEDIA, PJ_ETOOMANY); + PJSUA_LOCK(); /* Find empty account id. */ @@ -641,6 +648,14 @@ PJ_DEF(pj_status_t) pjsua_acc_modify( pjsua_acc_id acc_id, PJ_ASSERT_RETURN(acc_id>=0 && acc_id<(int)PJ_ARRAY_SIZE(pjsua_var.acc), PJ_EINVAL); + /* Verify media count */ +#if !defined(PJMEDIA_HAS_VIDEO) || (PJMEDIA_HAS_VIDEO == 0) + PJ_ASSERT_RETURN(cfg->max_video_cnt == 0, PJ_EINVAL); +#endif + PJ_ASSERT_RETURN(cfg->max_audio_cnt + cfg->max_video_cnt <= + PJSUA_MAX_CALL_MEDIA, PJ_ETOOMANY); + + PJSUA_LOCK(); acc = &pjsua_var.acc[acc_id]; |