NERtc Linux SDK  V5.4.10
nertc_engine_defines.h 文件参考

NERtc SDK definitions. 更多...

#include <string.h>
#include "nertc_base_types.h"

浏览源代码.

struct  nertc::NERtcLiveStreamTaskOption
 
struct  nertc::NERtcLiveStreamUserTranscoding
 
struct  nertc::NERtcLiveStreamImageInfo
 
struct  nertc::NERtcLiveStreamLayout
 
struct  nertc::NERtcLiveConfig
 
struct  nertc::NERtcLiveStreamTaskInfo
 
struct  nertc::NERtcCameraCaptureConfig
 
struct  nertc::NERtcDeviceInfo
 
struct  nertc::NERtcAudioVolumeInfo
 
struct  nertc::NERtcStats
 
struct  nertc::NERtcVideoLayerSendStats
 
struct  nertc::NERtcVideoSendStats
 
struct  nertc::NERtcVideoLayerRecvStats
 
struct  nertc::NERtcVideoRecvStats
 
struct  nertc::NERtcAudioLayerSendStats
 
struct  nertc::NERtcAudioSendStats
 
struct  nertc::NERtcAudioLayerRecvStats
 
struct  nertc::NERtcAudioRecvStats
 
struct  nertc::NERtcNetworkQualityInfo
 
struct  nertc::NERtcVideoConfig
 
struct  nertc::NERtcRectangle
 
struct  nertc::NERtcScreenCaptureSourceData
 
struct  nertc::NERtcVideoDimensions
 
struct  nertc::NERtcScreenCaptureParameters
 
struct  nertc::NERtcVideoCanvas
 
struct  nertc::NERtcAudioFrameRequestFormat
 
struct  nertc::NERtcAudioFormat
 
struct  nertc::NERtcAudioFrame
 
struct  nertc::NERtcAudioEncodedFrame
 
class  nertc::INERtcAudioFrameObserver
 
struct  nertc::NERtcVideoFrame
 
struct  nertc::NERtcVideoEncodedFrame
 
struct  nertc::NERtcCreateAudioMixingOption
 
struct  nertc::NERtcCreateAudioEffectOption
 
struct  nertc::NERtcTextWatermarkConfig
 
struct  nertc::NERtcTimestampWatermarkConfig
 
struct  nertc::NERtcChannelMediaRelayInfo
 
struct  nertc::NERtcChannelMediaRelayConfiguration
 
struct  nertc::NERtcImageWatermarkConfig
 
struct  nertc::NERtcCanvasWatermarkConfig
 
struct  nertc::NERtcVideoWatermarkImageConfig
 
struct  nertc::NERtcVideoWatermarkTextConfig
 
struct  nertc::NERtcVideoWatermarkTimestampConfig
 
struct  nertc::NERtcVideoWatermarkConfig
 
class  nertc::NERtcTakeSnapshotCallback
 
struct  nertc::NERtcServerAddresses
 
struct  nertc::NERtcAudioRecordingConfiguration
 
struct  nertc::NERtcEncryptionConfig
 
struct  nertc::NERtcLastmileProbeConfig
 
struct  nertc::NERtcLastmileProbeOneWayResult
 
struct  nertc::NERtcLastmileProbeResult
 
struct  nertc::VirtualBackgroundSource
 
struct  nertc::NERtcReverbParam
 
struct  nertc::NERtcJoinChannelOptions
 
struct  nertc::NERtcUserJoinExtraInfo
 
struct  nertc::NERtcSize
 
struct  nertc::NERtcThumbImageBuffer
 
struct  nertc::NERtcScreenCaptureSourceInfo
 
class  nertc::IScreenCaptureSourceList
 
struct  nertc::NERtcSpatializerPositionInfo
 
struct  nertc::NERtcSpatializerRoomProperty
 

命名空间

 nertc
 namespace nertc
 

宏定义

#define kNERtcMaxPlaneCount   4
 
#define kNERtcEncryptByteLength   128
 
#define kNERtcCustomInfoLength   128
 
#define kNERtcMaxChannelNameLength   64
 
#define kNERtcMaxTokenLength   256
 
#define kNERtcMaxDeviceIDLength   256
 
#define kNERtcMaxDeviceNameLength   256
 
#define kNERtcMaxURILength   256
 
#define kNERtcMaxTaskIDLength   64
 
#define kNERtcMaxBuffLength   1024
 
#define kNERtcMaxSEIBufferLength   4096
 
#define kDefaultAudioMixProgressInterval   1000
 
#define kMinAudioMixProgressInterval   100
 
#define kMaxAudioMixProgressInterval   10000
 
#define kNERtcExternalVideoDeviceID   "nertc-video-external-device"
 
#define kNERtcExternalSubVideoDeviceID   "nertc-subvideo-external-device"
 
#define kNERtcAudioDeviceAutoID   "nertc-audio-device-auto"
 
#define kNERtcKeyRecordHostEnabled   "record_host_enabled"
 
#define kNERtcKeyRecordAudioEnabled   "record_audio_enabled"
 
#define kNERtcKeyRecordVideoEnabled   "record_video_enabled"
 
#define kNERtcKeyRecordType   "record_type"
 
#define kNERtcKeyAutoSubscribeAudio   "auto_subscribe_audio"
 
#define kNERtcKeyPublishSelfStreamEnabled   "publish_self_stream_enabled"
 
#define kNERtcKeyLogLevel   "log_level"
 
