#ifndef _PL_RTSPCLIENT_H_
|
#define _PL_RTSPCLIENT_H_
|
|
#include "PipeLine.h"
|
#include <string>
|
|
struct RTSPConfig
|
{
|
std::string progName;
|
std::string rtspURL;
|
bool aux; // frame data start with 0x00000001
|
int verbosityLevel;
|
int tunnelOverHTTPPortNum; // portNumBits
|
void* args;
|
|
RTSPConfig() :
|
progName(), rtspURL() ,aux(true), verbosityLevel(1), tunnelOverHTTPPortNum(0), args(nullptr)
|
{ }
|
};
|
|
class PL_RTSPClient : public PipeLineElem
|
{
|
friend void rtsp_client_frame_callback(void* arg, uint8_t* buffer, size_t buffSize);
|
friend void rtsp_client_continue_callback(void* arg);
|
|
public:
|
PL_RTSPClient();
|
virtual ~PL_RTSPClient();
|
|
virtual bool init(void* args);
|
virtual void finit();
|
|
virtual bool pay(const PipeMaterial& pm);
|
virtual bool gain(PipeMaterial& pm);
|
|
private:
|
void* internal;
|
};
|
|
PipeLineElem* create_PL_RTSPClient();
|
|
#endif
|