#ifndef _PL_RTSPCLIENT_H_ #define _PL_RTSPCLIENT_H_ #include "PipeLine.h" #include struct PL_RTSPClient_Config { std::string progName; std::string rtspURL; bool aux; // frame data start with 0x00000001 int verbosityLevel; int tunnelOverHTTPPortNum; // portNumBits void* args; PL_RTSPClient_Config() : 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, timeval presentationTime); 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