亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? cmctrlmpoint.c

?? 基于h323協(xié)議的軟phone
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
typedef enum
{
    sbeNumber = 1,
    terminalNumberAssign,
    terminalJoinedConference,
    terminalLeftConference,
    seenByAtLeastOneOther,
    cancelSeenByAtLeastOneOther,
    seenByAll,
    cancelSeenByAll,
    terminalYouAreSeeing,
    requestForFloor,
    withdrawChairToken,
    floorRequested,
    terminalYouAreSeeingInSubPictureNumber,
    videoIndicateCompose
} ctrlConfIndiType;



int conferenceIndication(H245Control* ctrl, int message)
{
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
    HPVT hVal = ((cmElem *)hApp)->hVal;
    int childId=pvtChild(hVal,message);
    switch(pvtGetSyntaxIndex(hVal,childId))
    {
    case sbeNumber                              :conferenceMessage (ctrl,0,childId,h245ciSbeNumber);  break;
    case terminalNumberAssign                   :
        {
            int tmp;
            pvtGetChildValue(hVal,childId,__h245(mcuNumber),&tmp,NULL);
            ctrl->myTerminalLabel.mcuNumber=(RvUint8)tmp;
            pvtGetChildValue(hVal,childId,__h245(terminalNumber),&tmp,NULL);
            ctrl->myTerminalLabel.terminalNumber=(RvUint8)tmp;
        }
        break;
    case terminalJoinedConference               :conferenceMessage (ctrl,0,childId,h245ciTerminalJoinedConference);  break;
    case terminalLeftConference                 :conferenceMessage (ctrl,0,childId,h245ciTerminalLeftConference);  break;
    case seenByAtLeastOneOther                  :conferenceMessage (ctrl,0,childId,h245ciSeenByAtLeastOneOther);  break;
    case cancelSeenByAtLeastOneOther            :conferenceMessage (ctrl,0,childId,h245ciCancelSeenByAtLeastOneOther);  break;
    case seenByAll                              :conferenceMessage (ctrl,0,childId,h245ciSeenByAll);  break;
    case cancelSeenByAll                        :conferenceMessage (ctrl,0,childId,h245ciCancelSeenByAll);  break;
    case terminalYouAreSeeing                   :conferenceMessage (ctrl,0,childId,h245ciTerminalYouAreSeeing);  break;
    case requestForFloor                        :conferenceMessage (ctrl,0,childId,h245ciRequestForFloor);  break;
    case withdrawChairToken                     :conferenceMessage (ctrl,0,childId,h245ciWithdrawChairToken);  break;
    case floorRequested                         :conferenceMessage (ctrl,0,childId,h245ciFloorRequested);  break;
    case terminalYouAreSeeingInSubPictureNumber :conferenceMessage (ctrl,0,childId,h245ciTerminalYouAreSeeingInSubPictureNumber);  break;
    case videoIndicateCompose                   :conferenceMessage (ctrl,0,childId,h245ciVideoIndicateCompose);  break;
    }
    return RV_TRUE;
}

/* This enumeration is used as the CHOICE values of the ConferenceCommand
type in the H.245 ASN.1. The order of this enumeration should not be different
than that of the choices in this type and should begin from 1. */
typedef enum
{
    broadcastMyLogicalChannel = 1,
    cancelBroadcastMyLogicalChannel,
    makeTerminalBroadcaster,
    cancelMakeTerminalBroadcaster,
    sendThisSource,
    cancelSendThisSource,
    dropConference,
    substituteConferenceIDCommand
} ctrlConfCommType;

