Ignore:
Timestamp:
Oct 4, 2019 4:26:39 AM (5 years ago)
Author:
nanang
Message:

Fixed #2239:

  • Deinit OpenGL immediately when initialization fails, so video device start() and put_frame() will return immediately.
  • Introduced new media event PJMEDIA_EVENT_VID_DEV_ERROR, used for notifying app when video device reinit (due to format change) fails.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia/vid_port.c

    r6041 r6085  
    10041004                                                &vp->conv.conv_param.dst); 
    10051005            if (status != PJ_SUCCESS) { 
     1006                pjmedia_event e; 
     1007 
    10061008                PJ_PERROR(3,(THIS_FILE, status, 
    10071009                    "failure in changing the format of the video device")); 
     
    10091011                                      status != PJMEDIA_EVID_ERR ? "success" : 
    10101012                                      "failure")); 
     1013 
     1014                pjmedia_event_init(&e, PJMEDIA_EVENT_VID_DEV_ERROR, NULL, vp); 
     1015                e.data.vid_dev_err.dir = vp->dir; 
     1016                e.data.vid_dev_err.status = status; 
     1017                e.data.vid_dev_err.id = (vp->dir==PJMEDIA_DIR_ENCODING? 
     1018                                         vid_param.cap_id : vid_param.rend_id); 
     1019                pjmedia_event_publish(NULL, vp, &e, 
     1020                                      PJMEDIA_EVENT_PUBLISH_POST_EVENT); 
     1021 
    10111022                return status; 
    10121023            } 
Note: See TracChangeset for help on using the changeset viewer.