#define kNERtcKeyAudioProcessingAECEnable   "audio_processing_aec_enable"
 
#define kNERtcKeyAudioAECLowLevelEnable   "audio_aec_low_level_enable"
 
#define kNERtcKeyAudioProcessingAGCEnable   "audio_processing_agc_enable"
 
#define kNERtcKeyAudioProcessingNSEnable   "audio_processing_ns_enable"
 
#define kNERtcKeyAudioProcessingAINSEnable   "audio_processing_ai_ns_enable"
 
#define kNERtcKeyAudioProcessingExternalAudioMixEnable   "audio_processing_external_audiomix_enable"
 
#define kNERtcKeyAudioProcessingEarphone   "audio_processing_earphone"
 
#define kNERtcKeyVideoSendOnPubType   "video_sendonpub_type"
 
#define kNERtcKeyChannel1V1ModeEnabled   "channel_1v1_mode_enabled"
 
#define kNERtcKeyExtraInfo   "extra_info"
 
#define kNERtcKeyAudioDeviceAutoSelectType   "audio_device_auto_select_type"
 
#define kNERtcKeyEnableReportVolumeWhenMute   "enable_report_volume_when_mute"
 
#define kNERtcKeyAutoSubscribeVideo   "auto_subscribe_video"
 
#define kNERtcKeyAutoSubscribeData   "auto_subscribe_data"
 
#define kNERtcKeyEnableVideoCaptureObserver   "video_frame_capture"
 
#define kNERtcKeyDisableVideoDecoder   "disable_video_decoder"
 
#define kNERtcKeyVideoRenderType   "sdk.prefer.video.render"
 

类型定义

typedef uint64_t nertc::uid_t
 
typedef uint64_t nertc::channel_id_t
 
typedef void * nertc::source_id_t
 
typedef void(* nertc::onFrameDataCallback) (uid_t uid, void *data, uint32_t type, uint32_t width, uint32_t height, uint32_t count, uint32_t offset[4], uint32_t stride[4], uint32_t rotation, void *user_data)
 
typedef NERtcVideoDimensions nertc::NERtcDimensions
 

枚举

enum  nertc::NERtcInterfaceIdType { nertc::kNERtcIIDAudioDeviceManager = 1 , nertc::kNERtcIIDVideoDeviceManager = 2 }
 
enum  nertc::NERtcClientRole { nertc::kNERtcClientRoleBroadcaster = 0 , nertc::kNERtcClientRoleAudience = 1 }
 
enum  nertc::NERtcChannelProfileType { nertc::kNERtcChannelProfileCommunication = 0 , nertc::kNERtcChannelProfileLiveBroadcasting = 1 }
 
enum  nertc::NERtcMediaPriorityType { nertc::kNERtcMediaPriorityHigh = 50 , nertc::kNERtcMediaPriorityNormal = 100 }
 
enum  nertc::NERtcLiveStreamLayoutMode {
  kNERtcLayoutFloatingRightVertical = 0 , kNERtcLayoutFloatingLeftVertical , kNERtcLayoutSplitScreen , kNERtcLayoutSplitScreenScaling ,
  kNERtcLayoutCustom , kNERtcLayoutAudioOnly
}
 
enum  nertc::NERtcLiveStreamMode { nertc::kNERtcLsModeVideo = 0 , nertc::kNERtcLsModeAudio = 1 }
 
enum  nertc::NERtcLiveStreamVideoScaleMode { nertc::kNERtcLsModeVideoScaleFit = 0 , nertc::kNERtcLsModeVideoScaleCropFill = 1 }
 
