NERtc Windows SDK  V4.6.0
nertc_engine.h
浏览该文件的文档.
1 
7 #ifndef NERTC_ENGINE_H
8 #define NERTC_ENGINE_H
9 
10 #include "nertc_base.h"
11 #include "nertc_base_types.h"
12 #include "nertc_engine_defines.h"
14 
19 namespace nertc
20 {
38  const char* app_key;
56  const char* log_dir_path;
111 };
112 
124 {
125 public:
126  virtual ~IRtcEngine() {}
127 
152  virtual int initialize(const NERtcEngineContext& context) = 0;
153 
173  virtual void release(bool sync = true) = 0;
174 
213  virtual int setClientRole(NERtcClientRole role) = 0;
214 
235  virtual int setChannelProfile(NERtcChannelProfileType profile) = 0;
236 
275  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid) = 0;
276 
316  virtual int switchChannel(const char* token, const char* channel_name) = 0;
317 
343  virtual int leaveChannel() = 0;
344 
363  virtual int queryInterface(NERtcInterfaceIdType iid, void** inter) = 0;
364 
399  virtual int enableLocalAudio(bool enabled) = 0;
400 
425  virtual int setupLocalVideoCanvas(NERtcVideoCanvas* canvas) = 0;
426 
457  virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas* canvas) = 0;
458 
489  virtual int enableLocalVideo(bool enabled) = 0;
490 
520  virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe) = 0;
521 };
522 
523 } //namespace nertc
524 
525 
527 
531 
544 NERTC_API nertc::IRtcEngine* NERTC_CALL createNERtcEngine();
545 
556 NERTC_API void NERTC_CALL destroyNERtcEngine(void *& nertc_engine_inst);
557 
559 
561 
562 #endif
Definition: nertc_engine_event_handler_ex.h:31
Definition: nertc_engine.h:124
virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas *canvas)=0
virtual int initialize(const NERtcEngineContext &context)=0
virtual int queryInterface(NERtcInterfaceIdType iid, void **inter)=0
virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe)=0
virtual int enableLocalVideo(bool enabled)=0
virtual int setChannelProfile(NERtcChannelProfileType profile)=0
virtual int leaveChannel()=0
virtual int switchChannel(const char *token, const char *channel_name)=0
virtual void release(bool sync=true)=0
virtual int joinChannel(const char *token, const char *channel_name, uid_t uid)=0
virtual int enableLocalAudio(bool enabled)=0
virtual int setupLocalVideoCanvas(NERtcVideoCanvas *canvas)=0
virtual int setClientRole(NERtcClientRole role)=0
NERTC_API void NERTC_CALL destroyNERtcEngine(void *&nertc_engine_inst)
NERTC_API nertc::IRtcEngine *NERTC_CALL createNERtcEngine()
namespace nertc
NERtcClientRole
Definition: nertc_engine_defines.h:193
NERtcInterfaceIdType
Definition: nertc_engine_defines.h:164
NERtcLogLevel
Definition: nertc_engine_defines.h:5495
uint64_t uid_t
Definition: nertc_engine_defines.h:134
NERtcChannelProfileType
Definition: nertc_engine_defines.h:223
NERtcRemoteVideoStreamType
Definition: nertc_engine_defines.h:1641
Defines macro output. The file only defines macro output instead of anything else.
NERtc SDK definitions.
The interface header file of expansion callback of the NERTC SDK. All parameter descriptions of the N...
Definition: nertc_engine.h:29
NERtcServerAddresses server_config
Definition: nertc_engine.h:110
const char * app_key
Definition: nertc_engine.h:38
bool video_prefer_hw_decoder
Definition: nertc_engine.h:92
bool video_use_exnternal_render
Definition: nertc_engine.h:101
const char * log_dir_path
Definition: nertc_engine.h:56
IRtcEngineEventHandlerEx * event_handler
Definition: nertc_engine.h:47
bool video_prefer_hw_encoder
Definition: nertc_engine.h:83
NERtcLogLevel log_level
Definition: nertc_engine.h:65
uint32_t log_file_max_size_KBytes
Definition: nertc_engine.h:74
Definition: nertc_engine_defines.h:5627
Definition: nertc_engine_defines.h:4007