VAPI API Reference Documentation
2.18.x

Video related API functions

Functions

VSTATUS VAPI_SetMediaSubLayer (IN CONNID ConnId, IN EMediaSubLayer eMediaSubLayer, IN SRequest *pstRequest)
VSTATUS VAPI_SendH245Message (IN CONNID ConnId, IN U16 uiH245MsgLength, IN U8 *ptrH245Msg, IN SRequest *pstRequest)

Function Documentation

VSTATUS VAPI_SendH245Message ( IN CONNID  ConnId,
IN U16  uiH245MsgLength,
IN U8 ptrH245Msg,
IN SRequest pstRequest 
)


Description:
This API call is to transmit ITU-T H.245 protocol messages over established H.223 transport.

Note: Comcerto reports all correct H.223 control channel data to host using IMSoTDM_RxH245 indication.
For this purpose user must register indication handler by VAPI_RegisterEventCallback().


Inputs-Outputs
ConnId Connection on which H245 message to be sent.
uiH245MsgLength H.245 message length.
pstPlayData Pointer to H.245 message buffer.
pstRequest If NULL then the call is in blocking mode (synchronous).


Returns:

  • VAPI_ERR_LIB_NOT_INITIALIZED
  • VAPI_ERR_INVALID_CONNID
  • VAPI_ERR_DEV_IS_NOT_UP
  • VAPI_ERR_DEVICE_NOT_INITIALIZED
  • VAPI_ERR_NOMEM


Usage:

...

    U8 H245message[16] = {0x00, 0x01, 0x02, 0x00, 0x05, 0x78, 0x67, 0x43, 
                            0xFA, 0x67, 0x90, 0x54, 0x54, 0x32, 0x83, 0xA5};
    
    U16 H245messageLength = 16;
        
    status = VAPI_SendH245Message(conn_id, H245messageLength, H245message, NULL);
        
    if (status != SUCCESS)
        printf ("VAPI_SendH245Message: error %d\n", status);
...


Commands:

  • IMSoTDM_TxH245
VSTATUS VAPI_SetMediaSubLayer ( IN CONNID  ConnId,
IN EMediaSubLayer  eMediaSubLayer,
IN SRequest pstRequest 
)


Description:
This API call is to address what media sub-layer subsequent API calls are applied to.
This API doesn't send any command to the device. It just set an internal variable.
To set video specific parameters, it is required to issue this API before the VAPI_SetConnIpParams(), VAPI_SetPayloadType(), VAPI_SetCodecType().

Inputs-Outputs
ConnId Connection ID.
eMediaSubLayer Connection media sub-layer to be set.
pstRequest If NULL then the call is in blocking mode (synchronous).


Returns:

  • SUCCESS or VAPI_ERR_PENDING
  • VAPI_ERR_LIB_NOT_INITIALIZED
  • VAPI_ERR_INVALID_DEVID
  • VAPI_ERR_DEV_IS_NOT_UP
  • VAPI_ERR_NOMEM
  • VAPI_ERR_INVALID_PARAM


usage

...
        /* set video sub layer*/
        result = VAPI_SetMediaSubLayer(conn_id, eVideoSubLayer, NULL);
        
        if (result != SUCCESS)
                printf ("VAPI_SetMediaSubLayer: error %d\n", status);
                
        /* set payload type 0x72 for MPEG4 video codec*/
        result |= VAPI_SetPayloadType(conn_id, eMPEG4_ID, 0x72, eTx, NULL);
                                
        /* set codec*/
        result |= VAPI_SetCodecType(conn_id, eMPEG4_ID, NULL);

        if (result != SUCCESS)
                printf ("VAPI_SetPayloadType/Codec: VideoSubLayer error %d\n", status);
...
                                        


Commands: List of Comcerto commands sent:

  • NONE



Mindspeed Technologies ®
Mindspeed Proprietary and Confidential