1 #ifndef _IAGORA_RECORDINGENGINE_H_
2 #define _IAGORA_RECORDINGENGINE_H_
Definition: IAgoraRecordingEngine.h:10
virtual void onActiveSpeaker(uid_t uid)=0
virtual void onConnectionStateChanged(agora::linuxsdk::ConnectionStateType state,
agora::linuxsdk::ConnectionChangedReasonType reason)=0
virtual void onConnectionLost()=0
virtual void audioFrameReceived(unsigned int uid, const agora::linuxsdk::AudioFrame
*frame) const =0
virtual void onError(int error, agora::linuxsdk::STAT_CODE_TYPE stat_code)=0
virtual void onRemoteAudioStats(agora::linuxsdk::uid_t uid, const
agora::linuxsdk::RemoteAudioStats &stats)=0
virtual void onLeaveChannel(agora::linuxsdk::LEAVE_PATH_CODE code)=0
virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed)=0
virtual void onUserOffline(uid_t uid, agora::linuxsdk::USER_OFFLINE_REASON_TYPE
reason)=0
virtual void onRejoinChannelSuccess(const char *channelId, uid_t uid)=0
virtual void onUserJoined(uid_t uid, agora::linuxsdk::UserJoinInfos &infos)=0
virtual void onRemoteVideoStats(agora::linuxsdk::uid_t uid, const
agora::linuxsdk::RemoteVideoStats &stats)=0
virtual void onRemoteAudioStreamStateChanged(uid_t uid, linuxsdk::RemoteStreamState
state, linuxsdk::RemoteStreamStateChangedReason reason)=0
virtual void onUserInfoUpdated(uid_t uid, const agora::linuxsdk::UserInfo &info)=0
virtual void onRecordingStats(const agora::linuxsdk::RecordingStats &stats)=0
virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed)=0
virtual void onRemoteVideoStreamStateChanged(uid_t uid, linuxsdk::RemoteStreamState
state, linuxsdk::RemoteStreamStateChangedReason reason)=0
virtual void onReceivingStreamStatusChanged(bool receivingAudio, bool receivingVideo)=0
virtual void onWarning(int warn)=0
virtual void onAudioVolumeIndication(const agora::linuxsdk::AudioVolumeInfo *speakers,
unsigned int speakerNum)=0
virtual void onJoinChannelSuccess(const char *channelId, uid_t uid)=0
virtual void videoFrameReceived(unsigned int uid, const agora::linuxsdk::VideoFrame
*frame) const =0
virtual void onConnectionInterrupted()=0
virtual void onLocalUserRegistered(uid_t uid, const char *userAccount)=0
virtual ~IRecordingEngineEventHandler()
Definition: IAgoraRecordingEngine.h:13
Definition: IAgoraRecordingEngine.h:535
virtual int joinChannel(const char *channelKey, const char *channelId, uid_t uid, const
RecordingConfig &config)=0
virtual int setUserBackground(uid_t uid, const char *img_path)=0
virtual int updateSubscribeVideoUids(uid_t *uids, uint32_t num)=0
virtual int joinChannelWithUserAccount(const char *token, const char *channelId, const
char *userAccount, const RecordingConfig &config)=0
virtual int startService()=0
virtual int stopService()=0
virtual int getUserInfoByUid(uid_t uid, agora::linuxsdk::UserInfo *userInfo)=0
virtual int setVideoMixingLayout(const agora::linuxsdk::VideoMixingLayout &layout)=0
static IRecordingEngine * createAgoraRecordingEngine(const char *appId,
IRecordingEngineEventHandler *eventHandler)
virtual int stoppedOnError()=0
virtual int updateSubscribeAudioUids(uid_t *uids, uint32_t num)=0
virtual ~IRecordingEngine()
Definition: IAgoraRecordingEngine.h:547
virtual const RecordingEngineProperties * getProperties()=0
virtual int updateWatermarkConfigs(uint32_t wm_num, linuxsdk::WatermarkConfig *config)=0
virtual int setLogLevel(agora::linuxsdk::agora_log_level level)=0
virtual int leaveChannel()=0
virtual int getUserInfoByUserAccount(const char *userAccount, agora::linuxsdk::UserInfo
*userinfo)=0
agora_log_level
Definition: IAgoraLinuxSdkCommon.h:247
USER_OFFLINE_REASON_TYPE
Definition: IAgoraLinuxSdkCommon.h:129
REMOTE_VIDEO_STREAM_TYPE
Definition: IAgoraLinuxSdkCommon.h:142
@ REMOTE_VIDEO_STREAM_HIGH
Definition: IAgoraLinuxSdkCommon.h:144
STAT_CODE_TYPE
Definition: IAgoraLinuxSdkCommon.h:48
TRIGGER_MODE_TYPE
Definition: IAgoraLinuxSdkCommon.h:219
@ AUTOMATICALLY_MODE
Definition: IAgoraLinuxSdkCommon.h:221
VIDEO_FORMAT_TYPE
Definition: IAgoraLinuxSdkCommon.h:150
@ VIDEO_FORMAT_DEFAULT_TYPE
Definition: IAgoraLinuxSdkCommon.h:152
RemoteStreamState
Definition: IAgoraLinuxSdkCommon.h:271
ConnectionChangedReasonType
Definition: IAgoraLinuxSdkCommon.h:357
ConnectionStateType
Definition: IAgoraLinuxSdkCommon.h:318
AUDIO_PROFILE_TYPE
Definition: IAgoraLinuxSdkCommon.h:237
@ AUDIO_PROFILE_DEFAULT
Definition: IAgoraLinuxSdkCommon.h:239
unsigned int uid_t
Definition: IAgoraLinuxSdkCommon.h:22
AUDIO_FORMAT_TYPE
Definition: IAgoraLinuxSdkCommon.h:171
@ AUDIO_FORMAT_DEFAULT_TYPE
Definition: IAgoraLinuxSdkCommon.h:173
LEAVE_PATH_CODE
Definition: IAgoraLinuxSdkCommon.h:77
CHANNEL_PROFILE_TYPE
Definition: IAgoraLinuxSdkCommon.h:120
@ CHANNEL_PROFILE_COMMUNICATION
Definition: IAgoraLinuxSdkCommon.h:122
RemoteStreamStateChangedReason
Definition: IAgoraLinuxSdkCommon.h:263
LANGUAGE_TYPE
Definition: IAgoraLinuxSdkCommon.h:229
@ CPP_LANG
Definition: IAgoraLinuxSdkCommon.h:231
MIXED_AV_CODEC_TYPE
Definition: IAgoraLinuxSdkCommon.h:281
@ MIXED_AV_DEFAULT
Definition: IAgoraLinuxSdkCommon.h:283
struct agora::recording::RecordingEngineProperties RecordingEngineProperties
struct agora::recording::RecordingConfig RecordingConfig
Definition: IAgoraLinuxSdkCommon.h:8
Definition: IAgoraLinuxSdkCommon.h:550
Definition: IAgoraLinuxSdkCommon.h:390
Definition: IAgoraLinuxSdkCommon.h:464
Definition: IAgoraLinuxSdkCommon.h:435
Definition: IAgoraLinuxSdkCommon.h:403
Definition: IAgoraLinuxSdkCommon.h:378
Definition: IAgoraLinuxSdkCommon.h:934
Definition: IAgoraLinuxSdkCommon.h:684
Definition: IAgoraLinuxSdkCommon.h:846
Definition: IAgoraLinuxSdkCommon.h:821
Definition: IAgoraRecordingEngine.h:239
bool isVideoOnly
Definition: IAgoraRecordingEngine.h:261
agora::linuxsdk::AUDIO_PROFILE_TYPE audioProfile
Definition: IAgoraRecordingEngine.h:442
agora::linuxsdk::REMOTE_VIDEO_STREAM_TYPE streamType
Definition: IAgoraRecordingEngine.h:419
agora::linuxsdk::CHANNEL_PROFILE_TYPE channelProfile
Definition: IAgoraRecordingEngine.h:416
const char * decryptionMode
Definition: IAgoraRecordingEngine.h:321
int proxyType
Definition: IAgoraRecordingEngine.h:431
bool isMixingEnabled
Definition: IAgoraRecordingEngine.h:274
bool enableCloudProxy
Definition: IAgoraRecordingEngine.h:289
RecordingConfig()
Definition: IAgoraRecordingEngine.h:489
int audioIndicationInterval
Definition: IAgoraRecordingEngine.h:414
const char * appliteDir
Definition: IAgoraRecordingEngine.h:330
agora::linuxsdk::VIDEO_FORMAT_TYPE decodeVideo
Definition: IAgoraRecordingEngine.h:376
bool enableIntraRequest
Definition: IAgoraRecordingEngine.h:480
const char * proxyServer
Definition: IAgoraRecordingEngine.h:439
int lowUdpPort
Definition: IAgoraRecordingEngine.h:386
agora::linuxsdk::MIXED_AV_CODEC_TYPE mixedVideoAudio
Definition: IAgoraRecordingEngine.h:296
int captureInterval
Definition: IAgoraRecordingEngine.h:408
const char * mixResolution
Definition: IAgoraRecordingEngine.h:307
agora::linuxsdk::LANGUAGE_TYPE lang
Definition: IAgoraRecordingEngine.h:423
const char * defaultVideoBg
Definition: IAgoraRecordingEngine.h:449
int idleLimitSec
Definition: IAgoraRecordingEngine.h:401
int highUdpPort
Definition: IAgoraRecordingEngine.h:391
virtual ~RecordingConfig()
Definition: IAgoraRecordingEngine.h:523
agora::linuxsdk::TRIGGER_MODE_TYPE triggerMode
Definition: IAgoraRecordingEngine.h:421
bool isAudioOnly
Definition: IAgoraRecordingEngine.h:250
const char * subscribeVideoUids
Definition: IAgoraRecordingEngine.h:465
agora::linuxsdk::AUDIO_FORMAT_TYPE decodeAudio
Definition: IAgoraRecordingEngine.h:381
const char * recordFileRootDir
Definition: IAgoraRecordingEngine.h:335
const char * subscribeAudioUids
Definition: IAgoraRecordingEngine.h:471
const char * defaultUserBg
Definition: IAgoraRecordingEngine.h:459
bool autoSubscribe
Definition: IAgoraRecordingEngine.h:282
bool enableH265Support
Definition: IAgoraRecordingEngine.h:486
const char * secret
Definition: IAgoraRecordingEngine.h:325
const char * cfgFilePath
Definition: IAgoraRecordingEngine.h:371
Definition: IAgoraRecordingEngine.h:527
RecordingEngineProperties()
Definition: IAgoraRecordingEngine.h:530
char * storageDir
Definition: IAgoraRecordingEngine.h:529