Ignore:
Timestamp:
Jun 16, 2011 5:10:45 AM (13 years ago)
Author:
ming
Message:

Closed #1173: PJSUA callback to allow creation of custom media transports by application

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/1.x/pjsip/include/pjsua-lib/pjsua.h

    r3570 r3585  
    419419                                                 registration callback. */ 
    420420} pjsua_reg_info; 
     421 
     422 
     423/** 
     424 * This enumeration specifies the options for custom media transport creation. 
     425 */ 
     426typedef enum pjsua_create_media_transport_flag 
     427{ 
     428   /** 
     429    * This flag indicates that the media transport must also close its 
     430    * "member" or "child" transport when pjmedia_transport_close() is 
     431    * called. If this flag is not specified, then the media transport 
     432    * must not call pjmedia_transport_close() of its member transport. 
     433    */ 
     434   PJSUA_MED_TP_CLOSE_MEMBER = 1 
     435 
     436} pjsua_create_media_transport_flag; 
    421437 
    422438 
     
    919935                                   pj_status_t status, void *param); 
    920936 
     937    /** 
     938     * This callback can be used by application to implement custom media 
     939     * transport adapter for the call, or to replace the media transport 
     940     * with something completely new altogether. 
     941     * 
     942     * This callback is called when a new call is created. The library has 
     943     * created a media transport for the call, and it is provided as the 
     944     * \a base_tp argument of this callback. Upon returning, the callback 
     945     * must return an instance of media transport to be used by the call. 
     946     * 
     947     * @param call_id       Call ID 
     948     * @param media_idx     The media index in the SDP for which this media 
     949     *                      transport will be used. 
     950     * @param base_tp       The media transport which otherwise will be 
     951     *                      used by the call has this callback not been 
     952     *                      implemented. 
     953     * @param flags         Bitmask from pjsua_create_media_transport_flag. 
     954     * 
     955     * @return              The callback must return an instance of media 
     956     *                      transport to be used by the call. 
     957     */ 
     958    pjmedia_transport* (*on_create_media_transport)(pjsua_call_id call_id, 
     959                                                    unsigned media_idx, 
     960                                                    pjmedia_transport *base_tp, 
     961                                                    unsigned flags); 
     962 
    921963} pjsua_callback; 
    922964 
Note: See TracChangeset for help on using the changeset viewer.