summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2016-08-04 04:17:30 +0000
committerLiong Sauw Ming <ming@teluu.com>2016-08-04 04:17:30 +0000
commit742babb2d72fa6dcec1b21318a5d1ba9a3623fab (patch)
treedbfcf38625937d13800917a7259d651244d54eb2 /pjsip
parentc2cc7d010b165b4addb966fdf969e418324462cd (diff)
Fixed #1949: Support video window manipulation for native preview
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5407 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_vid.c45
1 files changed, 10 insertions, 35 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c
index 599607ec..42506b84 100644
--- a/pjsip/src/pjsua-lib/pjsua_vid.c
+++ b/pjsip/src/pjsua-lib/pjsua_vid.c
@@ -1449,14 +1449,9 @@ PJ_DEF(pj_status_t) pjsua_vid_win_set_show( pjsua_vid_win_id wid,
PJ_ASSERT_RETURN(wid >= 0 && wid < PJSUA_MAX_VID_WINS, PJ_EINVAL);
PJSUA_LOCK();
- w = &pjsua_var.win[wid];
- if (w->vp_rend == NULL) {
- /* Native window */
- PJSUA_UNLOCK();
- return PJ_EINVAL;
- }
- s = pjmedia_vid_port_get_stream(w->vp_rend);
+ w = &pjsua_var.win[wid];
+ s = pjmedia_vid_port_get_stream(w->vp_rend? w->vp_rend: w->vp_cap);
if (s == NULL) {
PJSUA_UNLOCK();
return PJ_EINVAL;
@@ -1488,14 +1483,9 @@ PJ_DEF(pj_status_t) pjsua_vid_win_set_pos( pjsua_vid_win_id wid,
PJ_ASSERT_RETURN(wid >= 0 && wid < PJSUA_MAX_VID_WINS && pos, PJ_EINVAL);
PJSUA_LOCK();
- w = &pjsua_var.win[wid];
- if (w->vp_rend == NULL) {
- /* Native window */
- PJSUA_UNLOCK();
- return PJ_EINVAL;
- }
- s = pjmedia_vid_port_get_stream(w->vp_rend);
+ w = &pjsua_var.win[wid];
+ s = pjmedia_vid_port_get_stream(w->vp_rend? w->vp_rend: w->vp_cap);
if (s == NULL) {
PJSUA_UNLOCK();
return PJ_EINVAL;
@@ -1522,14 +1512,9 @@ PJ_DEF(pj_status_t) pjsua_vid_win_set_size( pjsua_vid_win_id wid,
PJ_ASSERT_RETURN(wid >= 0 && wid < PJSUA_MAX_VID_WINS && size, PJ_EINVAL);
PJSUA_LOCK();
- w = &pjsua_var.win[wid];
- if (w->vp_rend == NULL) {
- /* Native window */
- PJSUA_UNLOCK();
- return PJ_EINVAL;
- }
- s = pjmedia_vid_port_get_stream(w->vp_rend);
+ w = &pjsua_var.win[wid];
+ s = pjmedia_vid_port_get_stream(w->vp_rend? w->vp_rend: w->vp_cap);
if (s == NULL) {
PJSUA_UNLOCK();
return PJ_EINVAL;
@@ -1556,14 +1541,9 @@ PJ_DEF(pj_status_t) pjsua_vid_win_set_win( pjsua_vid_win_id wid,
PJ_ASSERT_RETURN(wid >= 0 && wid < PJSUA_MAX_VID_WINS && win, PJ_EINVAL);
PJSUA_LOCK();
- w = &pjsua_var.win[wid];
- if (w->vp_rend == NULL) {
- /* Native window */
- PJSUA_UNLOCK();
- return PJ_EINVAL;
- }
- s = pjmedia_vid_port_get_stream(w->vp_rend);
+ w = &pjsua_var.win[wid];
+ s = pjmedia_vid_port_get_stream(w->vp_rend? w->vp_rend: w->vp_cap);
if (s == NULL) {
PJSUA_UNLOCK();
return PJ_EINVAL;
@@ -1616,14 +1596,9 @@ PJ_DEF(pj_status_t) pjsua_vid_win_rotate( pjsua_vid_win_id wid,
}
PJSUA_LOCK();
- w = &pjsua_var.win[wid];
- if (w->vp_rend == NULL) {
- /* Native window */
- PJSUA_UNLOCK();
- return PJ_EINVAL;
- }
- s = pjmedia_vid_port_get_stream(w->vp_rend);
+ w = &pjsua_var.win[wid];
+ s = pjmedia_vid_port_get_stream(w->vp_rend? w->vp_rend: w->vp_cap);
if (s == NULL) {
PJSUA_UNLOCK();
return PJ_EINVAL;