Ignore:
Timestamp:
Mar 18, 2015 8:25:24 AM (6 years ago)
Author:
ming
Message:

Re #1823 (PJSUA2 Video API): Add Pjsua2 Video Window API and Pjsua API to set output window

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua2/media.cpp

    r4950 r4996  
    10081008 
    10091009/////////////////////////////////////////////////////////////////////////////// 
     1010VideoWindow::VideoWindow(pjsua_vid_win_id win_id) 
     1011: winId(win_id) 
     1012{ 
     1013} 
     1014 
     1015VideoWindowInfo VideoWindow::getInfo() const throw(Error) 
     1016{ 
     1017    VideoWindowInfo vwi; 
     1018    pjsua_vid_win_info pj_vwi; 
     1019     
     1020    PJSUA2_CHECK_EXPR( pjsua_vid_win_get_info(winId, &pj_vwi) ); 
     1021    vwi.isNative = pj_vwi.is_native; 
     1022    vwi.winHandle.type = pj_vwi.hwnd.type; 
     1023    vwi.winHandle.handle.window = pj_vwi.hwnd.info.window; 
     1024    vwi.renderDeviceId = pj_vwi.rdr_dev; 
     1025    vwi.show = pj_vwi.show; 
     1026    vwi.pos.x = pj_vwi.pos.x; 
     1027    vwi.pos.y = pj_vwi.pos.y; 
     1028    vwi.size.w = pj_vwi.size.w; 
     1029    vwi.size.h = pj_vwi.size.h; 
     1030     
     1031    return vwi; 
     1032} 
     1033     
     1034void VideoWindow::Show(bool show) throw(Error) 
     1035{ 
     1036    PJSUA2_CHECK_EXPR( pjsua_vid_win_set_show(winId, show) ); 
     1037}    
     1038 
     1039void VideoWindow::setPos(const MediaCoordinate &pos) throw(Error) 
     1040{ 
     1041    pjmedia_coord pj_pos; 
     1042     
     1043    pj_pos.x = pos.x; 
     1044    pj_pos.y = pos.y; 
     1045    PJSUA2_CHECK_EXPR( pjsua_vid_win_set_pos(winId, &pj_pos) ); 
     1046} 
     1047 
     1048void VideoWindow::setSize(const MediaSize &size) throw(Error) 
     1049{ 
     1050    pjmedia_rect_size pj_size; 
     1051 
     1052    pj_size.w = size.w; 
     1053    pj_size.h = size.h; 
     1054    PJSUA2_CHECK_EXPR( pjsua_vid_win_set_size(winId, &pj_size) ); 
     1055} 
     1056 
     1057void VideoWindow::rotate(int angle) throw(Error) 
     1058{ 
     1059    PJSUA2_CHECK_EXPR( pjsua_vid_win_rotate(winId, angle) ); 
     1060} 
     1061 
     1062void VideoWindow::setWindow(const VideoWindowHandle &win) throw(Error) 
     1063{ 
     1064    pjmedia_vid_dev_hwnd vhwnd; 
     1065    
     1066    vhwnd.type = win.type; 
     1067    vhwnd.info.window = win.handle.window; 
     1068    PJSUA2_CHECK_EXPR( pjsua_vid_win_set_win(winId, &vhwnd) ); 
     1069} 
     1070 
     1071/////////////////////////////////////////////////////////////////////////////// 
    10101072void CodecInfo::fromPj(const pjsua_codec_info &codec_info) 
    10111073{ 
Note: See TracChangeset for help on using the changeset viewer.