int conferenceCommand(H245Control* ctrl, int message)
{
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
    HPVT hVal = ((cmElem *)hApp)->hVal;
    int childId=pvtChild(hVal,message);
    switch(pvtGetSyntaxIndex(hVal,childId))
    {
    case broadcastMyLogicalChannel          : conferenceMessage (ctrl,0,childId,h245ccBroadcastMyLogicalChannel);  break;
    case cancelBroadcastMyLogicalChannel    : conferenceMessage (ctrl,0,childId,h245ccCancelBroadcastMyLogicalChannel);  break;
    case makeTerminalBroadcaster            : conferenceMessage (ctrl,0,childId,h245ccMakeTerminalBroadcaster);  break;
    case cancelMakeTerminalBroadcaster      : conferenceMessage (ctrl,0,childId,h245ccCancelMakeTerminalBroadcaster);  break;
    case sendThisSource                     : conferenceMessage (ctrl,0,childId,h245ccSendThisSource);  break;
    case cancelSendThisSource               : conferenceMessage (ctrl,0,childId,h245ccCancelSendThisSource);  break;
    case dropConference                     : conferenceMessage (ctrl,0,childId,h245ccDropConference);  break;
    case substituteConferenceIDCommand      : conferenceMessage (ctrl,0,childId,h245ccSubstituteConferenceIDCommand);  break;
    }
    return RV_TRUE;
}


/* This enumeration is used as the CHOICE values of the MiscellaneousCommand
type in the H.245 ASN.1. The order of this enumeration should not be different
than that of the choices in this type and should begin from 1. */
typedef enum
{
    equaliseDelay = 1,
    zeroDelay,
    multipointModeCommand,
    cancelMultipointModeCommand,
    videoFreezePicture,
    videoFastUpdatePicture,
    videoFastUpdateGOB,
    videoTemporalSpatialTradeOff,
    videoSendSyncEveryGOB,
    videoSendSyncEveryGOBCancel,
    videoFastUpdateMB,
    maxH223MUXPDUsize,
    encryptionUpdate,
    encryptionUpdateRequest,
    switchReceiveMediaOff,
    switchReceiveMediaOn,
    progressiveRefinementStart,
    progressiveRefinementAbortOne,
    progressiveRefinementAbortContinuous,
    videoBadMBs,
    lostPicture,
    lostPartialPicture,
    recoveryReferencePicture
} ctrlMiscCommType;

int miscellaneousCommand(H245Control* ctrl, int lcn, int message)
{
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
    HPVT hVal = ((cmElem *)hApp)->hVal;
    int childId=pvtChild(hVal,message);
    switch(pvtGetSyntaxIndex(hVal,childId))
    {
    case equaliseDelay                        : conferenceMessage (ctrl,lcn,childId,h245mcEqualiseDelay);  break;
    case zeroDelay                            : conferenceMessage (ctrl,lcn,childId,h245mcZeroDelay);  break;
    case maxH223MUXPDUsize                    : conferenceMessage (ctrl,lcn,childId,h245mcMaxH223MUXPDUsize);  break;
    case encryptionUpdate                     : conferenceMessage (ctrl,lcn,childId,h245mcEncryptionUpdate);  break;
    case encryptionUpdateRequest              : conferenceMessage (ctrl,lcn,childId,h245mcEncryptionUpdateRequest);  break;
    case progressiveRefinementStart           : conferenceMessage (ctrl,lcn,childId,h245mcProgressiveRefinementStart);  break;
    case progressiveRefinementAbortOne        : conferenceMessage (ctrl,lcn,childId,h245mcProgressiveRefinementAbortOne);  break;
    case progressiveRefinementAbortContinuous : conferenceMessage (ctrl,lcn,childId,h245mcProgressiveRefinementAbortContinuous);  break;
    case videoBadMBs                          : conferenceMessage (ctrl,lcn,childId,h245mcVideoBadMBs);  break;
    case lostPicture                          : conferenceMessage (ctrl,lcn,childId,h245mcLostPicture);  break;
    case lostPartialPicture                   : conferenceMessage (ctrl,lcn,childId,h245mcLostPartialPicture);  break;
    case recoveryReferencePicture             : conferenceMessage (ctrl,lcn,childId,h245mcRecoveryReferencePicture);  break;
    }
    return RV_TRUE;
}


/* This enumeration is used as the CHOICE values of the indication
type in the H.245 ASN.1. The order of this enumeration should not be different
than that of the choices in this type and should begin from 1. */
typedef enum
{
    nonStandard = 1,
    functionNotUnderstood,
    masterSlaveDeterminationRelease,
    terminalCapabilitySetRelease,
    openLogicalChannelConfirmInd,
    requestChannelCloseReleaseInd,
    multiplexEntrySendRelease,
    requestMultiplexEntryRelease,
    requestModeRelease,
    miscellaneousIndicationInd,
    jitterIndication,
    h223SkewIndication,
    newATMVCIndication,
    userInput,
    h2250MaximumSkewIndication,
    mcLocationInd,
    conferenceInd,
    vendorIdentification,
    functionNotSupported,
    multilinkIndication,
    logicalChannelRateRelease,
    flowControlIndication
} ctrlIndiType;

