Ignore:
Timestamp:
Jul 13, 2011 8:51:10 AM (13 years ago)
Author:
nanang
Message:

Re #1263:

  • Renamed API pjsua_call_set_vid_out() with pjsua_call_set_vid_strm().
  • Implemented initial version of the function, features covered:
    • add, remove video media stream during the call
    • change which device to use during the call
    • start/stop video stream transmission
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/2.0-dev/pjsip/include/pjsua-lib/pjsua.h

    r3632 r3634  
    368368 
    369369} pjsua_state; 
     370 
     371 
     372/** 
     373 * This enumeration represents video stream operation on a call. 
     374 * See also #pjsua_call_vid_strm_op_param for further info. 
     375 */ 
     376typedef enum pjsua_call_vid_strm_op 
     377{ 
     378    /** 
     379     * Add a new video stream. 
     380     */ 
     381    PJSUA_CALL_VID_STRM_ADD, 
     382 
     383    /** 
     384     * Remove an existing video stream. 
     385     */ 
     386    PJSUA_CALL_VID_STRM_REMOVE, 
     387 
     388    /** 
     389     * Modify an existing video stream, such as changing the capture device. 
     390     */ 
     391    PJSUA_CALL_VID_STRM_MODIFY, 
     392 
     393    /** 
     394     * Start transmitting video stream. 
     395     */ 
     396    PJSUA_CALL_VID_STRM_START_TRANSMIT, 
     397 
     398    /** 
     399     * Stop transmitting video stream. 
     400     */ 
     401    PJSUA_CALL_VID_STRM_STOP_TRANSMIT, 
     402 
     403} pjsua_call_vid_strm_op; 
     404 
     405 
     406/** 
     407 * Parameters for video stream operation on a call. 
     408 */ 
     409typedef struct pjsua_call_vid_strm_op_param 
     410{ 
     411    /** 
     412     * Specify the media stream index. This can be set to -1 to denote 
     413     * the default video stream in the call, which is the first active 
     414     * video stream or any first video stream if none is active. 
     415     * 
     416     * This field is valid for all video stream operations, except 
     417     * PJSUA_CALL_VID_STRM_ADD. 
     418     */ 
     419    int med_idx; 
     420  
     421    /** 
     422     * Specify the video capture device ID. This can be set to 
     423     * PJMEDIA_VID_DEFAULT_CAPTURE_DEV to specify the default capture 
     424     * device as configured in the account. 
     425     * 
     426     * This field is valid for the following video stream operations: 
     427     * PJSUA_CALL_VID_STRM_ADD, PJSUA_CALL_VID_STRM_MODIFY, and 
     428     * PJSUA_CALL_VID_STRM_START_TRANSMIT. 
     429     */ 
     430    pjmedia_vid_dev_index cap_dev; 
     431 
     432} pjsua_call_vid_strm_op_param; 
    370433 
    371434 
     
    36813744PJ_DECL(int) pjsua_call_get_vid_stream_idx(pjsua_call_id call_id); 
    36823745 
    3683 /** 
    3684  * Start, stop, and/or manipulate video transmission for the specified 
    3685  * call. This would trigger a re-INVITE or UPDATE to be sent for the 
    3686  * call. This function may add, remove, or modify existing video media 
    3687  * stream, depending on the media index specified (the \a med_idx argument). 
    3688  * 
    3689  * To add a new or edit existing video stream (for transmission), specify 
    3690  * a valid video capture device ID or PJMEDIA_VID_DEFAULT_CAPTURE_DEV in 
    3691  * the \a cap_dev argument. If \a med_idx is set to default stream (-1), 
    3692  * then the function will modify existing video stream if one exists, or 
    3693  * add a new one if it doesn't. If \a med_idx is set to a specific stream 
    3694  * index, the function will modify that video stream. Otherwise if \a med_idx 
    3695  * is set to value larger than the current media count, a new video stream 
    3696  * will be added to the call. 
    3697  * 
    3698  * To remove an existing video stream, specify PJMEDIA_VID_INVALID_DEV in 
    3699  * \a cap_dev argument. If \a med_idx is set to default stream (-1), this 
    3700  * will remove the default/first video stream in the call, otherwise 
    3701  * application can put a specific value to request removal of that particular 
    3702  * video stream. 
     3746 
     3747/** 
     3748 * Add, remove, modify, and/or manipulate video media stream for the 
     3749 * specified call. This may trigger a re-INVITE or UPDATE to be sent 
     3750 * for the call. 
    37033751 * 
    37043752 * @param call_id       Call identification. 
    3705  * @param med_idx       The media stream index. Currently the value MUST 
    3706  *                      be -1 to denote the default video stream in the 
    3707  *                      call. 
    3708  * @param cap_dev       To add or modify existing video media stream, 
    3709  *                      specify PJMEDIA_VID_DEFAULT_CAPTURE_DEV to use 
    3710  *                      the default capture device as configured in the 
    3711  *                      account, or specify a specific capture device ID. 
    3712  *                      To disable an existing video stream, specify 
    3713  *                      PJMEDIA_VID_INVALID_DEV for this parameter. 
     3753 * @param op            The video stream operation to be performed, 
     3754 *                      possible values are #pjsua_call_vid_strm_op. 
     3755 * @param param         The parameters for the video stream operation. 
    37143756 * 
    37153757 * @return              PJ_SUCCESS on success or the appropriate error. 
    37163758 */ 
    3717 PJ_DECL(pj_status_t) pjsua_call_set_vid_out(pjsua_call_id call_id, 
    3718                                             int med_idx, 
    3719                                             pjmedia_vid_dev_index cap_dev); 
     3759PJ_DECL(pj_status_t) pjsua_call_set_vid_strm ( 
     3760                                pjsua_call_id call_id, 
     3761                                pjsua_call_vid_strm_op op, 
     3762                                const pjsua_call_vid_strm_op_param *param); 
     3763 
    37203764 
    37213765/** 
Note: See TracChangeset for help on using the changeset viewer.