xingzilong
2017-08-18 9e5babf9db52e64bdae60137be7696e56241fca6
RtspFace/PL_RTSPClient.h
@@ -4,8 +4,11 @@
#include "PipeLine.h"
#include <string>
struct RTSPConfig
struct PL_RTSPClient_Config
{
   std::string receivingInterfaceAddr;
   int desiredPortNum;
   bool requestStreamingOverTcp;
   std::string progName;
   std::string rtspURL;
   bool aux; // frame data start with 0x00000001
@@ -13,15 +16,19 @@
   int tunnelOverHTTPPortNum; // portNumBits
   void* args;
   
   RTSPConfig() :
   PL_RTSPClient_Config() :
      receivingInterfaceAddr(), desiredPortNum(0), requestStreamingOverTcp(false),
      progName(), rtspURL() ,aux(true), verbosityLevel(1), tunnelOverHTTPPortNum(0), args(nullptr)
   { }
};
struct RtspClientParam;
class PL_RTSPClient : public PipeLineElem
{
   friend void rtsp_client_frame_callback(void* arg, uint8_t* buffer, size_t buffSize);
   friend void rtsp_client_frame_callback(void* arg, uint8_t* buffer, size_t buffSize, timeval presentationTime);
   friend void rtsp_client_continue_callback(void* arg);
   friend void rtsp_client_set_param_callback(void* arg, RtspClientParam& param);
public:
   PL_RTSPClient();
@@ -32,6 +39,9 @@
   virtual bool pay(const PipeMaterial& pm);
   virtual bool gain(PipeMaterial& pm);
   // kill locks internal
   void kill();
   
private:
   void* internal;