NERecord Linux SDK 5.5.310
Loading...
Searching...
No Matches
nerecord_engine.h
Go to the documentation of this file.
1
13#ifndef NERECORD_ENGINE_H
14#define NERECORD_ENGINE_H
15
16#include "nerecord_base.h"
17#include "nerecord_base_types.h"
20
25namespace nerecord
26{
27
34
37{
38 const char *app_key;
40 const char *log_dir_path;
47 const char *parameters;
84 {
85 app_key = nullptr;
86 event_handler = nullptr;
87 log_dir_path = nullptr;
88 log_file_max_size_KBytes = 200 * 1024;
89 nerecord_absolute_dir = nullptr;
90 record_file_root_dir = nullptr;
93 parameters = nullptr;
95 audio_enable = true;
96 video_enable = true;
98 mixing_enable = false;
99 mixed_audio_video = true;
105 snapshot_enable = true;
110 mixing_param_split = false;
111 keep_last_frame = false;
112 server_config = NULL;
113 }
114};
115
121{
122public:
123 virtual ~IRecordEngine() {}
124
139 virtual int initialize(const NERecordEngineContext& context) = 0;
140
143 virtual void release() = 0;
144
157 // virtual int initChannel(const char* channel_name) = 0;
158
173 virtual int joinChannel(const char* token, const char* channel_name, uid_t uid) = 0;
189 virtual int leaveChannel() = 0;
190
203 virtual int subscribeRemoteAudioStream(uid_t uid, bool subscribe) = 0;
204
218 virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType stream_type, bool subscribe) = 0;
219
232 virtual int subscribeRemoteVideoSubStream(uid_t uid, bool subscribe) = 0;
233
242 virtual int setVideoMixingLayout(const VideoMixingLayout &layout) = 0;
243
252 virtual int startMixingRecord() = 0;
253
258 virtual void stopMixingRecord() = 0;
259
272 virtual int updateSubscribeAudioUids(uid_t *uids, uint32_t num) = 0;
273
286 virtual int updateSubscribeVideoUids(uid_t *uids, uint32_t num) = 0;
287
289 virtual void startService() = 0;
290
292 virtual void stopService() = 0;
293
302 virtual void updateWatermarkConfigs(uint32_t wm_num, const WatermarkConfig *configs) = 0;
303
314 virtual void updateWatermarkConfigs(uid_t uid, bool substream, uint32_t wm_num, const WatermarkConfig *configs) = 0;
315
327 virtual int enableAudioVolumeIndication(bool enable, uint64_t interval) = 0;
328
338 virtual int setUserBackground(uid_t uid, const char *image) = 0;
339
340
357 virtual int enableEncryption(bool enable, const NERecordEncryptionConfig &config) = 0;
358
361};
362
363} //namespace nerecord
364
365
367
371
376NERECORD_API nerecord::IRecordEngine* NERECORD_CALL createNERecordEngine();
377
380NERECORD_API void NERECORD_CALL destroyNERecordEngine(void *& nerecord_engine_inst);
381
383
385
386#endif
Definition nerecord_engine_event_handler.h:28
Definition nerecord_engine.h:121
virtual int subscribeRemoteAudioStream(uid_t uid, bool subscribe)=0
virtual void updateWatermarkConfigs(uid_t uid, bool substream, uint32_t wm_num, const WatermarkConfig *configs)=0
virtual void release()=0
virtual int leaveChannel()=0
virtual void updateWatermarkConfigs(uint32_t wm_num, const WatermarkConfig *configs)=0
virtual int setUserBackground(uid_t uid, const char *image)=0
virtual int updateSubscribeAudioUids(uid_t *uids, uint32_t num)=0
virtual int subscribeRemoteVideoSubStream(uid_t uid, bool subscribe)=0
virtual void startService()=0
virtual int updateSubscribeVideoUids(uid_t *uids, uint32_t num)=0
virtual const NERtcRecordingEngineProperties * getProperties()=0
virtual int joinChannel(const char *token, const char *channel_name, uid_t uid)=0
virtual int enableEncryption(bool enable, const NERecordEncryptionConfig &config)=0
virtual int startMixingRecord()=0
virtual int setVideoMixingLayout(const VideoMixingLayout &layout)=0
virtual void stopService()=0
virtual int initialize(const NERecordEngineContext &context)=0
virtual int subscribeRemoteVideoStream(uid_t uid, NERtcRemoteVideoStreamType stream_type, bool subscribe)=0
virtual int enableAudioVolumeIndication(bool enable, uint64_t interval)=0
virtual void stopMixingRecord()=0
NERECORD_API nerecord::IRecordEngine *NERECORD_CALL createNERecordEngine()
NERECORD_API void NERECORD_CALL destroyNERecordEngine(void *&nerecord_engine_inst)
namespace nerecord
uint64_t uid_t
Definition nerecord_engine_defines.h:33
SubscribeMode
Definition nerecord_engine.h:30
@ ANTI_SPAM_MODE
Definition nerecord_engine.h:31
@ RECORDER_MODE
Definition nerecord_engine.h:32
NERtcRecordFileDirMode
Definition nerecord_engine_defines.h:486
@ kNERtcRecordFileDirModeDefault
Definition nerecord_engine_defines.h:487
NERtcAudioFormatType
Definition nerecord_engine_defines.h:113
@ kNERtcAudioFormatDefault
Definition nerecord_engine_defines.h:114
NERtcRemoteVideoStreamType
Definition nerecord_engine_defines.h:77
@ kNERtcRemoteVideoStreamTypeHigh
Definition nerecord_engine_defines.h:78
NERtcVideoFormatType
Definition nerecord_engine_defines.h:121
@ kNERtcVideoFormatDefault
Definition nerecord_engine_defines.h:122
NERtcAudioProfileType
Definition nerecord_engine_defines.h:183
@ kNERtcAudioProfileDefault
Definition nerecord_engine_defines.h:184
NERtcLogLevel
Definition nerecord_engine_defines.h:333
@ kNERtcLogLevelInfo
Definition nerecord_engine_defines.h:337
定义导出宏。注意,该文件只定义导出宏,不定义其他任何内容。
SDK 基本类型定义
NERecord SDK 的一些定义
NERECORD SDK 回调接口头文件。 NERECORD SDK 所有接口参数说明:所有与字符串相关的参数(char *)全部为 UTF-8 编码。
Definition nerecord_engine_defines.h:613
Definition nerecord_engine.h:37
const char * nerecord_absolute_dir
Definition nerecord_engine.h:45
NERtcLogLevel log_level
Definition nerecord_engine.h:44
NERtcAudioFormatType decodeAudio
Definition nerecord_engine.h:58
NERtcAudioProfileType audioProfile
Definition nerecord_engine.h:72
NERtcRecordFileDirMode record_file_dir_mode
Definition nerecord_engine.h:43
bool mixing_enable
Definition nerecord_engine.h:53
NERtcVideoRecordResolution mixing_video_record_resolution
Definition nerecord_engine.h:78
bool auto_subscribe_video
Definition nerecord_engine.h:68
bool video_enable
Definition nerecord_engine.h:51
NERtcVideoFormatType decodeVideo
Definition nerecord_engine.h:59
bool auto_subscribe_audio
Definition nerecord_engine.h:64
NERtcVideoRecordResolution video_record_resolution
Definition nerecord_engine.h:73
bool keep_last_frame
Definition nerecord_engine.h:69
bool mixed_audio_substream
Definition nerecord_engine.h:55
bool mixing_param_split
Definition nerecord_engine.h:76
SubscribeMode submode
Definition nerecord_engine.h:49
NERtcAudioProfileType mixing_audioProfile
Definition nerecord_engine.h:77
NERtcRemoteVideoStreamType default_stream_type
Definition nerecord_engine.h:71
IRecordEngineEventHandler * event_handler
Definition nerecord_engine.h:39
const char * log_dir_path
Definition nerecord_engine.h:40
NERtcServerAddresses * server_config
Definition nerecord_engine.h:80
bool snapshot_enable
Definition nerecord_engine.h:56
bool video_substream_split
Definition nerecord_engine.h:52
const char * parameters
Definition nerecord_engine.h:47
uint32_t log_file_max_size_KBytes
Definition nerecord_engine.h:41
bool mixed_audio_video
Definition nerecord_engine.h:54
const char * app_key
Definition nerecord_engine.h:38
unsigned snapshot_interval
Definition nerecord_engine.h:57
const char * record_file_root_dir
Definition nerecord_engine.h:42
bool audio_enable
Definition nerecord_engine.h:50
VideoLayout * video_with_substream_layout
Definition nerecord_engine.h:74
NERtcAgentAddresses * agent_config
Definition nerecord_engine.h:81
Definition nerecord_engine_defines.h:528
Definition nerecord_engine_defines.h:480
Definition nerecord_engine_defines.h:492
Definition nerecord_engine_defines.h:290
Definition nerecord_engine_defines.h:307
Definition nerecord_engine_defines.h:275