diff options
author | Benny Prijono <bennylp@teluu.com> | 2011-10-04 08:23:07 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2011-10-04 08:23:07 +0000 |
commit | 9dadde885bba819e5bdd2a51e219be669f02efd2 (patch) | |
tree | a92941f4b8cb304a16ab99bb89feb4b21fe12267 /pjsip/src | |
parent | cb646a2403e5e3bf84c2eb59c602f46fef11464e (diff) |
Added pjsua_call_vid_stream_is_running() and pjmedia_vid_stream_is_running() API (closes #1379)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3786 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_vid.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c index 0410260c..7ad73bbb 100644 --- a/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/pjsip/src/pjsua-lib/pjsua_vid.c @@ -2038,5 +2038,39 @@ PJ_DEF(int) pjsua_call_get_vid_stream_idx(pjsua_call_id call_id) } +/* + * Determine if video stream for the specified call is currently running + * for the specified direction. + */ +PJ_DEF(pj_bool_t) pjsua_call_vid_stream_is_running( pjsua_call_id call_id, + int med_idx, + pjmedia_dir dir) +{ + pjsua_call *call; + pjsua_call_media *call_med; + + PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, + PJ_EINVAL); + + /* Verify and normalize media index */ + if (med_idx == -1) { + med_idx = pjsua_call_get_vid_stream_idx(call_id); + } + + call = &pjsua_var.calls[call_id]; + PJ_ASSERT_RETURN(med_idx >= 0 && med_idx < call->med_cnt, PJ_EINVAL); + + call_med = &call->media[med_idx]; + + /* Verify if the stream is transmitting video */ + if (call_med->type != PJMEDIA_TYPE_VIDEO || (call_med->dir & dir) == 0 || + !call_med->strm.v.stream) + { + return PJ_FALSE; + } + + return pjmedia_vid_stream_is_running(call_med->strm.v.stream, dir); +} + #endif /* PJSUA_HAS_VIDEO */ |