NERtc Linux SDK  V4.4.9
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 
170  virtual void release(bool sync = true) = 0;
171 
204  virtual int setClientRole(NERtcClientRole role) = 0;
205 
228  virtual int setChannelProfile(NERtcChannelProfileType profile) = 0;
229 
268  virtual int joinChannel(const char* token, const char* channel_name, uid_t uid) = 0;
269 
307  virtual int switchChannel(const char* token, const char* channel_name) = 0;
308 
335  virtual int leaveChannel() = 0;
336 
355  virtual int queryInterface(NERtcInterfaceIdType iid, void** inter) = 0;
356 
389  virtual int enableLocalAudio(bool enabled) = 0;
390 
413  virtual int setupLocalVideoCanvas(NERtcVideoCanvas* canvas) = 0;
414 
443  virtual int setupRemoteVideoCanvas(uid_t uid, NERtcVideoCanvas* canvas) = 0;
444 
475  virtual int enableLocalVideo(bool enabled) = 0;
476 
505  virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType type, bool subscribe) = 0;
506 };
507 
508 } //namespace nertc
509 
510 
512 
516 
529 NERTC_API nertc::IRtcEngine* NERTC_CALL createNERtcEngine();
530 
541 NERTC_API void NERTC_CALL destroyNERtcEngine(void *& nertc_engine_inst);
542 
544 
546 
547 #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:192
NERtcInterfaceIdType
Definition: nertc_engine_defines.h:163
NERtcLogLevel
Definition: nertc_engine_defines.h:5304
uint64_t uid_t
Definition: nertc_engine_defines.h:133
NERtcChannelProfileType
Definition: nertc_engine_defines.h:222
NERtcRemoteVideoStreamType
Definition: nertc_engine_defines.h:1601
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:5436
Definition: nertc_engine_defines.h:3917