From a9070aca093b9c4e284f86ed6678fef73824aeac Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Fri, 8 May 2015 11:27:49 +0000 Subject: Close #1850: Updated pjsua_vid_preview_start() to ignore any errors upon starting an already existed preview, just print a log, also apply the specified window handle. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5088 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsua-lib/pjsua_vid.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'pjsip/src') diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c index c74abf68..7d8e9b82 100644 --- a/pjsip/src/pjsua-lib/pjsua_vid.c +++ b/pjsip/src/pjsua-lib/pjsua_vid.c @@ -478,21 +478,42 @@ static pj_status_t create_vid_win(pjsua_vid_win_type type, } else { strm = pjmedia_vid_port_get_stream(w->vp_rend); } - pj_assert(strm); + + /* Try to apply show/hide, window flags, and output window */ + status = pjmedia_vid_dev_stream_set_cap( - strm, PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE, - &hide); + strm, PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE, + &hide); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(THIS_FILE, status, + "Ignored error on setting window visibility " + "on wid=%d", wid)); + } - pjmedia_vid_dev_stream_set_cap( + status = pjmedia_vid_dev_stream_set_cap( strm, PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW_FLAGS, &wnd_flags); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(THIS_FILE, status, + "Ignored error on setting window flags " + "on wid=%d", wid)); + } + + status = pjmedia_vid_dev_stream_set_cap( + strm, PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW, + &wnd_flags); + if (status != PJ_SUCCESS) { + PJ_PERROR(4,(THIS_FILE, status, + "Ignored error on setting window handle " + "on wid=%d", wid)); + } /* Done */ *id = wid; pj_log_pop_indent(); - return status; + return PJ_SUCCESS; } } -- cgit v1.2.3