cn.tee3.avd_SDK-C++  2.1.0
avimporter.h
浏览该文件的文档.
1 #ifndef RT_AVImporter_H
2 #define RT_AVImporter_H
3 
4 #include "common.h"
5 #include "errorcode.h"
6 
7 namespace tee3 {
8  namespace avd {
9  class User;
10 
17  public:
22  public:
28  virtual void onInitResult(Result result) = 0;
29  protected:
30  virtual ~EngineListener() {}
31  };
32 
36  class IListener {
37  public:
42  virtual void onStatus(Result result) = 0;
43 
57  virtual void onError (Result reason) = 0;
58 
60 
70  virtual void onJoinResult(Result result) = 0;
71  protected:
72  virtual ~IListener() {}
73  };
74 
75  public:
85  static Result initEngine(EngineListener* cb, const String& severuri, const String& appkey, const String& secretkey);
86 
92  static Result uninitEngine();
93 
94  static bool isEngineWorking();
95 
96  public:
103  static IAVImporter* obtain(const RoomId& roomId);
108  virtual void release() = 0;
109  public:
117  virtual Result setListener(IListener* listener) = 0;
122  virtual const RoomId& getRoomId() const = 0;
130  virtual Result join(const User& user) = 0;
131 
137  virtual Result enableAudio(bool enable) = 0;
143  virtual Result enableVideo(bool enable) = 0;
144 
148  virtual bool isWorking() const = 0;
149 
151 
162  virtual Result audio_inputPCMFrame(
163  uint64 timestamp_ns, int sampleRate, int channels, const uint8* data, size_t len) = 0;
164 
176  virtual Result audio_inputAACFrame(
177  uint64 timestamp_ns, int sampleRate, int channels, const uint8* data, size_t len, int samplesOfEncodedData) = 0;
178 
180 
197  virtual Result video_inputRAWFrame(
198  uint64 timestamp_ns, uint32 format, int w, int h, const uint8* data, size_t len, int rotation, bool mirror) = 0;
212  virtual Result video_input264Frame(
213  uint64 timestamp_ns, int w, int h, const uint8* sample, size_t sample_size) = 0;
214 
215  protected:
216  virtual ~IAVImporter() {};
217  };
218 
219  } // namespace avd
220 } // namespace tee3
221 
222 #endif //RT_AVImporter_H
virtual ~IListener()
Definition: avimporter.h:72
音视频流导入接口.
Definition: avimporter.h:16
音视频流导入回调接口.
Definition: avimporter.h:36
int Result
返回值类型
Definition: combase.h:9
#define RT_API_EXPORT
Definition: defines.h:186
引擎操作回调接口.
Definition: avimporter.h:21
unsigned int uint32
Definition: defines.h:391
std::string String
tee3定义的String类型
Definition: common.h:10
unsigned long long uint64
Definition: defines.h:380
virtual ~IAVImporter()
Definition: avimporter.h:216
String RoomId
房间号类型,唯一标识房间内一个房间,长度不大于Max_RoomId定义;定义如下:[RId_P|T_H|F_P|M_type_guid];...
Definition: common.h:11
unsigned char uint8
Definition: defines.h:395
用户数据结构.用户集合类型
Definition: musermanager.h:14
Definition: audiocapture.h:5
virtual ~EngineListener()
Definition: avimporter.h:30