enum  nertc::NERtcLiveStreamAudioSampleRate { nertc::kNERtcLiveStreamAudioSampleRate32000 = 32000 , nertc::kNERtcLiveStreamAudioSampleRate44100 = 44100 , nertc::kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 
enum  nertc::NERtcLiveStreamAudioCodecProfile { nertc::kNERtcLiveStreamAudioCodecProfileLCAAC = 0 , nertc::kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 
enum  nertc::NERtcLiveStreamStateCode { nertc::kNERtcLsStatePushing = 505 , nertc::kNERtcLsStatePushFail = 506 , nertc::kNERtcLsStatePushStopped = 511 , nertc::kNERtcLsStateImageError = 512 }
 
enum  nertc::NERtcOSCategory { nertc::kNERtcOSiOS = 1 , nertc::kNERtcOSAndroid = 2 , nertc::kNERtcOSPC = 3 , nertc::kNERtcOSWebRTC = 4 }
 
enum  nertc::NERtcAudioProfileType {
  nertc::kNERtcAudioProfileDefault = 0 , nertc::kNERtcAudioProfileStandard = 1 , nertc::kNERtcAudioProfileStandardExtend = 2 , nertc::kNERtcAudioProfileMiddleQuality = 3 ,
  nertc::kNERtcAudioProfileMiddleQualityStereo = 4 , nertc::kNERtcAudioProfileHighQuality = 5 , nertc::kNERtcAudioProfileHighQualityStereo = 6
}
 
enum  nertc::NERtcAudioScenarioType { nertc::kNERtcAudioScenarioDefault = 0 , nertc::kNERtcAudioScenarioSpeech = 1 , nertc::kNERtcAudioScenarioMusic = 2 }
 
enum  nertc::NERtcVoiceChangerType {
  nertc::kNERtcVoiceChangerOff = 0 , nertc::kNERtcVoiceChangerRobot = 1 , nertc::kNERtcVoiceChangerGaint = 2 , nertc::kNERtcVoiceChangerHorror = 3 ,
  nertc::kNERtcVoiceChangerMature = 4 , nertc::kNERtcVoiceChangerManToWoman = 5 , nertc::kNERtcVoiceChangerWomanToMan = 6 , nertc::kNERtcVoiceChangerManToLoli = 7 ,
  nertc::kNERtcVoiceChangerWomanToLoli = 8
}
 
enum  nertc::NERtcVoiceBeautifierType {
  nertc::kNERtcVoiceBeautifierOff = 0 , nertc::kNERtcVoiceBeautifierMuffled = 1 , nertc::kNERtcVoiceBeautifierMellow = 2 , nertc::kNERtcVoiceBeautifierClear = 3 ,
  nertc::kNERtcVoiceBeautifierMagnetic = 4 , nertc::kNERtcVoiceBeautifierRecordingstudio = 5 , nertc::kNERtcVoiceBeautifierNature = 6 , nertc::kNERtcVoiceBeautifierKTV = 7 ,
  nertc::kNERtcVoiceBeautifierRemote = 8 , nertc::kNERtcVoiceBeautifierChurch = 9 , nertc::kNERtcVoiceBeautifierBedroom = 10 , nertc::kNERtcVoiceBeautifierLive = 11
}
 
enum  nertc::NERtcVoiceEqualizationBand {
  nertc::kNERtcVoiceEqualizationBand_31 = 0 , nertc::kNERtcVoiceEqualizationBand_62 = 1 , nertc::kNERtcVoiceEqualizationBand_125 = 2 , nertc::kNERtcVoiceEqualizationBand_250 = 3 ,
  nertc::kNERtcVoiceEqualizationBand_500 = 4 , nertc::kNERtcVoiceEqualizationBand_1K = 5 , nertc::kNERtcVoiceEqualizationBand_2K = 6 , nertc::kNERtcVoiceEqualizationBand_4K = 7 ,
  nertc::kNERtcVoiceEqualizationBand_8K = 8 , nertc::kNERtcVoiceEqualizationBand_16K = 9
}
 
enum  nertc::NERtcVideoProfileType {
  nertc::kNERtcVideoProfileLowest = 0 , nertc::kNERtcVideoProfileLow = 1 , nertc::kNERtcVideoProfileStandard = 2 , nertc::kNERtcVideoProfileHD720P = 3 ,
  nertc::kNERtcVideoProfileHD1080P = 4 , nertc::kNERtcVideoProfileNone = 5 , kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P
}
 
enum  nertc::NERtcRemoteVideoStreamType { nertc::kNERtcRemoteVideoStreamTypeHigh = 0 , nertc::kNERtcRemoteVideoStreamTypeLow = 1 , nertc::kNERtcRemoteVideoStreamTypeNone = 2 }
 
enum  nertc::NERtcAudioDeviceType { nertc::kNERtcAudioDeviceUnknown = 0 , nertc::kNERtcAudioDeviceRecord , nertc::kNERtcAudioDevicePlayout }
 
enum  nertc::NERtcAudioDeviceState { nertc::kNERtcAudioDeviceActive = 0 , nertc::kNERtcAudioDeviceUnactive }
 
enum  nertc::NERtcAudioDeviceTransportType {
  nertc::kNERtcAudioDeviceTransportTypeUnknown = 0 , nertc::kNERtcAudioDeviceTransportTypeBluetooth = 1 , nertc::kNERtcAudioDeviceTransportTypeBluetoothA2DP = 2 , nertc::kNERtcAudioDeviceTransportTypeBluetoothLE = 3 ,
  nertc::kNERtcAudioDeviceTransportTypeUSB = 4 , nertc::kNERtcAudioDeviceTransportTypeHDMI = 5 , nertc::kNERtcAudioDeviceTransportTypeBuiltIn = 6 , nertc::kNERtcAudioDeviceTransportTypeThunderbolt = 7 ,
  nertc::kNERtcAudioDeviceTransportTypeAirPlay = 8 , nertc::kNERtcAudioDeviceTransportTypeVirtual = 9 , nertc::kNERtcAudioDeviceTransportTypeOther = 10
}
 
enum  nertc::NERtcVideoDeviceTransportType { nertc::kNERtcVideoDeviceTransportTypeUnknown = 0 , nertc::kNERtcVideoDeviceTransportTypeUSB = 1 , nertc::kNERtcVideoDeviceTransportTypeVirtual = 2 , nertc::kNERtcVideoDeviceTransportTypeOther = 3 }
 
enum  nertc::NERtcVideoDeviceType { nertc::kNERtcVideoDeviceUnknown = 0 , nertc::kNERtcVideoDeviceCapture }
 
enum  nertc::NERtcVideoDeviceState { nertc::kNERtcVideoDeviceAdded = 0 , nertc::kNERtcVideoDeviceRemoved }
 
enum  nertc::NERtcVideoScalingMode { nertc::kNERtcVideoScaleFit = 0 , nertc::kNERtcVideoScaleFullFill = 1 , nertc::kNERtcVideoScaleCropFill = 2 }
 
enum  nertc::NERtcVideoMirrorMode { nertc::kNERtcVideoMirrorModeAuto = 0 , nertc::kNERtcVideoMirrorModeEnabled = 1 , nertc::kNERtcVideoMirrorModeDisabled = 2 }
 
enum  nertc::NERtcVideoOutputOrientationMode { nertc::kNERtcVideoOutputOrientationModeAdaptative = 0 , nertc::kNERtcVideoOutputOrientationModeFixedLandscape = 1 , nertc::kNERtcVideoOutputOrientationModeFixedPortrait = 2 }
 
enum  nertc::NERtcConnectionStateType {
  nertc::kNERtcConnectionStateDisconnected = 1 , nertc::kNERtcConnectionStateConnecting = 2 , nertc::kNERtcConnectionStateConnected = 3 , nertc::kNERtcConnectionStateReconnecting = 4 ,
  nertc::kNERtcConnectionStateFailed = 5
}
 
enum  nertc::NERtcReasonConnectionChangedType {
  nertc::kNERtcReasonConnectionChangedLeaveChannel = 1 , nertc::kNERtcReasonConnectionChangedChannelClosed = 2 , nertc::kNERtcReasonConnectionChangedBeKicked = 3 , nertc::kNERtcReasonConnectionChangedTimeOut = 4 ,
  nertc::kNERtcReasonConnectionChangedJoinChannel = 5 , nertc::kNERtcReasonConnectionChangedJoinSucceed = 6 , nertc::kNERtcReasonConnectionChangedReJoinSucceed = 7 , nertc::kNERtcReasonConnectionChangedMediaConnectionDisconnected = 8 ,
  nertc::kNERtcReasonConnectionChangedSignalDisconnected = 9 , nertc::kNERtcReasonConnectionChangedRequestChannelFailed = 10 , nertc::kNERtcReasonConnectionChangedJoinChannelFailed = 11 , nertc::kNERtcReasonConnectionChangedReDispatch = 12 ,
  nertc::kNERtcReasonConnectionChangedSettingProxyServer = 13
}
 
enum  nertc::NERtcAudioStreamType { nertc::kNERtcAudioStreamTypeMain = 0 , nertc::kNERtcAudioStreamTypeSub = 1 }
 
enum  nertc::NERtcNetworkQualityType {
  nertc::kNERtcNetworkQualityUnknown = 0 , nertc::kNERtcNetworkQualityExcellent = 1 , nertc::kNERtcNetworkQualityGood = 2 , nertc::kNERtcNetworkQualityPoor = 3 ,
  nertc::kNERtcNetworkQualityBad = 4 , nertc::kNERtcNetworkQualityVeryBad = 5 , nertc::kNERtcNetworkQualityDown = 6
}
 
enum  nertc::NERtcVideoCropMode { nertc::kNERtcVideoCropModeDefault = 0 , nertc::kNERtcVideoCropMode16x9 = 1 , nertc::kNERtcVideoCropMode4x3 = 2 , nertc::kNERtcVideoCropMode1x1 = 3 }
 
enum  nertc::NERtcVideoFramerateType {
  nertc::kNERtcVideoFramerateFpsDefault = 0 , nertc::kNERtcVideoFramerateFps_7 = 7 , nertc::kNERtcVideoFramerateFps_10 = 10 , nertc::kNERtcVideoFramerateFps_15 = 15 ,
  nertc::kNERtcVideoFramerateFps_24 = 24 , nertc::kNERtcVideoFramerateFps_30 = 30 , nertc::kNERtcVideoFramerateFps_60 = 60
}
 
enum  nertc::NERtcDegradationPreference { nertc::kNERtcDegradationDefault = 0 , nertc::kNERtcDegradationMaintainFramerate = 1 , nertc::kNERtcDegradationMaintainQuality = 2 , nertc::kNERtcDegradationBalanced = 3 }
 
enum  nertc::NERtcScreenProfileType {
  nertc::kNERtcScreenProfile480P = 0 , nertc::kNERtcScreenProfileHD720P = 1 , nertc::kNERtcScreenProfileHD1080P = 2 , nertc::kNERtcScreenProfileCustom = 3 ,
  nertc::kNERtcScreenProfileNone = 4 , nertc::kNERtcScreenProfileMAX = kNERtcScreenProfileHD1080P
}
 
enum  nertc::NERtcScreenCaptureStatus {
  nertc::kScreenCaptureStatusStart = 1 , nertc::kScreenCaptureStatusPause = 2 , nertc::kScreenCaptureStatusResume = 3 , nertc::kScreenCaptureStatusStop = 4 ,
  nertc::kScreenCaptureStatusCovered = 5 , nertc::kScreenCaptureStatusAbort = 6
}
 
enum  nertc::NERtcScreenCaptureSourceType { nertc::kUnknown = -1 , nertc::kWindow = 0 , nertc::kScreen = 1 , nertc::kCustom = 2 }
 
enum  nertc::NERtcScreenCaptureCustomHLBorderAction {
  nertc::kSetPos = 0 , nertc::kSetAbove = 1 , nertc::kSetBelow = 2 , nertc::kHide = 3 ,
  nertc::kShow = 4
}
 
enum  nertc::NERtcSubStreamContentPrefer { nertc::kNERtcSubStreamContentPreferMotion = 0 , nertc::kNERtcSubStreamContentPreferDetails = 1 }
 
enum  nertc::NERtcRecordType { nertc::kNERtcRecordTypeAll = 0 , nertc::kNERtcRecordTypeMix = 1 , nertc::kNERtcRecordTypeSingle = 2 }
 
enum  nertc::NERtcAudioType { nertc::kNERtcAudioTypePCM16 = 0 }
 
enum  nertc::NERtcRawAudioFrameOpModeType { nertc::kNERtcRawAudioFrameOpModeReadOnly = 0 , nertc::kNERtcRawAudioFrameOpModeReadWrite }
 
enum  nertc::NERtcAudioPayloadType { nertc::kNERtcAudioPayloadTypeOPUS = 111 }
 
enum  nertc::NERtcVideoType {
  nertc::kNERtcVideoTypeI420 = 0 , nertc::kNERtcVideoTypeNV12 = 1 , nertc::kNERtcVideoTypeNV21 = 2 , nertc::kNERtcVideoTypeBGRA = 3 ,
  nertc::kNERtcVideoTypeCVPixelBuffer = 4
}
 
enum  nertc::NERtcVideoRotation { nertc::kNERtcVideoRotation_0 = 0 , nertc::kNERtcVideoRotation_90 = 90 , nertc::kNERtcVideoRotation_180 = 180 , nertc::kNERtcVideoRotation_270 = 270 }
 
enum  nertc::NERtcVideoCodecType { nertc::kNERtcVideoCodecTypeH264 = 3 }
 
enum  nertc::NERtcNalFrameType { nertc::kNERtcNalFrameTypeIDR = 1 , nertc::kNERtcNalFrameTypeI = 2 , nertc::kNERtcNalFrameTypeP = 3 }
 
enum  nertc::NERtcSessionLeaveReason {
  nertc::kNERtcSessionLeaveNormal = 0 , nertc::kNERtcSessionLeaveForFailOver = 1 , nertc::kNERtcSessionLeaveUpdate = 2 , nertc::kNERtcSessionLeaveForKick = 3 ,
  nertc::kNERtcSessionLeaveTimeOut = 4
}
 
enum  nertc::NERtcAudioMixingState { nertc::kNERtcAudioMixingStateFinished = 0 , nertc::kNERtcAudioMixingStateFailed = 1 }
 
enum  nertc::NERtcVideoStreamType { nertc::kNERTCVideoStreamMain = 0 , nertc::kNERTCVideoStreamSub = 1 }
 
enum  nertc::NERtcChannelMediaRelayState { nertc::kNERtcChannelMediaRelayStateIdle = 0 , nertc::kNERtcChannelMediaRelayStateConnecting = 1 , nertc::kNERtcChannelMediaRelayStateRunning = 2 , nertc::kNERtcChannelMediaRelayStateFailure = 3 }
 
enum  nertc::NERtcChannelMediaRelayEvent {
  nertc::kNERtcChannelMediaRelayEventDisconnect = 0 , nertc::kNERtcChannelMediaRelayEventConnecting = 1 , nertc::kNERtcChannelMediaRelayEventConnected = 2 , nertc::kNERtcChannelMediaRelayEventVideoSentToDestChannelSuccess = 3 ,
  nertc::kNERtcChannelMediaRelayEventAudioSentToDestChannelSuccess = 4 , nertc::kNERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess = 5 , nertc::kNERtcChannelMediaRelayEventFailure = 100
}
 
enum  nertc::NERtcLocalVideoWatermarkState {
  nertc::kNERtcLocalWatermarkStateSetSuccess , nertc::kNERtcLocalWatermarkStateDeviceNotSupported , nertc::kNERtcLocalWatermarkStateImgFormatNotSupported , nertc::kNERtcLocalWatermarkStateImgNumError ,
  nertc::kNERtcLocalWatermarkStateImgSizeError , nertc::kNERtcLocalWatermarkStateFPSError , nertc::kNERtcLocalWatermarkStateFontError , nertc::kNERtcLocalWatermarkStateWmAlphaError ,
  nertc::kNERtcLocalWatermarkStateTextContentEmptyError , nertc::kNERtcLocalWatermarkStateCancel = 20
}
 
enum  nertc::NERtcLogLevel {
  nertc::kNERtcLogLevelFatal = 0 , nertc::kNERtcLogLevelError = 1 , nertc::kNERtcLogLevelWarning = 2 , nertc::kNERtcLogLevelInfo = 3 ,
  nertc::kNERtcLogLevelDetailInfo = 4 , nertc::kNERtcLogLevelVerbos = 5 , nertc::kNERtcLogLevelDebug = 6 , nertc::kNERtcLogLevelOff = 7
}
 
enum  nertc::NERtcSendOnPubType { nertc::kNERtcSendOnPubNone = 0 , nertc::kNERtcSendOnPubHigh = 1 , nertc::kNERtcSendOnPubLow = 1 << 1 , nertc::kNERtcSendOnPubAll = kNERtcSendOnPubLow | kNERtcSendOnPubHigh }
 
enum  nertc::NERtcAudioRecordingQuality { nertc::kNERtcAudioRecordingQualityLow = 0 , nertc::kNERtcAudioRecordingQualityMedium = 1 , nertc::kNERtcAudioRecordingQualityHigh = 2 }
 
enum  NERtcAudioRecordingPosition { kNERtcAudioRecordingPositionMixedRecordingAndPlayback = 0 , kNERtcAudioRecordingPositionRecording = 1 , kNERtcAudioRecordingPositionMixedPlayback = 2 }
 
enum  NERtcAudioRecordingCycleTime {
  kNERtcAudioRecordingCycleTime0 = 0 , kNERtcAudioRecordingCycleTime10 = 10 , kNERtcAudioRecordingCycleTime60 = 60 , kNERtcAudioRecordingCycleTime360 = 360 ,
  kNERtcAudioRecordingCycleTime900 = 900
}
 
enum  nertc::NERtcAudioRecordingCode {
  nertc::kNERtcAudioRecordErrorSuffix = 1 , nertc::kNERtcAudioRecordOpenFileFailed = 2 , nertc::kNERtcAudioRecordStart = 3 , nertc::kNERtcAudioRecordError = 4 ,
  nertc::kNERtcAudioRecordFinish = 5
}
 
enum  nertc::NERtcStreamFallbackOption { nertc::kNERtcStreamFallbackDisabled = 0 , nertc::kNERtcStreamFallbackVideoStreamLow = 1 , nertc::kNERtcStreamFallbackAudioOnly = 2 }
 
enum  nertc::NERtcEncryptionMode { nertc::kNERtcGMCryptoSM4ECB = 0 }
 
enum  nertc::NERtcLastmileProbeResultState { nertc::kNERtcLastmileProbeResultComplete = 1 , nertc::kNERtcLastmileProbeResultIncompleteNoBwe = 2 , nertc::kNERtcLastmileProbeResultUnavailable = 3 }
 
enum  nertc::NERtcTransportType { nertc::kNERtcTransportTypeNoneProxy = 0 , nertc::kNERtcTransportTypeUDPProxy = 1 }
 
enum  nertc::NERtcInstallCastAudioDriverResult { nertc::kNERtcInstallCastAudioDriverSuccess = 0 , nertc::kNERtcInstallCastAudioDriverNotAuthorized = 1 , nertc::kNERtcInstallCastAudioDriverFailed = 2 }
 
enum  nertc::NERtcVirtualBackgroundSourceStateReason {
  nertc::kNERtcVirtualBackgroundSourceStateReasonSuccess = 0 , nertc::kNERtcVirtualBackgroundSourceStateReasonImageNotExist = 1 , nertc::kNERtcVirtualBackgroundSourceStateReasonImageFormatNotSupported = 2 , nertc::kNERtcVirtualBackgroundSourceStateReasonColorFormatNotSupported = 3 ,
  nertc::kNERtcVirtualBackgroundSourceStateReasonDeviceNotSupported = 4
}
 
enum  nertc::NERtcAudioDumpType { nertc::NERtcAudioDumpTypePCM = 0 , nertc::NERtcAudioDumpTypeAll = 1 , nertc::NERtcAudioDumpTypeWAV = 2 }
 
enum  nertc::NERtcMediaPubType { nertc::NERtcMediaPubTypeAudio }
 
enum  nertc::NERtcBeautyEffectType {
  nertc::kNERtcBeautyWhiteTeeth = 0 , nertc::kNERtcBeautyLightEye , nertc::kNERtcBeautyWhiten , nertc::kNERtcBeautySmooth ,
  nertc::kNERtcBeautySmallNose , nertc::kNERtcBeautyEyeDis , nertc::kNERtcBeautyEyeAngle , nertc::kNERtcBeautyMouth ,
  nertc::kNERtcBeautyBigEye , nertc::kNERtcBeautySmallFace , nertc::kNERtcBeautyJaw , nertc::kNERtcBeautyThinFace ,
  nertc::kNERtcBeautyFaceRuddy , nertc::kNERtcBeautyLongNose , nertc::kNERtcBeautyRenZhong , nertc::kNERtcBeautyMouthAngle ,
  nertc::kNERtcBeautyRoundEye , nertc::kNERtcBeautyOpenEyeAngle , nertc::kNERtcBeautyVFace , nertc::kNERtcBeautyThinUnderjaw ,
  nertc::kNERtcBeautyNarrowFace , nertc::kNERtcBeautyCheekBone , nertc::kNERtcBeautyFaceSharpen , nertc::kNERtcBeautyMouthWider ,
  nertc::kNERtcBeautyForeheadWrinkles , nertc::kNERtcBeautyDarkCircles , nertc::kNERtcBeautySmileLines , nertc::kNERtcBeautyShortFace
}
 
enum  nertc::NERtcSpatializerRoomCapacity {
  nertc::kNERtcSpatializerRoomCapacitySmall = 0 , nertc::kNERtcSpatializerRoomCapacityMedium = 1 , nertc::kNERtcSpatializerRoomCapacityLarge = 2 , nertc::kNERtcSpatializerRoomCapacityHuge = 3 ,
  nertc::kNERtcSpatializerRoomCapacityNone = 4
}
 
enum  nertc::NERtcSpatializerMaterialName {
  nertc::kNERtcSpatializerMaterialTransparent = 0 , nertc::kNERtcSpatializerMaterialAcousticCeilingTiles , nertc::kNERtcSpatializerMaterialBrickBare , nertc::kNERtcSpatializerMaterialBrickPainted ,
  nertc::kNERtcSpatializerMaterialConcreteBlockCoarse , nertc::kNERtcSpatializerMaterialConcreteBlockPainted , nertc::kNERtcSpatializerMaterialCurtainHeavy , nertc::kNERtcSpatializerMaterialFiberGlassInsulation ,
  nertc::kNERtcSpatializerMaterialGlassThin , nertc::kNERtcSpatializerMaterialGlassThick , nertc::kNERtcSpatializerMaterialGrass , nertc::kNERtcSpatializerMaterialLinoleumOnConcrete ,
  nertc::kNERtcSpatializerMaterialMarble , nertc::kNERtcSpatializerMaterialMetal , nertc::kNERtcSpatializerMaterialParquetOnConcrete , nertc::kNERtcSpatializerMaterialPlasterRough ,
  nertc::kNERtcSpatializerMaterialPlasterSmooth , nertc::kNERtcSpatializerMaterialPlywoodPanel , nertc::kNERtcSpatializerMaterialPolishedConcreteOrTile , nertc::kNERtcSpatializerMaterialSheetrock ,
  nertc::kNERtcSpatializerMaterialWaterOrIceSurface , nertc::kNERtcSpatializerMaterialWoodCeiling , nertc::kNERtcSpatializerMaterialWoodPanel , nertc::kNERtcSpatializerMaterialUniform
}
 
enum  nertc::NERtcSpatializerRenderMode {
  nertc::kNERtcSpatializerRenderStereoPanning = 0 , nertc::kNERtcSpatializerRenderBinauralLowQuality , nertc::kNERtcSpatializerRenderBinauralMediumQuality , nertc::kNERtcSpatializerRenderBinauralHighQuality ,
  nertc::kNERtcSpatializerRenderRoomEffectsOnly
}
 
enum  nertc::NERtcDistanceRolloffModel { nertc::kNERtcDistanceRolloffLogarithmic = 0 , nertc::kNERtcDistanceRolloffLinear , nertc::kNERtcDistanceRolloffNone }
 

详细描述

NERtc SDK definitions.

宏定义说明

◆ kDefaultAudioMixProgressInterval

#define kDefaultAudioMixProgressInterval   1000

音效播放进度回调间隔默认值。

◆ kMaxAudioMixProgressInterval

#define kMaxAudioMixProgressInterval   10000

音效播放进度回调最大间隔。

◆ kMinAudioMixProgressInterval

#define kMinAudioMixProgressInterval   100

音效播放进度回调最小间隔。

◆ kNERtcAudioDeviceAutoID

#define kNERtcAudioDeviceAutoID   "nertc-audio-device-auto"

音频设备自动选择ID,设置该ID为设备时,SDK会根据设备插拔系统设置等自动选择合适音频设备。

◆ kNERtcCustomInfoLength

#define kNERtcCustomInfoLength   128

自定义信息的长度

◆ kNERtcEncryptByteLength

#define kNERtcEncryptByteLength   128

加密key的长度

◆ kNERtcExternalSubVideoDeviceID

#define kNERtcExternalSubVideoDeviceID   "nertc-subvideo-external-device"

辅流通道的外部视频输入源设备ID,开启外部输入之后,需要通过setDevice设置此设备ID。

◆ kNERtcExternalVideoDeviceID

#define kNERtcExternalVideoDeviceID   "nertc-video-external-device"

主流通道的外部视频输入源设备ID,开启外部输入之后,需要通过setDevice设置此设备ID。

◆ kNERtcKeyAudioAECLowLevelEnable

#define kNERtcKeyAudioAECLowLevelEnable   "audio_aec_low_level_enable"

bool value. low level AEC 开关,默认值 false,需要 kNERtcKeyAudioProcessingAECEnable 打开才生效。

◆ kNERtcKeyAudioDeviceAutoSelectType

#define kNERtcKeyAudioDeviceAutoSelectType   "audio_device_auto_select_type"

音频设备自动选择策略。int 类型。默认值为 0。

