NERtc Windows SDK  V5.3.1
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;
114  NERtcEngineContext() {
115  app_key = nullptr;
116  event_handler = nullptr;
117  log_dir_path = nullptr;
120  video_prefer_hw_encoder = false;
121  video_prefer_hw_decoder = false;
123  }
124 };
125 
137 class IRtcEngine {
138 public:
139  virtual ~IRtcEngine() {}
140 
201  virtual int initialize(const NERtcEngineContext& context) = 0;
202 
231  virtual void release(bool sync = true) = 0;
232 
300  virtual int setClientRole(NERtcClientRole role) = 0;
301 
345  virtual int setChannelProfile(NERtcChannelProfileType profile) = 0;
346 
431  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid) = 0;
432 
492  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid,
493  NERtcJoinChannelOptions channel_options) = 0;
494 
569  virtual int switchChannel(const char* token, const char* channel_name) = 0;
570 
599  virtual int switchChannel(const char* token, const char* channel_name, NERtcJoinChannelOptions channel_options) = 0;
600 
643  virtual int leaveChannel() = 0;
644 
663  virtual int queryInterface(NERtcInterfaceIdType iid, void** inter) = 0;
664 
725  virtual int enableLocalAudio(bool enabled) = 0;
726 
782  virtual int setupLocalVideoCanvas(NERtcVideoCanvas* canvas) = 0;
783 
846  virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas* canvas) = 0;
847 
909  virtual int enableLocalVideo(bool enabled) = 0;
910 
974  virtual int enableLocalVideo(NERtcVideoStreamType type, bool enabled) = 0;
975 
1040  virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe) = 0;
1041 };
1042 
1043 } // namespace nertc
1044 
1046 
1050 
1064 NERTC_API nertc::IRtcEngine* NERTC_CALL createNERtcEngine();
1065 
1076 NERTC_API void NERTC_CALL destroyNERtcEngine(void*& nertc_engine_inst);
1077 
1079 
1081 
1082 #endif
Definition: nertc_engine_event_handler_ex.h:31
Definition: nertc_engine.h:137
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 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:6326
@ kNERtcLogLevelInfo
Definition: nertc_engine_defines.h:6362
NERtcVideoStreamType
Definition: nertc_engine_defines.h:5456
uint64_t uid_t
Definition: nertc_engine_defines.h:183
NERtcChannelProfileType
Definition: nertc_engine_defines.h:277
NERtcRemoteVideoStreamType
Definition: nertc_engine_defines.h:1698
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
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:7314
Definition: nertc_engine_defines.h:6458
Definition: nertc_engine_defines.h:4195