diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-09-02 11:25:07 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-09-02 11:25:07 +0000 |
commit | fd06ab7299278576be5ee742b8fb8884054cbb0f (patch) | |
tree | f7e96864409ab03b8d87e58eef357722326dd36c /pjsip | |
parent | 9f6611d9776676a4e71836a8ef94645ce0007f77 (diff) |
Ticket #608: Added API to retrieve media transport and session from pjsua call
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2259 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 26 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 22 |
2 files changed, 48 insertions, 0 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index 4989ef07..f8801776 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -2935,6 +2935,32 @@ PJ_DECL(pj_bool_t) pjsua_call_has_media(pjsua_call_id call_id); /** + * Retrieve the media session associated with this call. Note that the media + * session may not be available depending on the current call's media status + * (the pjsua_call_media_status information in pjsua_call_info). Application + * may use the media session to retrieve more detailed information about the + * call's media. + * + * @param call_id Call identification. + * + * @return Call media session. + */ +PJ_DECL(pjmedia_session*) pjsua_call_get_media_session(pjsua_call_id call_id); + + +/** + * Retrieve the media transport instance that is used for this call. + * Application may use the media transport to query more detailed information + * about the media transport. + * + * @param cid Call identification (the call_id). + * + * @return Call media transport. + */ +PJ_DECL(pjmedia_transport*) pjsua_call_get_media_transport(pjsua_call_id cid); + + +/** * Get the conference port identification associated with the call. * * @param call_id Call identification. diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 737cc017..71fc8a24 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -1024,6 +1024,28 @@ PJ_DEF(pj_bool_t) pjsua_call_has_media(pjsua_call_id call_id) } +/* + * Retrieve the media session associated with this call. + */ +PJ_DEF(pjmedia_session*) pjsua_call_get_media_session(pjsua_call_id call_id) +{ + PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, + NULL); + return pjsua_var.calls[call_id].session; +} + + +/* + * Retrieve the media transport instance that is used for this call. + */ +PJ_DEF(pjmedia_transport*) pjsua_call_get_media_transport(pjsua_call_id cid) +{ + PJ_ASSERT_RETURN(cid>=0 && cid<(int)pjsua_var.ua_cfg.max_calls, + NULL); + return pjsua_var.calls[cid].med_tp; +} + + /* Acquire lock to the specified call_id */ pj_status_t acquire_call(const char *title, pjsua_call_id call_id, |