Changes between Version 29 and Version 30 of Video_Users_Guide

Jan 3, 2012 7:09:57 AM (11 years ago)



  • Video_Users_Guide

    v29 v30  
    199 === Incoming Video Display === 
     199=== Incoming Video Call === 
    201201Incoming video will be accepted/rejected depending on whether video is enabled in the call setting (see above). If video is enabled, incoming video will be accepted as long as we have matching codec for it. However, this does not necessarily mean that the video will be displayed automatically to the screen, nor that outgoing video will be transmitted automatically, as there will be separate settings for these. Outgoing video behavior will be explained in the next section. 
    232232 1. Using the video window ID, you may retrieve the associated native video handle with {{{pjsua_vid_win_get_info()}}} and then show or hide the video window using native API, or use {{{pjsua_vid_win_set_show()}}} to show/hide the window using PJSUA API. See [#wwin Working with Window] section below for information on manipulating video windows. 
    234 ==== Controlling Incoming Video Stream ==== 
     234==== Controlling Incoming Video Stream ==== #civs 
    236236Controlling the video window above will not cause any re-INVITE or UPDATE to be sent to remote, since the operation occurs locally. However, if you wish, you may alter the incoming video stream with {{{pjsua_call_set_vid_strm()}}} API, and this '''will''' cause re-INVITE or UPDATE to be sent to negotiate the new SDP. The relevant operation to control incoming video with {{{pjsua_call_set_vid_strm()}}} are: 
    241241Since {{{pjsua_call_set_vid_strm()}}} will result in renegotiation of the SDP in a re-INVITE or UPDATE transaction, the result of this operation will not be available immediately. Application can monitor the status by implementing {{{on_call_media_state()}}} callback and enumerate the media stream status with pjsua_call_info. 
     243==== Incoming Re-offer ==== 
     245If the re-offer contains video, incoming re-offer will be automatically answered with current video setting in the call setting. Currently there is no callback for this, however application can always watch for media update via {{{on_call_media_state()}}} callback. 
    245 === Outgoing Video Transmission === 
     249=== Outgoing Video Call === 
     251Outgoing video is enabled/disabled depending on the call setting. To initiate a call with video in the SDP as inactive, you can disable the video in the call setting and set '''{{{pjsua_call_setting.flag}}}''' with '''{{{PJSUA_CALL_INCLUDE_DISABLED_MEDIA}}}'''. 
     253==== Outgoing Video Transmission ==== 
    247255Outgoing video transmission is independent from the incoming video transmission; each can be operated separately. Note that outgoing video transmission '''is not started by default''', not even when incoming offer contains video support. This behavior is controlled by {{{pjsua_acc_config.vid_out_auto_transmit}}} setting, which default to ''PJ_FALSE''. Setting this to ''PJ_TRUE'' will cause video transmission to be started automatically on each outgoing calls and on incoming calls that indicates video support in its offer. However, it is more flexible and appropriate to leave this setting at PJ_FALSE, and add video later during the call by using {{{pjsua_call_set_vid_strm()}}} API, as will be explained shortly. 
    251259The default capture device that is used by an account is configured in {{{pjsua_acc_config.vid_cap_dev}}} setting. It is more convenient to set the "correct" device here rather than having to set it in every other API calls later. 
    253 ==== Controlling Video Stream ==== 
     261==== Controlling Video Stream ==== #cvs 
    255263Application uses {{{pjsua_call_set_vid_strm()}}} API to control video stream on a call. The following ''op_code'' can be used on the API to control the video media: 
     275=== Add or Remove Video === 
     277You can set the field '''{{{vid_cnt}}}''' of '''{{{pjsua_call_setting}}}''' to the desired video count to add/remove video, then send the reinvite/update. Alternatively, you can use {{{pjsua_call_set_vid_strm()}}} API to control the video stream on a call (see [#civs Controlling Incoming Video Stream] or [#cvs Controlling Video Stream] above). 
    267281=== Working with Video Window === #wwin