  • 0:优先选择默认设备。
  • 1:优先选择可用设备。

◆ kNERtcKeyAudioProcessingAECEnable

#define kNERtcKeyAudioProcessingAECEnable   "audio_processing_aec_enable"

bool value. AEC 开关,默认值 true。

◆ kNERtcKeyAudioProcessingAGCEnable

#define kNERtcKeyAudioProcessingAGCEnable   "audio_processing_agc_enable"

bool value. AGC 开关,默认值 true。

◆ kNERtcKeyAudioProcessingAINSEnable

#define kNERtcKeyAudioProcessingAINSEnable   "audio_processing_ai_ns_enable"

bool value. AI NS 开关,建议通话前修改,默认值 false。

◆ kNERtcKeyAudioProcessingEarphone

#define kNERtcKeyAudioProcessingEarphone   "audio_processing_earphone"

bool value. 通知 SDK 是否使用耳机, true: 使用耳机, false: 不使用耳机,默认值 false。

◆ kNERtcKeyAudioProcessingExternalAudioMixEnable

#define kNERtcKeyAudioProcessingExternalAudioMixEnable   "audio_processing_external_audiomix_enable"

bool value. 输入混音开关,默认值 false。

◆ kNERtcKeyAudioProcessingNSEnable

#define kNERtcKeyAudioProcessingNSEnable   "audio_processing_ns_enable"

bool value. NS 开关,默认值 true。

◆ kNERtcKeyAutoSubscribeAudio

#define kNERtcKeyAutoSubscribeAudio   "auto_subscribe_audio"

bool value,其他用户打开音频时,自动订阅。默认值 true。通话前设置有效。

◆ kNERtcKeyAutoSubscribeData

#define kNERtcKeyAutoSubscribeData   "auto_subscribe_data"

bool value,是否关闭sdk 视频解码(默认不关闭),关闭后SDK 将不会解码远端视频,因此也不法渲染接收到的远端视频 需要在初始化前设置,释放SDK 后失效。一般配合 IRtcEngineEx::setPreDecodeObserver 使用。

自从
4.6.25 是否自动订阅其他用户的数据通道。
布尔值,默认为 NO,即非自动订阅。
注解
  • 请在加入房间前设置该参数,通话中设置无效。
  • 如果业务场景中使用 subscribeData 控制数据订阅,则该 Key 必须设置为 NO。

◆ kNERtcKeyAutoSubscribeVideo

#define kNERtcKeyAutoSubscribeVideo   "auto_subscribe_video"

是否订阅其他用户的视频流。
布尔值,默认值为 false。

注解
  • 订阅状态可以更改。远端用户重新发布推流视频,不影响本地用户的订阅状态;但远端用户退出房间重进后,本地恢复默认设置。
  • 该接口仅 windows 下有效。
  • 请在加入房间前设置该参数,通话中设置无效。

◆ kNERtcKeyChannel1V1ModeEnabled

#define kNERtcKeyChannel1V1ModeEnabled   "channel_1v1_mode_enabled"

bool value. 1v1 模式开关,默认关闭。通话前设置有效。

◆ kNERtcKeyDisableVideoDecoder

#define kNERtcKeyDisableVideoDecoder   "disable_video_decoder"

指定是否关闭视频解码器,默认不关闭(false)。 关闭(true)后 SDK 将不会解码远端视频,因此也不会渲染接收到的远端视频。 需要在初始化 IRtcEngine::initialize 前设置,释放 SDK 后失效。 一般配合 IRtcEngineEx::setPreDecodeObserver 使用。

自从
4.6.25

◆ kNERtcKeyEnableReportVolumeWhenMute

#define kNERtcKeyEnableReportVolumeWhenMute   "enable_report_volume_when_mute"

本地用户静音时是否返回原始音量。 布尔值,默认值为 false。

