NERtc Windows SDK
nertc_engine.h
Go to the documentation of this file.
1 
9 #ifndef NERTC_ENGINE_H
10 #define NERTC_ENGINE_H
11 
12 #include "nertc_base.h"
13 #include "nertc_base_types.h"
14 #include "nertc_engine_defines.h"
16 
21 namespace nertc
22 {
26  const char* app_key;
28  const char* log_dir_path;
34 };
35 
41 {
42 public:
43  virtual ~IRtcEngine() {}
44 
58  virtual int initialize(const NERtcEngineContext& context) = 0;
59 
70  virtual void release(bool sync = true) = 0;
71 
89  virtual int setClientRole(NERtcClientRole role) = 0;
90 
102  virtual int setChannelProfile(NERtcChannelProfileType profile) = 0;
103 
125  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid) = 0;
126 
146  virtual int switchChannel(const char* token, const char* channel_name) = 0;
147 
164  virtual int leaveChannel() = 0;
165 
174  virtual int queryInterface(NERtcInterfaceIdType iid, void** inter) = 0;
175 
196  virtual int enableLocalAudio(bool enabled) = 0;
197 
211  virtual int setupLocalVideoCanvas(NERtcVideoCanvas* canvas) = 0;
212 
227  virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas* canvas) = 0;
228 
247  virtual int enableLocalVideo(bool enabled) = 0;
248 
264  virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe) = 0;
265 };
266 
267 } //namespace nertc
268 
269 
271 
274 
282 NERTC_API nertc::IRtcEngine* NERTC_CALL createNERtcEngine();
283 
287 NERTC_API void NERTC_CALL destroyNERtcEngine(void *& nertc_engine_inst);
288 
290 
291 
293 #endif
virtual int setChannelProfile(NERtcChannelProfileType profile)=0
virtual int switchChannel(const char *token, const char *channel_name)=0
virtual int setClientRole(NERtcClientRole role)=0
Definition: nertc_engine_event_handler_ex.h:26
NERtcRemoteVideoStreamType
Definition: nertc_engine_defines.h:410
const char * log_dir_path
Definition: nertc_engine.h:28
NERTC SDK回调扩展接口头文件。 NERTC SDK所有接口参数说明: 所有与字符串相关的参数(char *)全部为UTF-8编...
virtual int queryInterface(NERtcInterfaceIdType iid, void **inter)=0
virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe)=0
NERtcLogLevel
Definition: nertc_engine_defines.h:1060
bool video_prefer_hw_decoder
Definition: nertc_engine.h:32
virtual int enableLocalAudio(bool enabled)=0
NERTC_API nertc::IRtcEngine *NERTC_CALL createNERtcEngine()
NERtcChannelProfileType
Definition: nertc_engine_defines.h:47
virtual int enableLocalVideo(bool enabled)=0
NERtc SDK的一些定义
IRtcEngineEventHandlerEx * event_handler
Definition: nertc_engine.h:27
NERTC_API void NERTC_CALL destroyNERtcEngine(void *&nertc_engine_inst)
virtual int setupLocalVideoCanvas(NERtcVideoCanvas *canvas)=0
virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas *canvas)=0
virtual int initialize(const NERtcEngineContext &context)=0
定义导出宏。该文件只定义导出宏,不定义其他任何东西!
namespace nertc
NERtcClientRole
Definition: nertc_engine_defines.h:41
NERtcInterfaceIdType
Definition: nertc_engine_defines.h:34
uint32_t log_file_max_size_KBytes
Definition: nertc_engine.h:30
NERtcLogLevel log_level
Definition: nertc_engine.h:29
Definition: nertc_engine.h:40
virtual int joinChannel(const char *token, const char *channel_name, uid_t uid)=0
const char * app_key
Definition: nertc_engine.h:26
SDK基本类型定义
bool video_prefer_hw_encoder
Definition: nertc_engine.h:31
bool video_use_exnternal_render
Definition: nertc_engine.h:33
virtual int leaveChannel()=0
virtual void release(bool sync=true)=0
Definition: nertc_engine_defines.h:833
uint64_t uid_t
Definition: nertc_engine_defines.h:30
Definition: nertc_engine.h:25