Ignore:
Timestamp:
May 22, 2014 4:52:53 AM (10 years ago)
Author:
ming
Message:

Re #1757: Modify display video function in r4813 so it can display video preview as well

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/pjsua/ios/ipjsua/ipjsuaAppDelegate.m

    r4813 r4848  
    226226{ 
    227227#if PJSUA_HAS_VIDEO 
    228     pjsua_vid_win_info wi; 
    229      
    230     if (wid != PJSUA_INVALID_ID && 
    231         pjsua_vid_win_get_info(wid, &wi) == PJ_SUCCESS) 
    232     { 
    233         UIView *view = (__bridge UIView *)wi.hwnd.info.ios.window; 
    234         if (view) { 
    235             dispatch_async(dispatch_get_main_queue(), ^{ 
    236                 UIView *parent = app.viewController.view; 
    237                 /* Add the video window as subview */ 
    238                 [parent addSubview:view]; 
    239                 /* Center it */ 
    240                 view.center = CGPointMake(parent.bounds.size.width/2.0, 
    241                                           parent.bounds.size.height/2.0); 
    242             }); 
    243         } 
    244     } 
     228    int i, last; 
     229     
     230    i = (wid == PJSUA_INVALID_ID) ? 0 : wid; 
     231    last = (wid == PJSUA_INVALID_ID) ? PJSUA_MAX_VID_WINS : wid+1; 
     232     
     233    for (;i < last; ++i) { 
     234        pjsua_vid_win_info wi; 
     235         
     236        if (pjsua_vid_win_get_info(i, &wi) == PJ_SUCCESS) { 
     237            UIView *parent = app.viewController.view; 
     238            UIView *view = (__bridge UIView *)wi.hwnd.info.ios.window; 
     239             
     240            if (view && ![view isDescendantOfView:parent]) { 
     241                dispatch_async(dispatch_get_main_queue(), ^{ 
     242                    /* Add the video window as subview */ 
     243                    [parent addSubview:view]; 
     244                     
     245                    if (!wi.is_native) { 
     246                        /* Center it horizontally */ 
     247                        view.center = CGPointMake(parent.bounds.size.width/2.0, 
     248                                              view.bounds.size.height/2.0); 
     249                    } else { 
     250                        /* Preview window, move it to the bottom */ 
     251                        view.center = CGPointMake(parent.bounds.size.width/2.0, 
     252                                                  parent.bounds.size.height- 
     253                                                  view.bounds.size.height/2.0); 
     254                    } 
     255                }); 
     256            } 
     257        } 
     258    } 
     259 
     260     
    245261#endif 
    246262} 
Note: See TracChangeset for help on using the changeset viewer.