/******************************************************************************
|
* 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
|