C++SDK  1.0.0
rtspclient.h
浏览该文件的文档.
1 #ifndef RTC_RtspClient_H_
2 #define RTC_RtspClient_H_
3 
4 #include "common.h"
5 
6 namespace tee3 {
7  namespace avd {
12  class FakeAudioCapturer;
13  class FakeVideoCapturer;
14  class IVideoRender;
15 
17  {
18  NORMAL = 0,
20  };
21 
23  public:
29  public:
31 
43  virtual void videoEncodedOut(VideoCodec type, uint64 timestamp_ns, unsigned int width, unsigned int height, bool isKeyFrame, const uint8 *data, unsigned int len) = 0;
44 
60  virtual void videoYUVOut(uint64 timestamp_ns,
61  const uint8_t* dataY,
62  const uint8_t* dataU,
63  const uint8_t* dataV,
64  int width,
65  int height,
66  int strideY,
67  int strideU,
68  int strideV,
69  int rotation) = 0;
70 
71 
72  };
74  public:
76 
87  virtual void audioEncodedOut(AudioCodec type, uint64 timestamp_ns, int sampleRate, int channels, const uint8 *data, unsigned int len) = 0;
98  virtual void audioPCMOut(uint64 timestamp_ns, int sampleRate, int channels, const uint8 *data, unsigned int len) = 0;
99  };
101  {
102  public:
103  virtual void OnRtspStatusNotify(tee3::avd::RstpStauts st) = 0;
104 
105  virtual void OnStartResult(Result rv) = 0;
106 
107  virtual void OnStopResult(Result rv) = 0;
108  };
109  public:
114  static RtspClient* create();
115 
120  static void destroy(RtspClient*);
121 
129  virtual Result start(const String& uri, String username = "", String password = "") = 0;
134  virtual Result stop() = 0;
135 
144  virtual Result setVideoListener(IVideoListener* listener) = 0;
145 
154  virtual Result setAudioListener(IAudioListener* listener) = 0;
155 
159  virtual Result setStatusListener(IListenerStatus* listner) = 0;
165  virtual Result setRender(tee3::avd::IVideoRender* render,bool isattach = true) = 0;
168  virtual Result detachRender(tee3::avd::IVideoRender* render) = 0;
171  virtual Result detachAllRender() = 0;
181  virtual Result setVideoCapture(tee3::avd::FakeVideoCapturer* capture) = 0;
191  virtual Result setAudioCapture(tee3::avd::FakeAudioCapturer* capture) = 0;
192 
201  virtual Result enableVideoCallbackEncoded(bool callbackEncodedData = true) = 0;
210  virtual Result enableVideoCallbackYUV(bool callbackYUVData = true) = 0;
219  virtual Result enableAudioCallbackEncoded(bool callbackEncodedData = true) = 0;
228  virtual Result enableAudioCallbackPCM(bool callbackPcmData = true) = 0;
229 
234  virtual void setRtspMoudul(tee3::avd::RSTP_STREAM stm) = 0;
235 
238  virtual std::string getErrMsg(int rt) = 0;
239 
242  virtual bool getRtspIsStarted() = 0;
243 
246  virtual void setExportItem(void* itme) = 0;
247 
248  virtual void videoDecodedOut(std::string rchandle, tee3::avd::VideoCodec type, uint64 timestamp_ns, unsigned int width, unsigned int height, bool isKeyFrame, const uint8 *data, unsigned int len) = 0;
249  protected:
250  virtual ~RtspClient() {};
251  };
252 
253  } // namespace avd
254 } // namespace tee3
255 
256 #endif //RTC_RtspClient_H_
NAMESPACE_TEE3_BEGIN typedef std::string String
Definition: common.h:10
Definition: audiocapture.h:12
RSTP_STREAM
Definition: common.h:579
Definition: videocapture.h:15
int Result
Definition: combase.h:13
#define RT_API_EXPORT
Definition: defines.h:188
Definition: rtspclient.h:100
VideoCodec
Definition: combase.h:174
unsigned long long uint64
Definition: defines.h:382
Definition: rtspclient.h:22
Definition: videorender.h:85
Definition: rtspclient.h:73
unsigned char uint8
Definition: defines.h:397
Definition: rtspclient.h:18
virtual ~RtspClient()
Definition: rtspclient.h:250
Definition: rtspclient.h:19
AudioCodec
Definition: combase.h:684
Definition: audiocapture.h:5
RstpStauts
Definition: rtspclient.h:16
Definition: rtspclient.h:28