NERtc macOS SDK  V5.5.40
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 {
38  const char* app_key;
56  const char* log_dir_path;
119  int32_t area_code_type;
120  NERtcEngineContext() {
121  app_key = nullptr;
122  event_handler = nullptr;
123  log_dir_path = nullptr;
129  area_code_type = 0;//kNERtcAreaCodeTypeDefault;
130  }
131 };
132 
144 class IRtcEngine {
145 public:
146  virtual ~IRtcEngine() {}
147 
208  virtual int initialize(const NERtcEngineContext& context) = 0;
209 
238  virtual void release(bool sync = true) = 0;
239 
307  virtual int setClientRole(NERtcClientRole role) = 0;
308 
358  virtual int setChannelProfile(NERtcChannelProfileType profile) = 0;
359 
444  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid) = 0;
445 
505  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid,
506  NERtcJoinChannelOptions channel_options) = 0;
507 
584  virtual int switchChannel(const char* token, const char* channel_name) = 0;
585 
612  virtual int switchChannel(const char* token, const char* channel_name, NERtcJoinChannelOptions channel_options) = 0;
613 
642  virtual int switchChannelEx(const char* token, const char* channel_name, NERtcJoinChannelOptionsEx channel_options_ex) = 0;
643 
686  virtual int leaveChannel() = 0;
687 
706  virtual int queryInterface(NERtcInterfaceIdType iid, void** inter) = 0;
707 
768  virtual int enableLocalAudio(bool enabled) = 0;
769 
825  virtual int setupLocalVideoCanvas(NERtcVideoCanvas* canvas) = 0;
826 
889  virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas* canvas) = 0;
890 
952  virtual int enableLocalVideo(bool enabled) = 0;
953 
1017  virtual int enableLocalVideo(NERtcVideoStreamType type, bool enabled) = 0;
1018 
1083  virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe) = 0;
1084 };
1085 
1086 } // namespace nertc
1087 
1089 
1093 
1107 NERTC_API nertc::IRtcEngine* NERTC_CALL createNERtcEngine();
1108 
1119 NERTC_API void NERTC_CALL destroyNERtcEngine(void*& nertc_engine_inst);
1120 
1122 
1124 
1125 #endif
Definition: nertc_engine_event_handler_ex.h:31
Definition: nertc_engine.h:144
virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas *canvas)=0
virtual int initialize(const NERtcEngineContext &context)=0
virtual int joinChannel(const char *token, const char *channel_name, uid_t uid, NERtcJoinChannelOptions channel_options)=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 switchChannelEx(const char *token, const char *channel_name, NERtcJoinChannelOptionsEx channel_options_ex)=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 enableLocalVideo(NERtcVideoStreamType type, bool enabled)=0
virtual int setClientRole(NERtcClientRole role)=0
virtual int switchChannel(const char *token, const char *channel_name, NERtcJoinChannelOptions channel_options)=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:244
NERtcInterfaceIdType
Definition: nertc_engine_defines.h:215
NERtcLogLevel
Definition: nertc_engine_defines.h:6584
@ kNERtcLogLevelWarning
Definition: nertc_engine_defines.h:6611
NERtcVideoStreamType
Definition: nertc_engine_defines.h:5780
uint64_t uid_t
Definition: nertc_engine_defines.h:183
NERtcChannelProfileType
Definition: nertc_engine_defines.h:277
NERtcRemoteVideoStreamType
Definition: nertc_engine_defines.h:1737
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:28
NERtcServerAddresses server_config
Definition: nertc_engine.h:113
const char * app_key
Definition: nertc_engine.h:38
bool video_prefer_hw_decoder
Definition: nertc_engine.h:94
bool video_use_exnternal_render
Definition: nertc_engine.h:103
const char * log_dir_path
Definition: nertc_engine.h:56
IRtcEngineEventHandlerEx * event_handler
Definition: nertc_engine.h:47
int32_t area_code_type
Definition: nertc_engine.h:119
bool video_prefer_hw_encoder
Definition: nertc_engine.h:84
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:7684
Definition: nertc_engine_defines.h:7647
Definition: nertc_engine_defines.h:6743
Definition: nertc_engine_defines.h:4518