int indication(H245Control* ctrl, int lcn, int message)
{
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
    HPVT hVal = ((cmElem *)hApp)->hVal;
    int childId=pvtChild(hVal,message);
    switch(pvtGetSyntaxIndex(hVal,childId))
    {
    case jitterIndication       : conferenceMessage (ctrl,lcn,childId,h245iJitterIndication);  break;
    case h223SkewIndication     : conferenceMessage (ctrl,lcn,childId,h245iH223SkewIndication);  break;
    case functionNotSupported   : conferenceMessage (ctrl,lcn,childId,h245iFunctionNotSupported);  break;
    case flowControlIndication  : conferenceMessage (ctrl,lcn,childId,h245iFlowControlIndication);  break;
    }
    return RV_TRUE;
}


/* This enumeration is used as the CHOICE values of the miscellaneousIndication
type in the H.245 ASN.1. The order of this enumeration should not be different
than that of the choices in this type and should begin from 1. */
typedef enum
{
    logicalChannelActiveInd = 1,
    logicalChannelInactiveInd,
    multipointConferenceInd,
    cancelMultipointConferenceInd,
    multipointZeroComm,
    cancelMultipointZeroComm,
    multipointSecondaryStatus,
    cancelMultipointSecondaryStatus,
    videoIndicateReadyToActivate,
    videoTemporalSpatialTradeOffInd,
    videoNotDecodedMBs,
    transportCapability
} ctrlMiscIndiType;

int miscellaneousIndication(H245Control* ctrl, int lcn, int message)
{
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
    HPVT hVal = ((cmElem *)hApp)->hVal;
    int childId=pvtChild(hVal,message);
    switch(pvtGetSyntaxIndex(hVal,childId))
    {
    case multipointZeroComm              : conferenceMessage (ctrl,lcn,childId,h245miMultipointZeroComm);  break;
    case cancelMultipointZeroComm        : conferenceMessage (ctrl,lcn,childId,h245miCancelMultipointZeroComm);  break;
    case multipointSecondaryStatus       : conferenceMessage (ctrl,lcn,childId,h245miMultipointSecondaryStatus);  break;
    case cancelMultipointSecondaryStatus : conferenceMessage (ctrl,lcn,childId,h245miCancelMultipointSecondaryStatus);  break;
    case videoIndicateReadyToActivate    : conferenceMessage (ctrl,lcn,childId,h245miVideoIndicateReadyToActivate);  break;
    case videoNotDecodedMBs              : conferenceMessage (ctrl,lcn,childId,h245miVideoNotDecodedMBs);  break;
    }
    return RV_TRUE;
}


RVAPI int RVCALLCONV
cmCallSetTerminalLabel(
               /* Set the remote endpoint terminal label. */
               IN      HCALL               hsCall,
               IN      cmTerminalLabel*    terminalLabel
               )
{
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)hsCall);
    HPVT hVal = ((cmElem *)hApp)->hVal;
    H245Control* ctrl=(H245Control*)cmiGetControl(hsCall);
    int ret=0;
    int nodeId,message, res = RV_ERROR_UNKNOWN;
    int iMCU, iTerminal;

    if (!hsCall || !hApp) return RV_ERROR_UNKNOWN;

    if (!terminalLabel) return RV_ERROR_UNKNOWN;

    if (terminalLabel->mcuNumber>192) return RV_ERROR_UNKNOWN;
    if (terminalLabel->terminalNumber>192) return RV_ERROR_UNKNOWN;

    cmiAPIEnter(hApp, "cmCallSetTerminalLabel: hsCall=0x%p label=(%d, %d)",
          hsCall, terminalLabel->mcuNumber, terminalLabel->terminalNumber);

    if (emaLock((EMAElement)hsCall))
    {
        if (cmCallMasterSlaveStatus(hsCall) == cmMSMaster)
        {
            /* master only operation */
            message=pvtAddRoot(hVal,((cmElem*)hApp)->synProtH245,0,NULL);
            __pvtBuildByFieldIds(nodeId,hVal,message, {_h245(indication) _h245(conferenceIndication)
                                                   _h245(terminalNumberAssign) LAST_TOKEN}, 0, NULL);

            iMCU = terminalLabel->mcuNumber;
            iTerminal = terminalLabel->terminalNumber;
            pvtAdd(hVal,nodeId,__h245(mcuNumber),iMCU,NULL,NULL);
            pvtAdd(hVal,nodeId,__h245(terminalNumber),iTerminal,NULL,NULL);

            res = sendMessageH245((HCONTROL)ctrl, message);
            pvtDelete(hVal,message);
        }
        else
            res = RV_ERROR_UNKNOWN;

        emaUnlock((EMAElement)hsCall);
    }
    cmiAPIExit(hApp, "cmCallSetTerminalLabel: [%d]", ret);
    return ret;
}



