diff options
author | Liong Sauw Ming <ming@teluu.com> | 2016-08-04 04:17:30 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2016-08-04 04:17:30 +0000 |
commit | 742babb2d72fa6dcec1b21318a5d1ba9a3623fab (patch) | |
tree | dbfcf38625937d13800917a7259d651244d54eb2 /pjsip | |
parent | c2cc7d010b165b4addb966fdf969e418324462cd (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.c | 45 |
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; |