/****************************************************************************** * FILE: MediaRelay.h * Description: * Thread receive packet interface class. * * Modified Code History * Mark Date By Modification Reason ******************************************************************************* * 01 2013-5-2 Lichun Initial creation. ******************************************************************************/ #if !defined(__UDP_STREAM_TREANS_H__) #define __UDP_STREAM_TREANS_H__ #include "TypeDef.h" #include "RtpApp.h" #include "RtpApp2.h" #include "librtsp.h" #include "str.h" #include "tool.h" #include "StreamParse.h" //#define _WRITE_FILE_ using namespace std; class CUdpStreamTrans: public CRtpApp, public CRtpApp2 { public: CUdpStreamTrans(); ~CUdpStreamTrans(); bool SetStreamTransParam(StreamTransType_E streamtype, const char *sendip, int sendport, const char *recvip, int recvport); void SetStreamCallBackParam(PlayCallBack2 callback, long userdata) { MediaCBFunc = callback; UserData = userdata; } int InitRtp(void); private: //Call back function of receiving rtp void CBRtpRecv(); int HandleRecvStream(UINT8* pAFrame, UINT32 FrameSize, int PayLoadType, bool bMark); private: char m_StreamSendIp[IPSTR_MAX_LEN+1]; int m_StreamSendPort; char m_StreamRecvIp[IPSTR_MAX_LEN+1]; int m_StreamRecvPort; long UserData; //Óû§Êý¾Ý£¬¿ÉÒÔÊǾä±ú»òÕ߯äËüÓ¦ÓÃÖ¸ÕëµØÖ· PlayCallBack2 MediaCBFunc; //ýÌåÁ÷»Øµ÷º¯ÊýÖ¸Õë long m_StreamParseHandle1; long m_StreamParseHandle2; long m_StreamParseHandle3; int m_RecvStreamType; VideoStreamType_E m_eVideoStreamType; }; #endif