RVAPI int RVCALLCONV /* RV_ERROR_UNKNOWN if terminal label is not defined for this terminal */
cmCallGetTerminalLabel(
               /* Get the local endpoint terminal label. */
               IN      HCALL               hsCall,
               OUT     cmTerminalLabel*    terminalLabel /* user allocated */
               )
{
    int ret=0;
    HAPP hApp=(HAPP)emaGetInstance((EMAElement)hsCall);
    H245Control* ctrl=(H245Control*)cmiGetControl(hsCall);

    if (!hsCall || !hApp) return RV_ERROR_UNKNOWN;
    if (!terminalLabel) return RV_ERROR_UNKNOWN;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美人与禽zozo性伦| 国产成人亚洲综合a∨婷婷 | 《视频一区视频二区| 欧美群妇大交群的观看方式| 岛国一区二区三区| 天天综合色天天| 中文字幕字幕中文在线中不卡视频| 欧美一级高清片| 91福利社在线观看| 成人小视频免费在线观看| 美女免费视频一区二区| 亚洲一区二区三区四区在线| 国产三级久久久| 欧美一区二区三区在线观看| 一本久道中文字幕精品亚洲嫩| 国产成人欧美日韩在线电影| 青青草国产成人av片免费| 亚洲尤物在线视频观看| 中文字幕一区二区三区在线不卡| 久久夜色精品国产噜噜av| 欧美挠脚心视频网站| 欧美中文字幕一二三区视频| k8久久久一区二区三区| 国产精品一区二区久激情瑜伽| 美女视频黄 久久| 日韩av一区二区在线影视| 亚洲午夜视频在线观看| 亚洲美女视频在线观看| 亚洲欧洲一区二区三区| 国产精品素人视频| 日本一区二区免费在线| 久久九九全国免费| 久久精品综合网| 久久亚洲欧美国产精品乐播 | 中文字幕在线免费不卡| 国产欧美一区二区精品性色| 国产日韩欧美精品综合| 久久久久亚洲蜜桃| 久久亚洲综合av| 久久久99久久精品欧美| 26uuu久久天堂性欧美| 精品国产伦一区二区三区观看方式| 日韩一区二区在线观看视频| 欧美一区二区视频网站| 日韩精品最新网址| 精品欧美黑人一区二区三区| ww久久中文字幕| 国产亚洲人成网站| 国产精品入口麻豆九色| ...xxx性欧美| 亚洲一区电影777| 五月天亚洲精品| 另类专区欧美蜜桃臀第一页| 久久精品国产亚洲一区二区三区| 精品无码三级在线观看视频| 国产成人av一区| 99re热视频精品| 欧美视频三区在线播放| 91精品欧美一区二区三区综合在 | 亚洲一区二区三区三| 亚洲国产一区二区三区青草影视 | 欧美日韩和欧美的一区二区| 精品视频免费在线| 欧美xxxxx牲另类人与| 久久综合色综合88| 日韩美女啊v在线免费观看| 亚洲一二三四区不卡| 麻豆精品在线播放| 风间由美性色一区二区三区| 日本二三区不卡| 日韩精品一区二区三区老鸭窝| 国产无一区二区| 色综合色综合色综合色综合色综合| 国产精品久久久久精k8| 亚洲国产综合视频在线观看| 日韩成人一级片| 国产精品一二三在| 91久久人澡人人添人人爽欧美| 91麻豆精品国产91久久久更新时间| 2014亚洲片线观看视频免费| 亚洲伦在线观看| 久久99国内精品| 91在线国内视频| 日韩欧美亚洲另类制服综合在线| 亚洲国产精品成人综合色在线婷婷 | 亚洲国产一区视频| 国产一区高清在线| 欧美自拍偷拍午夜视频| 久久久久亚洲蜜桃| 亚洲成人午夜影院| 成人免费视频免费观看| 欧美精品久久99| 国产一区二区视频在线播放| gogo大胆日本视频一区| 欧美一级久久久| 亚洲蜜桃精久久久久久久| 狠狠网亚洲精品| 欧美久久久久中文字幕| 亚洲欧美综合色| 国产一区91精品张津瑜| 欧美绝品在线观看成人午夜影视| 国产精品视频第一区| 美女高潮久久久| 欧美日韩一区二区三区四区| 国产精品丝袜在线| 黄色资源网久久资源365| 欧美日韩免费一区二区三区视频| 国产精品拍天天在线| 国模少妇一区二区三区| 5858s免费视频成人| 亚洲精品成人少妇| 不卡视频一二三| 久久久www免费人成精品| 久久精品国产一区二区三区免费看| 欧美日韩性生活| 樱桃视频在线观看一区| 99精品偷自拍| 中文字幕精品三区| 国产传媒一区在线| 精品国产91乱码一区二区三区| 日韩激情视频网站| 欧美色综合网站| 亚洲自拍偷拍欧美| 在线一区二区三区| 洋洋成人永久网站入口| 95精品视频在线| 亚洲欧美另类在线| 91丝袜国产在线播放| 中文字幕一区二区三区色视频| 高清不卡在线观看av| 国产精品美日韩| 成人高清免费观看| 国产精品久久久久久久久搜平片| 国产91丝袜在线观看| 国产精品三级在线观看| 不卡欧美aaaaa| 亚洲欧洲av在线| 色狠狠综合天天综合综合| 亚洲猫色日本管| 欧美性一级生活| 亚洲va欧美va国产va天堂影院| 欧美探花视频资源| 午夜国产精品一区| 日韩一区二区麻豆国产| 看电视剧不卡顿的网站| 日韩欧美高清一区| 国产盗摄女厕一区二区三区| 国产精品伦一区二区三级视频| 成人av免费观看| 伊人性伊人情综合网| 欧美无乱码久久久免费午夜一区 | 国产一区不卡在线| 国产偷国产偷亚洲高清人白洁| 高清在线成人网| 亚洲人成亚洲人成在线观看图片| 在线亚洲一区二区| 日本在线不卡视频| 久久久午夜精品| av电影在线观看一区| 亚洲影视在线观看| 欧美一区二区三区四区视频| 国精产品一区一区三区mba视频| 日本一区二区三区在线不卡| 色吊一区二区三区| 奇米影视7777精品一区二区| 久久女同性恋中文字幕| 91亚洲永久精品| 日韩精品五月天| 久久九九影视网| 91福利在线看| 国精产品一区一区三区mba视频| 日韩一区日韩二区| 日本成人在线网站| 精品一区二区免费| 中文字幕乱码日本亚洲一区二区 | 国产精品91一区二区| 亚洲人午夜精品天堂一二香蕉| 欧美美女网站色| 国产成人精品免费在线| 亚洲综合在线视频| 精品国产91久久久久久久妲己 | 欧美电影免费提供在线观看| 不卡av在线网| 免费在线成人网| 亚洲欧洲美洲综合色网| 日韩欧美一二区| 日本高清免费不卡视频| 久88久久88久久久| 一二三四社区欧美黄| 久久在线免费观看| 欧美日韩亚洲综合在线| 成人小视频在线| 麻豆91精品91久久久的内涵| 亚洲色图制服诱惑| 国产亚洲欧美一级| 欧美一二区视频| 欧美性xxxxxx少妇| 成人av资源下载| 狠狠色综合播放一区二区| 午夜精品在线视频一区|