📄 cmctrl.h
字号:
IN HAPPCALL haCall,
IN HCALL hsCall,
IN cmControlState state,
IN cmControlStateMode stateMode);
typedef int
(RVCALLCONV *cmEvCallMasterSlaveT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN RvUint32 terminalType,
IN RvUint32 statusDeterminationNumber);
/********************************************************************************************
* cmEvCallControlMessageT
* purpose : Notification function for the application that an incoming H.245 message
* was received. The messages reported by this callback are not handled by
* internal state machines in the stack.
* input : haCall - Application's handle for the call
* hsCall - Stack's handle for the call
* message - Node ID of the received message
* messageType - Type of message received
* output : none
********************************************************************************************/
typedef int
(RVCALLCONV *cmEvCallControlMessageT)(
IN HAPPCALL haCall,
IN HCALL hsCall,
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvPvtNodeId message,
IN cmH245MessageType messageType);
typedef struct
{
cmEvCallCapabilitiesT cmEvCallCapabilities;
cmEvCallCapabilitiesExtT cmEvCallCapabilitiesExt;
cmEvCallNewChannelT cmEvCallNewChannel;
cmEvCallCapabilitiesResponseT cmEvCallCapabilitiesResponse;
cmEvCallMasterSlaveStatusT cmEvCallMasterSlaveStatus;
cmEvCallRoundTripDelayT cmEvCallRoundTripDelay;
cmEvCallUserInputT cmEvCallUserInput;
cmEvCallRequestModeT cmEvCallRequestMode;
cmEvCallMiscStatusT cmEvCallMiscStatus;
cmEvCallControlStateChangedT cmEvCallControlStateChanged;
cmEvCallMasterSlaveT cmEvCallMasterSlave;
cmEvCallControlMessageT cmEvCallControlMessage;
} SCMCONTROLEVENT,*CMCONTROLEVENT;
typedef SCMCONTROLEVENT SCMSESSIONEVENT; /* for backward compatability */
typedef CMCONTROLEVENT CMSESSIONEVENT;
/* --- Control channels callback functions --- */
typedef int
(RVCALLCONV *cmEvChannelStateChangedT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvUint32 state,
IN RvUint32 stateMode);
typedef int
(RVCALLCONV *cmEvChannelNewRateT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvUint32 rate);
typedef int
(RVCALLCONV *cmEvChannelMaxSkewT)(
IN HAPPCHAN haChan1,
IN HCHAN hsChan1,
IN HAPPCHAN haChan2,
IN HCHAN hsChan2,
IN RvUint32 skew);
typedef int
(RVCALLCONV *cmEvChannelSetAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvUint32 ip,
IN RvUint16 port);
typedef int
(RVCALLCONV *cmEvChannelSetRTCPAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvUint32 ip,
IN RvUint16 port);
typedef int
(RVCALLCONV *cmEvChannelParametersT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN char* channelName,
IN HAPPCHAN haChanSameSession,
IN HCHAN hsChanSameSession,
IN HAPPCHAN haChanAssociated,
IN HCHAN hsChanAssociated,
IN RvUint32 rate);
typedef int
(RVCALLCONV *cmEvChannelRTPDynamicPayloadTypeT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvInt8 dynamicPayloadType);
typedef int
(RVCALLCONV *cmEvChannelVideoFastUpdatePictureT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan);
typedef int
(RVCALLCONV *cmEvChannelVideoFastUpdateGOBT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int firstGOB,
IN int numberOfGOBs);
typedef int
(RVCALLCONV *cmEvChannelVideoFastUpdateMBT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int firstGOB,
IN int firstMB,
IN int numberOfMBs);
typedef int
(RVCALLCONV *cmEvChannelHandleT)(
/* provide data type tree handle for this channel */
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int dataTypeHandle,
IN cmCapDataType dataType);
typedef int
(RVCALLCONV *cmEvChannelGetRTCPAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvUint32* ip,
IN RvUint16* port);
typedef int
(RVCALLCONV *cmEvChannelRequestCloseStatusT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN cmRequestCloseStatus status);
typedef int
(RVCALLCONV *cmEvChannelTSTOT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN RvInt8 isCommand, /* 0: indication, 1: command */
IN RvInt8 tradeoffValue); /* 0-31 trade off value */
typedef int
(RVCALLCONV *cmEvChannelMediaLoopStatusT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN cmMediaLoopStatus status);
typedef int
(RVCALLCONV * cmEvChannelReplaceT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN HAPPCHAN haReplacedChannel,
IN HCHAN hsReplacedChannel);
typedef int
(RVCALLCONV * cmEvChannelFlowControlToZeroT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan);
typedef int
(RVCALLCONV * cmEvChannelMiscCommandT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN cmMiscellaneousCommand miscCommand);
typedef int
(RVCALLCONV * cmEvChannelTransportCapIndT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int nodeId
);
typedef int
(RVCALLCONV *cmEvChannelSetNSAPAddressT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN char* address,
IN int length,
IN RvBool multicast);
typedef int
(RVCALLCONV *cmEvChannelSetATMVCT)(
IN HAPPCHAN haChan,
IN HCHAN hsChan,
IN int portNumber);
typedef struct
{
cmEvChannelStateChangedT cmEvChannelStateChanged;
cmEvChannelNewRateT cmEvChannelNewRate;
cmEvChannelMaxSkewT cmEvChannelMaxSkew;
cmEvChannelSetAddressT cmEvChannelSetAddress;
cmEvChannelSetRTCPAddressT cmEvChannelSetRTCPAddress;
cmEvChannelParametersT cmEvChannelParameters;
cmEvChannelRTPDynamicPayloadTypeT cmEvChannelRTPDynamicPayloadType;
cmEvChannelVideoFastUpdatePictureT cmEvChannelVideoFastUpdatePicture;
cmEvChannelVideoFastUpdateGOBT cmEvChannelVideoFastUpdateGOB;
cmEvChannelVideoFastUpdateMBT cmEvChannelVideoFastUpdateMB;
cmEvChannelHandleT cmEvChannelHandle;
cmEvChannelGetRTCPAddressT cmEvChannelGetRTCPAddress;
cmEvChannelRequestCloseStatusT cmEvChannelRequestCloseStatus;
cmEvChannelTSTOT cmEvChannelTSTO;
cmEvChannelMediaLoopStatusT cmEvChannelMediaLoopStatus;
cmEvChannelReplaceT cmEvChannelReplace;
cmEvChannelFlowControlToZeroT cmEvChannelFlowControlToZero;
cmEvChannelMiscCommandT cmEvChannelMiscCommand;
cmEvChannelTransportCapIndT cmEvChannelTransportCapInd;
cmEvChannelSetNSAPAddressT cmEvChannelSetNSAPAddress;
cmEvChannelSetATMVCT cmEvChannelSetATMVC;
} SCMCHANEVENT,*CMCHANEVENT;
/* General_______________________________________________________________________________________________*/
RVAPI int RVCALLCONV /* Real number of channels in configuration or negative value on failure */
cmGetConfigChannels(
/* build array containing the channel names as appear in
the configuration. The strings are copied into array elements */
IN HAPP hApp,
IN int arraySize,
IN int elementLength, /* sizeof each string in array */
OUT char* array[] /* allocated with elements */
);
/************************************************************************
* cmSetControlEventHandler
* purpose: Used only for backward compatibility. Also known as cmSetSessionEventHandler.
* Installs the control event handler
* input : hApp - Stack handle for the application
* cmControlEvent - Pointer to array of pointers to general event callback functions
* size - Size of *cmControlEvent in bytes
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI
int RVCALLCONV cmSetControlEventHandler(
IN HAPP hApp,
IN CMCONTROLEVENT cmControlEvent,
IN int size);
RVAPI
int RVCALLCONV cmGetControlEventHandler(
IN HAPP hApp,
OUT CMCONTROLEVENT cmControlEvent,
IN int size);
#define cmSetSessionEventHandler cmSetControlEventHandler /* for backward compatability */
/************************************************************************
* cmSetChannelEventHandler
* purpose: Installs the channel event handler
* input : hApp - Stack handle for the application
* cmChannelEvent - Pointer to array of pointers to general event callback functions
* size - Size of *cmChannelEvent in bytes
* output : none
* return : Non-negative value on success
* Negative value on failure
************************************************************************/
RVAPI
int RVCALLCONV cmSetChannelEventHandler(
IN HAPP hApp,
IN CMCHANEVENT cmChannelEvent,
IN int size);
RVAPI
int RVCALLCONV cmGetChannelEventHandler(
IN HAPP hApp,
OUT CMCHANEVENT cmChannelEvent,
IN int size);
/* returns the value-tree node id of h245 configuration root node */
RVAPI
RvInt32 RVCALLCONV cmGetH245ConfigurationHandle(
IN HAPP hApp);
/* Control Session API_______________________________________________________________________________*/
RVAPI
int RVCALLCONV cmCallCreateControlSession(
IN HCALL hsCall,
IN OUT cmTransportAddress* addr);
RVAPI int RVCALLCONV
cmCallCloseControlSession(
/* Close the H.245 PDL protocol tree */
IN HCALL hsCall);
RVAPI int RVCALLCONV
cmCallHasControlSession(
/* Checks for the H.245 PDL protocol tree */
IN HCALL hsCall);
/* --- master/slave --- */
RVAPI
int RVCALLCONV cmCallMasterSlaveDetermine(
/* Start master slave determination request */
IN HCALL hsCall,
IN int terminalType
);
#define cmMasterSlaveDetermine cmCallMasterSlaveDetermine
RVAPI int RVCALLCONV /* master/slave status of this call */
cmCallMasterSlaveStatus(
IN HCALL hsCall
);
RVAPI int RVCALLCONV
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);
/* --- capabilities --- */
RVAPI int RVCALLCONV /* remote terminal capability set node id, or negative value on failure */
cmCallGetRemoteCapabilities(
/* Get latest remote terminal capability message */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -