From 110117d73d7d0374f26a1336eee196692a7fe182 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Tue, 12 Jun 2012 08:27:52 +0000 Subject: Close #1534: done. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4164 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_call.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'pjsip/src/pjsua-lib/pjsua_call.c') diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 460c269e..ccc06538 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -1614,7 +1614,7 @@ PJ_DEF(pj_status_t) pjsua_call_get_info( pjsua_call_id call_id, info->rem_vid_cnt = call->rem_vid_cnt; } - /* Build array of media status and dir */ + /* Build array of active media info */ info->media_cnt = 0; for (mi=0; mi < call->med_cnt && info->media_cnt < PJ_ARRAY_SIZE(info->media); ++mi) @@ -1651,6 +1651,36 @@ PJ_DEF(pj_status_t) pjsua_call_get_info( pjsua_call_id call_id, info->conf_slot = call->media[call->audio_idx].strm.a.conf_slot; } + /* Build array of provisional media info */ + info->prov_media_cnt = 0; + for (mi=0; mi < call->med_prov_cnt && + info->prov_media_cnt < PJ_ARRAY_SIZE(info->prov_media); ++mi) + { + pjsua_call_media *call_med = &call->media_prov[mi]; + + info->prov_media[info->prov_media_cnt].index = mi; + info->prov_media[info->prov_media_cnt].status = call_med->state; + info->prov_media[info->prov_media_cnt].dir = call_med->dir; + info->prov_media[info->prov_media_cnt].type = call_med->type; + if (call_med->type == PJMEDIA_TYPE_AUDIO) { + info->prov_media[info->prov_media_cnt].stream.aud.conf_slot = + call_med->strm.a.conf_slot; + } else if (call_med->type == PJMEDIA_TYPE_VIDEO) { + pjmedia_vid_dev_index cap_dev = PJMEDIA_VID_INVALID_DEV; + + info->prov_media[info->prov_media_cnt].stream.vid.win_in = + call_med->strm.v.rdr_win_id; + + if (call_med->strm.v.cap_win_id != PJSUA_INVALID_ID) { + cap_dev = call_med->strm.v.cap_dev; + } + info->prov_media[info->prov_media_cnt].stream.vid.cap_dev=cap_dev; + } else { + continue; + } + ++info->prov_media_cnt; + } + /* calculate duration */ if (info->state >= PJSIP_INV_STATE_DISCONNECTED) { -- cgit v1.2.3