  • true:返回 onLocalAudioVolumeIndication 中的原始音量。
  • false:返回 onLocalAudioVolumeIndication 中的录音音量,静音时为 0。

◆ kNERtcKeyEnableVideoCaptureObserver

#define kNERtcKeyEnableVideoCaptureObserver   "video_frame_capture"

是否需要开启视频数据采集回调,开启后开发者可以获取到原始视频数据。
布尔值,默认值 NO。
开启后如果需要关闭,需要通过调用 destroyEngine 来清除。

◆ kNERtcKeyExtraInfo

#define kNERtcKeyExtraInfo   "extra_info"

string value. APP 标识,用于后台识别用户产品名称。

◆ kNERtcKeyLogLevel

#define kNERtcKeyLogLevel   "log_level"

int value, NERtcLogLevel,SDK 输出小于或等于该级别的 log,默认为 kNERtcLogLevelInfo。

◆ kNERtcKeyPublishSelfStreamEnabled

#define kNERtcKeyPublishSelfStreamEnabled   "publish_self_stream_enabled"

bool value,开启旁路直播。默认值 false。通话前设置有效。

◆ kNERtcKeyRecordAudioEnabled

#define kNERtcKeyRecordAudioEnabled   "record_audio_enabled"

bool value,启用服务器音频录制。默认值 false。通话前设置有效。

◆ kNERtcKeyRecordHostEnabled

#define kNERtcKeyRecordHostEnabled   "record_host_enabled"

通过 JSON 配置 SDK 提供技术预览或特别定制功能。以标准化方式公开 JSON 选项。详见 API setParameters。 bool value. true: 录制主讲人, false: 不是录制主讲人。通话前设置有效。

◆ kNERtcKeyRecordType

#define kNERtcKeyRecordType   "record_type"

int value, NERtcRecordType。通话前设置有效。

◆ kNERtcKeyRecordVideoEnabled

#define kNERtcKeyRecordVideoEnabled   "record_video_enabled"

bool value,启用服务器视频录制。默认值 false。通话前设置有效。

◆ kNERtcKeyVideoRenderType

#define kNERtcKeyVideoRenderType   "sdk.prefer.video.render"

切换SDK内部渲染模式
int,默认值0。

