Note: This feature is for full-duplex and simplex send H.264 video endpoints. The procedure and example shown are for full-duplex endpoints.
Query an H.264 video endpoint to determine H.264-specific information related to transmit packetization.
To query the H.264 endpoint, create the MSP_QRY_RTPFDX_H264_TX_STATUS query and send it to the CG board. The MSP_QRY_RTPFDX_H264_TX_STATUS query uses the msp_ENDPOINT_RTPFDX_H264_TX_STATUS structure to display parameters for the specified RTP endpoint.
For more information, see Creating and sending MSPP queries and msp_ENDPOINT_RTPFDX_H264_TX_STATUS.
The following event can be returned:
|
Event |
Description |
|
MSPEVN_QUERY_DONE |
MSP_QRY_RTPFDX_H264_TX_STATUS query was successfully sent to the specified endpoint on the CG board. |
The following example shows how to query the video jitter filter:
DWORD query;
query = mspBuildQuery(MSP_ENDPOINT_RTPFDX_VIDEO_H264, MSP_QRY_RTPFDX_H264_TX_STATUS);
if (mspSendQuery(ephd, query) != SUCCESS)
printf("\n\t ERROR: mspSendQuery failed.\n");
expectedEvent = (MSPEVN_QUERY_DONE | MSP_QRY_RTPFDX_H264_TX_STATUS);
if (WaitForSpecificEvent(gw, ctaQueueHd, expectedEvent, &pevent) != 0)
printf("\n\tERROR: mspSendQuery failed to send valid completion event\n");
printf("\n numPkts = %d, numNALs = %d, numAUs = %d, numIDRAUs = %d, numSPS = %d, numPPS = %d, numSEI = %d",
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numPkts),
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numNALs),
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numAUs),
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numIDRAUs),
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numSPS),
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numPPS),
NMS2H_DWORD(((msp_ENDPOINT_RTPFDX_H264_TX_STATUS*)(pevent->buffer))->numSEI));
mspReleaseBuffer(ctaQueueHd, pevent.buffer);