diff options
author | Benny Prijono <bennylp@teluu.com> | 2011-08-15 09:38:42 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2011-08-15 09:38:42 +0000 |
commit | 2ba74a19fcdad405b6971509f69aab8843c3abb7 (patch) | |
tree | aff151b76b3c6d14a7f370062835af738b39e1fd | |
parent | 6070713a5b6b9cf3f281b63ce24ca070998294dd (diff) |
Re #1263 (Video API):
- Added PJSUA_CALL_VID_STRM_NO_OP to occupy value 0 for the enum
- Added pjsua_call_vid_strm_op_param_default() to initialize pjsua_call_vid_strm_op_param
- Renamed pjsua_call_get_transport_info() to pjsua_call_get_med_transport_info()
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3694 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r-- | pjsip-apps/src/pjsua/pjsua_app.c | 2 | ||||
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 27 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_call.c | 7 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_vid.c | 13 |
4 files changed, 38 insertions, 11 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index 6aa04749..f3d03513 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -3778,6 +3778,8 @@ static void vid_handle_menu(char *menuin) } else if (strcmp(argv[1], "call")==0) { pjsua_call_vid_strm_op_param param; + pjsua_call_vid_strm_op_param_default(¶m); + if (argc == 5 && strcmp(argv[2], "rx")==0) { pjsua_stream_info si; pj_bool_t on = (strcmp(argv[3], "on") == 0); diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index ed39d945..e0f33514 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -3303,6 +3303,11 @@ typedef struct pjsua_stream_stat typedef enum pjsua_call_vid_strm_op { /** + * No operation + */ + PJSUA_CALL_VID_STRM_NO_OP, + + /** * Add a new video stream. This will add a new m=video line to * the media, regardless of whether existing video is/are present * or not. This will cause re-INVITE or UPDATE to be sent to remote @@ -3350,7 +3355,9 @@ typedef enum pjsua_call_vid_strm_op /** - * Parameters for video stream operation on a call. + * Parameters for video stream operation on a call. Application should + * use #pjsua_call_vid_strm_op_param_default() to initialize this structure + * with its default values. */ typedef struct pjsua_call_vid_strm_op_param { @@ -3385,7 +3392,7 @@ typedef struct pjsua_call_vid_strm_op_param * This field is valid for the following video stream operations: * PJSUA_CALL_VID_STRM_ADD and PJSUA_CALL_VID_STRM_CHANGE_CAP_DEV. * - * Default: capture device configured in account. + * Default: PJMEDIA_VID_DEFAULT_CAPTURE_DEV. */ pjmedia_vid_dev_index cap_dev; @@ -3393,6 +3400,15 @@ typedef struct pjsua_call_vid_strm_op_param /** + * Initialize video stream operation param with default values. + * + * @param param The video stream operation param to be initialized. + */ +PJ_DECL(void) +pjsua_call_vid_strm_op_param_default(pjsua_call_vid_strm_op_param *param); + + +/** * Get maximum number of calls configured in pjsua. * * @return Maximum number of calls configured. @@ -3888,9 +3904,10 @@ PJ_DECL(pj_status_t) pjsua_call_get_stream_stat(pjsua_call_id call_id, * * @return PJ_SUCCESS on success or the appropriate error. */ -PJ_DECL(pj_status_t) pjsua_call_get_transport_info(pjsua_call_id call_id, - unsigned med_idx, - pjmedia_transport_info *t); +PJ_DECL(pj_status_t) +pjsua_call_get_med_transport_info(pjsua_call_id call_id, + unsigned med_idx, + pjmedia_transport_info *t); diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c index 2679a3ad..ce4f0bda 100644 --- a/pjsip/src/pjsua-lib/pjsua_call.c +++ b/pjsip/src/pjsua-lib/pjsua_call.c @@ -1536,9 +1536,10 @@ PJ_DEF(pj_status_t) pjsua_call_get_stream_stat( pjsua_call_id call_id, /* * Get media transport info for the specified media index. */ -PJ_DEF(pj_status_t) pjsua_call_get_transport_info( pjsua_call_id call_id, - unsigned med_idx, - pjmedia_transport_info *t) +PJ_DEF(pj_status_t) +pjsua_call_get_med_transport_info(pjsua_call_id call_id, + unsigned med_idx, + pjmedia_transport_info *t) { pjsua_call *call; pjsua_call_media *call_med; diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c index 6f790e4c..72580f9f 100644 --- a/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/pjsip/src/pjsua-lib/pjsua_vid.c @@ -107,6 +107,14 @@ pj_status_t pjsua_vid_subsys_destroy(void) return PJ_SUCCESS; } +PJ_DEF(void) +pjsua_call_vid_strm_op_param_default(pjsua_call_vid_strm_op_param *param) +{ + pj_bzero(param, sizeof(*param)); + param->med_idx = -1; + param->dir = PJMEDIA_DIR_ENCODING_DECODING; + param->cap_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV; +} /***************************************************************************** * Devices. @@ -1560,6 +1568,7 @@ PJ_DEF(pj_status_t) pjsua_call_set_vid_strm ( PJ_ASSERT_RETURN(call_id>=0 && call_id<(int)pjsua_var.ua_cfg.max_calls, PJ_EINVAL); + PJ_ASSERT_RETURN(op != PJSUA_CALL_VID_STRM_NO_OP, PJ_EINVAL); PJSUA_LOCK(); @@ -1568,9 +1577,7 @@ PJ_DEF(pj_status_t) pjsua_call_set_vid_strm ( if (param) { param_ = *param; } else { - param_.med_idx = -1; - param_.cap_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV; - param_.dir = PJMEDIA_DIR_ENCODING_DECODING; + pjsua_call_vid_strm_op_param_default(¶m_); } /* If set to PJMEDIA_VID_DEFAULT_CAPTURE_DEV, replace it with |