You can request that an endpoint discard incoming leading partial frame video packets to reduce video noise. When you do this, the endpoint discontinues forwarding partial frames in the direction of the PSTN until it detects an I-frame. At that time, the endpoint resumes forwarding the detected I-frame and all subsequent frames.
Use this feature to improve quality where a conversation might be interrupted and then restarted, such as in a video tromboning application.
Note: This feature is for full-duplex and simplex receive H.263 RTP endpoints only. The procedure and example are shown for full-duplex endpoints.
The following table shows how to discard leading partial frame video packets:
|
Step |
Action |
|
1 |
Disable the RTP endpoint by invoking mspDisableEndpoint. |
|
2 |
Create the MSP_CMD_RTPFDX_DISCARD_PENDING_FRAMES command. This command has no associated structure. For more information see Creating and sending MSPP commands. |
|
3 |
Enable the RTP endpoint by invoking mspEnable. |
The following event can be returned:
|
Event |
Description |
|
MSPEVN_SENDCOMMAND_DONE |
MSP_CMD_RTPFDX_DISCARD_PENDING_FRAMES command was successfully sent to the specified RTP endpoint on the CG board. |
The following example shows how to discard leading partial frame video packets for the endpoint with the handle ephd:
ret = mspDisableEndpoint(ephd);
ret =
WaitForSpecificEvent(gw,
ctaQueueHd,
MSPEVN_DISABLE_ENDPOINT_DONE, &event );
ret = mspSendCommand(ephd, mspBuildCommand(MSP_ENDPOINT_RTPFDX_VIDEO_H263,
MSP_CMD_RTPFDX_DISCARD_PENDING_PFRAMES), NULL, 0);
ret =
WaitForSpecificEvent(gw,
ctaQueueHd, (
MSPEVN_SENDCOMMAND_DONE
SP_CMD_RTPFDX_DISCARD_PENDING_PFRAMES),&event );
ret = mspEnableEndpoint(ephd);
ret = WaitForSpecificEvent(gw,
ctaQueueHd,
MSPEVN_ENABLE_ENDPOINT_DONE, &event );