summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_vid.c
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2011-12-01 09:06:14 +0000
committerNanang Izzuddin <nanang@teluu.com>2011-12-01 09:06:14 +0000
commitfb7ffe37b9ca728f0d3f6bf57b937e114d2f9161 (patch)
treebf3d2bd71b21ee29d72fd4bb99af186d8b18f064 /pjsip/src/pjsua-lib/pjsua_vid.c
parent9ad8beaa148c78e04a2aac3c5ad6d85567d31b01 (diff)
Re #1419, implement media count manipulation per call basis:
- moved the media count setting from account setting to call setting - introduced pjsua_call_setting, to be used by pjsua_call_make_call() and some new APIs: pjsua_call_answer2(), pjsua_call_reinvite2(), pjsua_call_update2() git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3891 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_vid.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_vid.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c
index 38b77f22..81b943e1 100644
--- a/pjsip/src/pjsua-lib/pjsua_vid.c
+++ b/pjsip/src/pjsua-lib/pjsua_vid.c
@@ -1312,6 +1312,10 @@ PJ_DEF(pj_status_t) pjsua_vid_win_set_show( pjsua_vid_win_id wid,
return PJ_EINVAL;
}
+ /* Make sure that renderer gets started before shown up */
+ if (show && !pjmedia_vid_port_is_running(w->vp_rend))
+ status = pjmedia_vid_port_start(w->vp_rend);
+
hide = !show;
status = pjmedia_vid_dev_stream_set_cap(s,
PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE, &hide);
@@ -1540,17 +1544,12 @@ static pj_status_t call_add_video(pjsua_call *call,
pjmedia_sdp_session *sdp;
pjmedia_sdp_media *sdp_m;
pjmedia_transport_info tpinfo;
- unsigned active_cnt;
pj_status_t status;
/* Verify media slot availability */
if (call->med_cnt == PJSUA_MAX_CALL_MEDIA)
return PJ_ETOOMANY;
- call_get_vid_strm_info(call, NULL, NULL, &active_cnt, NULL);
- if (active_cnt == acc_cfg->max_video_cnt)
- return PJ_ETOOMANY;
-
/* Get active local SDP and clone it */
status = pjmedia_sdp_neg_get_active_local(call->inv->neg, &current_sdp);
if (status != PJ_SUCCESS)
@@ -1617,6 +1616,8 @@ static pj_status_t call_add_video(pjsua_call *call,
if (status != PJ_SUCCESS)
goto on_error;
+ call->opt.video_cnt++;
+
return PJ_SUCCESS;
on_error:
@@ -1758,6 +1759,7 @@ on_error:
/* Deactivate the stream */
pjmedia_sdp_media_deactivate(pool, sdp->media[med_idx]);
+ call->opt.video_cnt--;
}
status = call_reoffer_sdp(call->index, sdp);