From 18061c77b205207a29aeb61414c1040affeeae3b Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Wed, 18 Mar 2015 08:25:24 +0000 Subject: Re #1823 (PJSUA2 Video API): Add Pjsua2 Video Window API and Pjsua API to set output window git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4996 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_vid.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'pjsip/src/pjsua-lib') diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c index 028c7a35..a1f54f34 100644 --- a/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/pjsip/src/pjsua-lib/pjsua_vid.c @@ -1404,6 +1404,40 @@ PJ_DEF(pj_status_t) pjsua_vid_win_set_size( pjsua_vid_win_id wid, return status; } +/* + * Set output window. + */ +PJ_DEF(pj_status_t) pjsua_vid_win_set_win( pjsua_vid_win_id wid, + const pjmedia_vid_dev_hwnd *win) +{ + pjsua_vid_win *w; + pjmedia_vid_dev_stream *s; + pj_status_t status; + + 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); + if (s == NULL) { + PJSUA_UNLOCK(); + return PJ_EINVAL; + } + + status = pjmedia_vid_dev_stream_set_cap(s, + PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW, win); + + PJSUA_UNLOCK(); + + return status; +} + /* * Set video orientation. */ -- cgit v1.2.3