  • 0:选择默认渲染(win:d3d,Mac:metal)。
  • 1:Mac下使用OpenGL。
  • 2:Mac下使用Metal。
  • 3:windows下使用SDL2。

◆ kNERtcKeyVideoSendOnPubType

#define kNERtcKeyVideoSendOnPubType   "video_sendonpub_type"

int value. NERtcSendOnPubType;设置视频发送策略,默认发送大流 kNERtcSendOnPubHigh。通话前设置有效。

◆ kNERtcMaxBuffLength

#define kNERtcMaxBuffLength   1024

字符串缓存区最大长度。

◆ kNERtcMaxChannelNameLength

#define kNERtcMaxChannelNameLength   64

房间ID最大长度

◆ kNERtcMaxDeviceIDLength

#define kNERtcMaxDeviceIDLength   256

设备ID最大长度。

◆ kNERtcMaxDeviceNameLength

#define kNERtcMaxDeviceNameLength   256

设备名最大长度。

◆ kNERtcMaxPlaneCount

#define kNERtcMaxPlaneCount   4

Video max plane count.

◆ kNERtcMaxSEIBufferLength

#define kNERtcMaxSEIBufferLength   4096

直播推流中用到的SEI信息最大长度,单位:字节

◆ kNERtcMaxTaskIDLength

#define kNERtcMaxTaskIDLength   64

任务ID最大长度。

◆ kNERtcMaxTokenLength

#define kNERtcMaxTokenLength   256

token最大长度

◆ kNERtcMaxURILength

#define kNERtcMaxURILength   256

URI最大长度。