summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2011-08-15 09:38:42 +0000
committerBenny Prijono <bennylp@teluu.com>2011-08-15 09:38:42 +0000
commit2ba74a19fcdad405b6971509f69aab8843c3abb7 (patch)
treeaff151b76b3c6d14a7f370062835af738b39e1fd
parent6070713a5b6b9cf3f281b63ce24ca070998294dd (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.c2
-rw-r--r--pjsip/include/pjsua-lib/pjsua.h27
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c7
-rw-r--r--pjsip/src/pjsua-lib/pjsua_vid.c13
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(&param);
+
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(&param_);
}
/* If set to PJMEDIA_VID_DEFAULT_CAPTURE_DEV, replace it with