?? cmctrl.h
字號(hào):
#ifdef __cplusplus
extern "C" {
#endif
/*
NOTICE:
This document contains information that is proprietary to RADVision LTD..
No part of this publication may be reproduced in any form whatsoever without
written prior approval by RADVision LTD..
RADVision LTD. reserves the right to revise this publication and make changes
without obligation to notify any person of such revisions or changes.
*/
#ifndef CMCTRL_H
#define CMCTRL_H
#ifndef CM_H
#error cmctrl.h included improperly. Use #include <cm.h> instead.
#else
#ifndef _TRANSPCAP_
#include <transpcap.h>
#endif
DECLARE_OPAQUE(HAPPCHAN);
DECLARE_OPAQUE(HCHAN);
typedef
int
(*cmNewProtocolEH)(void);
/*
typedef
int
(*cmNewProtocolEH)(
IN HPdlAProtocol haProtocolParent,
IN HPdlSProtocol hsProtocol,
OUT HPdlAProtocol* lphaProtocol,
IN char* protocolName,
OUT newProtocolEH* newProtocol,
OUT newMessageEH* newMessage,
OUT BOOL* selfDestructing
);
------------------------------------------------------------------------- */
typedef enum
{
cmChannelStateDialtone,
cmChannelStateRingBack,
cmChannelStateConnected,
cmChannelStateDisconnected,
cmChannelStateIdle,
cmChannelStateOffering
} cmChannelState_e;
typedef enum
{
cmChannelStateModeOn,
cmChannelStateModeOff,
cmChannelStateModeDisconnectedLocal,
cmChannelStateModeDisconnectedRemote,
cmChannelStateModeDisconnectedMasterSlaveConflict,
cmChannelStateModeDuplex,
/* marina */
cmChannelStateModeDisconnectedReasonUnknown,
cmChannelStateModeDisconnectedReasonReopen,
cmChannelStateModeDisconnectedReasonReservationFailure
} cmChannelStateMode_e;
typedef enum {
cmCapReceive=1,
cmCapTransmit=2,
cmCapReceiveAndTransmit=3
} cmCapDirection;
typedef enum {
cmCapEmpty=0,
cmCapAudio=1,
cmCapVideo=2,
cmCapData=3,
cmCapNonStandard=4,
cmCapUserInput=5,
cmCapConference=6,
cmCapH235=7,
cmCapMaxPendingReplacementFor=8
} cmCapDataType;
typedef struct {
char *name;
INT32 capabilityId; /* capabilityTableEntryNumber */
int capabilityHandle; /* capability item message tree (video/audio/data/nonStandard) */
cmCapDirection direction;
cmCapDataType type;
} cmCapStruct;
typedef enum {
cmCapAccept=1,
cmCapReject
} cmCapStatus;
typedef enum {
cmMSSlave=1,
cmMSMaster,
cmMSError
} cmMSStatus;
typedef enum {
cmRequestCloseRequest, /* Received request to close channel */
cmRequestCloseConfirm, /* Request to close this channel is confirmed */
cmRequestCloseReject /* Request to close this channel is rejected */
} cmRequestCloseStatus;
typedef enum {
cmMediaLoopRequest, /* Received request for a media loop on a channel */
cmMediaLoopConfirm, /* Media loop confirmed */
cmMediaLoopOff /* Media loop on channel is canceled */
} cmMediaLoopStatus;
typedef struct {
char *data; /* general string formatted data (4 bytes/char) */
int length; /* in bytes */
} cmUserInputData;
typedef enum {
/* path in paranthesis indicates the nodeId syntax */
cmReqModeRequest, /* request mode (requestMode.requestedModes) */
cmReqModeAccept, /* request acknoledged (requestModeAck.response) */
cmReqModeReject, /* request rejected (requestModeReject.cause) */
cmReqModeReleaseOut, /* Outgoing request released due to timeout (N/A) */
cmReqModeReleaseIn /* Incoming request released due to timeout (N/A) */
} cmReqModeStatus;
typedef enum {
cmMiscMpOn, /* multipoint mode command is on (set) */
cmMiscMpOff /* multipoint mode command is off (cancel) */
} cmMiscStatus;
typedef struct {
char name[32];
INT32 entryId; /* ModeElement node id */
} cmReqModeEntry;
typedef struct {
UINT8 mcuNumber; /* constraint: 0..192 */
UINT8 terminalNumber; /* constraint: 0..192 */
} cmTerminalLabel;
typedef enum {
cmControlStateConnected,
cmControlStateConference,
cmControlStateTransportConnected,
cmControlStateTransportDisconnected,
/* marina */
cmControlStateFastStart
} cmControlState;
typedef enum {
cmControlStateModeNull
} cmControlStateMode;
/* marina */
typedef enum
{
cmIssueJoin =0,
cmIssueQueryAndJoin,
cmIssueCreate ,
cmIssueInvite ,
cmWaitForInvite,
cmOriginateCall,
cmWaitForCall,
cmIssueQuery
} cmT120SetupProcedure;
typedef enum
{
cmCloseReasonUnknown=0,
cmCloseReasonReopen ,
cmCloseReasonReservationFailure,
cmCloseReasonNormal /* for request close only */
}cmCloseLcnReason;
typedef struct
{
int redundancyEncodingMethodId;
int secondaryEncodingId;
}cmRedundancyEncoding;
typedef enum
{
cmVideoFreezePicture=0,
cmVideoSendSyncEveryGOB,
cmVideoSendSyncEveryGOBCancel,
cmSwitchReceiveMediaOff,
cmSwitchReceiveMediaOn,
cmVideoFastUpdatePicture
}
cmMiscellaneousCommand;
#ifndef _FAST_START_H
#include <faststart.h>
#endif
#ifndef _REDENCOD_H
#include <redencod.h>
#endif
#ifndef _USER_INPUT_H
#include <userinput.h>
#endif
/* Callback function prototypes____________________________________________________________________________*/
/* --- Control session callback functions --- */
typedef int
(CALLCONV *cmEvCallCapabilitiesT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN cmCapStruct* capabilities[]);
typedef int
(CALLCONV *cmEvCallCapabilitiesExtT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN cmCapStruct*** capabilities[]);
typedef int
(CALLCONV *cmEvCallNewChannelT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN HCHAN hsChan,
OUT LPHAPPCHAN lphaChan);
typedef int
(CALLCONV *cmEvCallCapabilitiesResponseT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN UINT32 status);
typedef int
(CALLCONV *cmEvCallMasterSlaveStatusT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN UINT32 status);
typedef int
(CALLCONV *cmEvCallRoundTripDelayT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN INT32 delay); /* positive: msec delay, negative: expiration */
typedef int
(CALLCONV *cmEvCallUserInputT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN INT32 userInputId /* user input node id */
);
typedef int
(CALLCONV *cmEvCallRequestModeT)(
/* Request to transmit the following modes preferences */
IN HAPPCALL haCall,
IN HCALL hsCall,
IN cmReqModeStatus status,
IN INT32 nodeId /* pvt nodeId handle according to status */
);
typedef int
(CALLCONV *cmEvCallMiscStatusT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN cmMiscStatus status);
typedef int
(CALLCONV *cmEvCallControlStateChangedT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN UINT32 state,
IN UINT32 stateMode);
/* marina */
typedef int
(CALLCONV *cmEvCallMasterSlaveT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN UINT32 terminalType,
IN UINT32 statusDeterminationNumber);
RVAPI int CALLCONV
cmCallMasterSlaveDetermineExt(
/* Start master slave determination request ,
Acknowledge to master slave determination request
set terminalType and determinationNumber .
*/
IN HCALL hsCall,
IN int terminalType,
IN int determinationNumber);
typedef struct
{
cmEvCallCapabilitiesT cmEvCallCapabilities;
cmEvCallCapabilitiesExtT cmEvCallCapabilitiesExt;
cmEvCallNewChannelT cmEvCallNewChannel;
cmEvCallCapabilitiesResponseT cmEvCallCapabilitiesResponse;
cmEvCallMasterSlaveStatusT cmEvCallMasterSlaveStatus;
cmEvCallRoundTripDelayT cmEvCallRoundTripDelay;
cmEvCallUserInputT cmEvCallUserInput;
cmEvCallRequestModeT cmEvCallRequestMode;
cmEvCallMiscStatusT cmEvCallMiscStatus;
cmEvCallControlStateChangedT cmEvCallControlStateChanged;
/* marina */
cmEvCallMasterSlaveT cmEvCallMasterSlave;
} SCMCONTROLEVENT,*CMCONTROLEVENT;
typedef SCMCONTROLEVENT SCMSESSIONEVENT; /* for backward compatability */
typedef CMCONTROLEVENT CMSESSIONEVENT;
/* --- Control channels callback functions --- */
typedef int
(CALLCONV *cmEvChannelStateChangedT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN UINT32 state,
IN UINT32 stateMode);
typedef int
(CALLCONV *cmEvChannelNewRateT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN UINT32 rate);
typedef int
(CALLCONV *cmEvChannelMaxSkewT)(
IN HAPPCHAN haChan1,
IN HCHAN hsChan1,
IN HAPPCHAN haChan2,
IN HCHAN hsChan2,
IN UINT32 skew);
typedef int
(CALLCONV *cmEvChannelSetAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN UINT32 ip,
IN UINT16 port);
typedef int
(CALLCONV *cmEvChannelSetRTCPAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN UINT32 ip,
IN UINT16 port);
typedef int
(CALLCONV *cmEvChannelParametersT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN char* channelName,
IN HAPPCHAN haChanSameSession,
IN HCHAN hsChanSameSession,
IN HAPPCHAN haChanAssociated,
IN HCHAN hsChanAssociated,
IN UINT32 rate);
typedef int
(CALLCONV *cmEvChannelRTPDynamicPayloadTypeT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN INT8 dynamicPayloadType);
typedef int
(CALLCONV *cmEvChannelVideoFastUpdatePictureT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan);
typedef int
(CALLCONV *cmEvChannelVideoFastUpdateGOBT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int firstGOB,
IN int numberOfGOBs);
typedef int
(CALLCONV *cmEvChannelVideoFastUpdateMBT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int firstGOB,
IN int firstMB,
IN int numberOfMBs);
typedef int
(CALLCONV *cmEvChannelHandleT)(
/* provide data type tree handle for this channel */
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int dataTypeHandle,
IN cmCapDataType dataType);
typedef int
(CALLCONV *cmEvChannelGetRTCPAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN UINT32* ip,
IN UINT16* port);
typedef int
(CALLCONV *cmEvChannelRequestCloseStatusT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN cmRequestCloseStatus status);
typedef int
(CALLCONV *cmEvChannelTSTOT)(
IN HAPPCHAN haChan,
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -