📄 cbkrtp.c
字号:
/////////////////////////////////////////////////////////////////////// cbkrtp.c//// processing module for callbacks from RTP//// Copyright Netergy Microelectronics 2000, 2001//////////////////////////////////////////////////////////////////////#include <NNstyle.h>#include "stdio.h"#include "rtpapi.h"#include "common.h"#include "endpoint.h"///////////////////////////////////////////////////////////////////// _RTPInstanceCB// ASYNCHRONOUS notification callback from RTP Instance// hRtpInstance - RTP instance handle// dwUserData - pointer to user data// eMsg - callback type// pData - callback specific data ////////////////////////////////////////////////////////////////////LONG _RTPInstanceCB(H_PROTOCOL_INSTANCE hRtpInstance, DWORD dwUserData, E_RTP_CBKMSG eMsg, RTP_CBKDATA *pData){ CALL *pCall = (CALL*)dwUserData; switch(eMsg) { case RTP_CBKMSG_PACKETTX: if (pCall->dwLength > 0) { pData->PacketTx.oPayload = pCall->oPayload; pData->PacketTx.dwRTPTimeStampTx = pCall->dwTimeStamp; pData->PacketTx.bMarker = pCall->bMarker; pData->PacketTx.dwLength = pCall->dwLength; memcpy(pData->PacketTx.poData, pCall->achData, pCall->dwLength); pCall->dwLength = 0; } else { pData->PacketTx.dwLength = 0; } break; case RTP_CBKMSG_PACKETRX: // Save packet pCall->dwTimeStamp = pData->PacketRx.dwRTPTimeStampRx; pCall->oPayload = pData->PacketRx.oPayload; pCall->bMarker = pData->PacketRx.bMarker; pCall->dwLength = pData->PacketRx.dwLength; memcpy(pCall->achData, pData->PacketRx.poData, pData->PacketRx.dwLength); break; default: break; } return PROTOCOL_SUCCESS;}//////////////////////////////////// END OF FILE /////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -