NERtc Windows SDK  V4.4.301
| 类型定义 | 枚举
nertc 命名空间参考

namespace nertc 更多...

class  IAudioDeviceManager
 
class  IDeviceCollection
 
struct  NERtcEngineContext
 
class  IRtcEngine
 
struct  NERtcLiveStreamTaskOption
 
struct  NERtcLiveStreamUserTranscoding
 
struct  NERtcLiveStreamImageInfo
 
struct  NERtcLiveStreamLayout
 
struct  NERtcLiveConfig
 
struct  NERtcLiveStreamTaskInfo
 
struct  NERtcDeviceInfo
 
struct  NERtcAudioVolumeInfo
 
struct  NERtcStats
 
struct  NERtcVideoLayerSendStats
 
struct  NERtcVideoSendStats
 
struct  NERtcVideoLayerRecvStats
 
struct  NERtcVideoRecvStats
 
struct  NERtcAudioSendStats
 
struct  NERtcAudioRecvStats
 
struct  NERtcNetworkQualityInfo
 
struct  NERtcVideoConfig
 
struct  NERtcRectangle
 
struct  NERtcVideoDimensions
 
struct  NERtcScreenCaptureParameters
 
struct  NERtcVideoCanvas
 
struct  NERtcAudioFrameRequestFormat
 
struct  NERtcAudioFormat
 
struct  NERtcAudioFrame
 
class  INERtcAudioFrameObserver
 
struct  NERtcVideoFrame
 
struct  NERtcCreateAudioMixingOption
 
struct  NERtcCreateAudioEffectOption
 
struct  NERtcTextWatermarkConfig
 
struct  NERtcTimestampWatermarkConfig
 
struct  NERtcChannelMediaRelayInfo
 
struct  NERtcChannelMediaRelayConfiguration
 
struct  NERtcImageWatermarkConfig
 
struct  NERtcCanvasWatermarkConfig
 
class  NERtcTakeSnapshotCallback
 
struct  NERtcServerAddresses
 
struct  NERtcEncryptionConfig
 
class  IRtcEngineEventHandler
 
class  IRtcEngineEventHandlerEx
 
class  IRtcEngineEx
 
class  IRtcMediaStatsObserver
 
class  IVideoDeviceManager
 

类型定义

typedef uint64_t uid_t
 
typedef uint64_t channel_id_t
 
typedef void * source_id_t
 
typedef void(* 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)
 

枚举

enum  NERtcInterfaceIdType { kNERtcIIDAudioDeviceManager = 1 , kNERtcIIDVideoDeviceManager = 2 }
 
enum  NERtcClientRole { kNERtcClientRoleBroadcaster = 0 , kNERtcClientRoleAudience = 1 }
 
enum  NERtcChannelProfileType { kNERtcChannelProfileCommunication = 0 , kNERtcChannelProfileLiveBroadcasting = 1 }
 
enum  NERtcMediaPriorityType { kNERtcMediaPriorityHigh = 50 , kNERtcMediaPriorityNormal = 100 }
 
enum  NERtcLiveStreamLayoutMode {
  kNERtcLayoutFloatingRightVertical = 0 , kNERtcLayoutFloatingLeftVertical , kNERtcLayoutSplitScreen , kNERtcLayoutSplitScreenScaling ,
  kNERtcLayoutCustom , kNERtcLayoutAudioOnly
}
 
enum  NERtcLiveStreamMode { kNERtcLsModeVideo = 0 , kNERtcLsModeAudio = 1 }
 
enum  NERtcLiveStreamVideoScaleMode { kNERtcLsModeVideoScaleFit = 0 , kNERtcLsModeVideoScaleCropFill = 1 }
 
enum  NERtcLiveStreamAudioSampleRate { kNERtcLiveStreamAudioSampleRate32000 = 32000 , kNERtcLiveStreamAudioSampleRate44100 = 44100 , kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 
enum  NERtcLiveStreamAudioCodecProfile { kNERtcLiveStreamAudioCodecProfileLCAAC = 0 , kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 
enum  NERtcLiveStreamStateCode { kNERtcLsStatePushing = 505 , kNERtcLsStatePushFail = 506 , kNERtcLsStatePushStopped = 511 , kNERtcLsStateImageError = 512 }
 
enum  NERtcOSCategory { kNERtcOSiOS = 1 , kNERtcOSAndroid = 2 , kNERtcOSPC = 3 , kNERtcOSWebRTC = 4 }
 
enum  NERtcAudioProfileType {
  kNERtcAudioProfileDefault = 0 , kNERtcAudioProfileStandard = 1 , kNERtcAudioProfileStandardExtend = 2 , kNERtcAudioProfileMiddleQuality = 3 ,
  kNERtcAudioProfileMiddleQualityStereo = 4 , kNERtcAudioProfileHighQuality = 5 , kNERtcAudioProfileHighQualityStereo = 6
}
 
enum  NERtcAudioScenarioType { kNERtcAudioScenarioDefault = 0 , kNERtcAudioScenarioSpeech = 1 , kNERtcAudioScenarioMusic = 2 }
 
enum  NERtcVoiceChangerType {
  kNERtcVoiceChangerOff = 0 , kNERtcVoiceChangerRobot = 1 , kNERtcVoiceChangerGaint = 2 , kNERtcVoiceChangerHorror = 3 ,
  kNERtcVoiceChangerMature = 4 , kNERtcVoiceChangerManToWoman = 5 , kNERtcVoiceChangerWomanToMan = 6 , kNERtcVoiceChangerManToLoli = 7 ,
  kNERtcVoiceChangerWomanToLoli = 8
}
 
enum  NERtcVoiceBeautifierType {
  kNERtcVoiceBeautifierOff = 0 , kNERtcVoiceBeautifierMuffled = 1 , kNERtcVoiceBeautifierMellow = 2 , kNERtcVoiceBeautifierClear = 3 ,
  kNERtcVoiceBeautifierMagnetic = 4 , kNERtcVoiceBeautifierRecordingstudio = 5 , kNERtcVoiceBeautifierNature = 6 , kNERtcVoiceBeautifierKTV = 7 ,
  kNERtcVoiceBeautifierRemote = 8 , kNERtcVoiceBeautifierChurch = 9 , kNERtcVoiceBeautifierBedroom = 10 , kNERtcVoiceBeautifierLive = 11
}
 
enum  NERtcVoiceEqualizationBand {
  kNERtcVoiceEqualizationBand_31 = 0 , kNERtcVoiceEqualizationBand_62 = 1 , kNERtcVoiceEqualizationBand_125 = 2 , kNERtcVoiceEqualizationBand_250 = 3 ,
  kNERtcVoiceEqualizationBand_500 = 4 , kNERtcVoiceEqualizationBand_1K = 5 , kNERtcVoiceEqualizationBand_2K = 6 , kNERtcVoiceEqualizationBand_4K = 7 ,
  kNERtcVoiceEqualizationBand_8K = 8 , kNERtcVoiceEqualizationBand_16K = 9
}
 
enum  NERtcVideoProfileType {
  kNERtcVideoProfileLowest = 0 , kNERtcVideoProfileLow = 1 , kNERtcVideoProfileStandard = 2 , kNERtcVideoProfileHD720P = 3 ,
  kNERtcVideoProfileHD1080P = 4 , kNERtcVideoProfileNone = 5 , kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P , kNERtcVideoProfileFake = 6
}
 
enum  NERtcRemoteVideoStreamType { kNERtcRemoteVideoStreamTypeHigh = 0 , kNERtcRemoteVideoStreamTypeLow = 1 , kNERtcRemoteVideoStreamTypeNone = 2 }
 
enum  NERtcAudioDeviceType { kNERtcAudioDeviceUnknown = 0 , kNERtcAudioDeviceRecord , kNERtcAudioDevicePlayout }
 
enum  NERtcAudioDeviceState { kNERtcAudioDeviceActive = 0 , kNERtcAudioDeviceUnactive }
 
enum  NERtcAudioDeviceTransportType {
  kNERtcAudioDeviceTransportTypeUnknown = 0 , kNERtcAudioDeviceTransportTypeBluetooth = 1 , kNERtcAudioDeviceTransportTypeBluetoothA2DP = 2 , kNERtcAudioDeviceTransportTypeBluetoothLE = 3 ,
  kNERtcAudioDeviceTransportTypeUSB = 4 , kNERtcAudioDeviceTransportTypeHDMI = 5 , kNERtcAudioDeviceTransportTypeBuiltIn = 6 , kNERtcAudioDeviceTransportTypeThunderbolt = 7 ,
  kNERtcAudioDeviceTransportTypeAirPlay = 8 , kNERtcAudioDeviceTransportTypeVirtual = 9 , kNERtcAudioDeviceTransportTypeOther = 10
}
 
enum  NERtcVideoDeviceTransportType { kNERtcVideoDeviceTransportTypeUnknown = 0 , kNERtcVideoDeviceTransportTypeUSB = 1 , kNERtcVideoDeviceTransportTypeVirtual = 2 , kNERtcVideoDeviceTransportTypeOther = 3 }
 
enum  NERtcVideoDeviceType { kNERtcVideoDeviceUnknown = 0 , kNERtcVideoDeviceCapture }
 
enum  NERtcVideoDeviceState { kNERtcVideoDeviceAdded = 0 , kNERtcVideoDeviceRemoved }
 
enum  NERtcVideoScalingMode { kNERtcVideoScaleFit = 0 , kNERtcVideoScaleFullFill = 1 , kNERtcVideoScaleCropFill = 2 }
 
enum  NERtcVideoMirrorMode { kNERtcVideoMirrorModeAuto = 0 , kNERtcVideoMirrorModeEnabled = 1 , kNERtcVideoMirrorModeDisabled = 2 }
 
enum  NERtcVideoOutputOrientationMode { kNERtcVideoOutputOrientationModeAdaptative = 0 , kNERtcVideoOutputOrientationModeFixedLandscape = 1 , kNERtcVideoOutputOrientationModeFixedPortrait = 2 }
 
enum  NERtcConnectionStateType {
  kNERtcConnectionStateDisconnected = 1 , kNERtcConnectionStateConnecting = 2 , kNERtcConnectionStateConnected = 3 , kNERtcConnectionStateReconnecting = 4 ,
  kNERtcConnectionStateFailed = 5
}
 
enum  NERtcReasonConnectionChangedType {
  kNERtcReasonConnectionChangedLeaveChannel = 1 , kNERtcReasonConnectionChangedChannelClosed = 2 , kNERtcReasonConnectionChangedBeKicked = 3 , kNERtcReasonConnectionChangedTimeOut = 4 ,
  kNERtcReasonConnectionChangedJoinChannel = 5 , kNERtcReasonConnectionChangedJoinSucceed = 6 , kNERtcReasonConnectionChangedReJoinSucceed = 7 , kNERtcReasonConnectionChangedMediaConnectionDisconnected = 8 ,
  kNERtcReasonConnectionChangedSignalDisconnected = 9 , kNERtcReasonConnectionChangedRequestChannelFailed = 10 , kNERtcReasonConnectionChangedJoinChannelFailed = 11 , kNERtcReasonConnectionChangedReDispatch = 12 ,
  kNERtcReasonConnectionChangedSettingProxyServer = 13
}
 
enum  NERtcNetworkQualityType {
  kNERtcNetworkQualityUnknown = 0 , kNERtcNetworkQualityExcellent = 1 , kNERtcNetworkQualityGood = 2 , kNERtcNetworkQualityPoor = 3 ,
  kNERtcNetworkQualityBad = 4 , kNERtcNetworkQualityVeryBad = 5 , kNERtcNetworkQualityDown = 6
}
 
enum  NERtcVideoCropMode { kNERtcVideoCropModeDefault = 0 , kNERtcVideoCropMode16x9 = 1 , kNERtcVideoCropMode4x3 = 2 , kNERtcVideoCropMode1x1 = 3 }
 
enum  NERtcVideoFramerateType {
  kNERtcVideoFramerateFpsDefault = 0 , kNERtcVideoFramerateFps_7 = 7 , kNERtcVideoFramerateFps_10 = 10 , kNERtcVideoFramerateFps_15 = 15 ,
  kNERtcVideoFramerateFps_24 = 24 , kNERtcVideoFramerateFps_30 = 30 , kNERtcVideoFramerateFps_60 = 60
}
 
enum  NERtcDegradationPreference { kNERtcDegradationDefault = 0 , kNERtcDegradationMaintainFramerate = 1 , kNERtcDegradationMaintainQuality = 2 , kNERtcDegradationBalanced = 3 }
 
enum  NERtcScreenProfileType {
  kNERtcScreenProfile480P = 0 , kNERtcScreenProfileHD720P = 1 , kNERtcScreenProfileHD1080P = 2 , kNERtcScreenProfileCustom = 3 ,
  kNERtcScreenProfileNone = 4 , kNERtcScreenProfileMAX = kNERtcScreenProfileHD1080P
}
 
enum  NERtcScreenCaptureStatus {
  kScreenCaptureStatusStart = 1 , kScreenCaptureStatusPause = 2 , kScreenCaptureStatusResume = 3 , kScreenCaptureStatusStop = 4 ,
  kScreenCaptureStatusCovered = 5
}
 
enum  NERtcSubStreamContentPrefer { kNERtcSubStreamContentPreferMotion = 0 , kNERtcSubStreamContentPreferDetails = 1 }
 
enum  NERtcRecordType { kNERtcRecordTypeAll = 0 , kNERtcRecordTypeMix = 1 , kNERtcRecordTypeSingle = 2 }
 
enum  NERtcAudioType { kNERtcAudioTypePCM16 = 0 }
 
enum  NERtcRawAudioFrameOpModeType { kNERtcRawAudioFrameOpModeReadOnly = 0 , kNERtcRawAudioFrameOpModeReadWrite }
 
enum  NERtcVideoType {
  kNERtcVideoTypeI420 = 0 , kNERtcVideoTypeNV12 = 1 , kNERtcVideoTypeNV21 = 2 , kNERtcVideoTypeBGRA = 3 ,
  kNERtcVideoTypeCVPixelBuffer = 4
}
 
enum  NERtcVideoRotation { kNERtcVideoRotation_0 = 0 , kNERtcVideoRotation_90 = 90 , kNERtcVideoRotation_180 = 180 , kNERtcVideoRotation_270 = 270 }
 
enum  NERtcSessionLeaveReason {
  kNERtcSessionLeaveNormal = 0 , kNERtcSessionLeaveForFailOver = 1 , kNERtcSessionLeaveUpdate = 2 , kNERtcSessionLeaveForKick = 3 ,
  kNERtcSessionLeaveTimeOut = 4
}
 
enum  NERtcAudioMixingState { kNERtcAudioMixingStateFinished = 0 , kNERtcAudioMixingStateFailed = 1 }
 
enum  NERtcVideoStreamType { kNERTCVideoStreamMain = 0 , kNERTCVideoStreamSub = 1 , kNERTCVideoStreamCount }
 
enum  NERtcChannelMediaRelayState { kNERtcChannelMediaRelayStateIdle = 0 , kNERtcChannelMediaRelayStateConnecting = 1 , kNERtcChannelMediaRelayStateRunning = 2 , kNERtcChannelMediaRelayStateFailure = 3 }
 
enum  NERtcChannelMediaRelayEvent {
  kNERtcChannelMediaRelayEventDisconnect = 0 , kNERtcChannelMediaRelayEventConnecting = 1 , kNERtcChannelMediaRelayEventConnected = 2 , kNERtcChannelMediaRelayEventVideoSentToDestChannelSuccess = 3 ,
  kNERtcChannelMediaRelayEventAudioSentToDestChannelSuccess = 4 , kNERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess = 5 , kNERtcChannelMediaRelayEventFailure = 100
}
 
enum  NERtcLogLevel {
  kNERtcLogLevelFatal = 0 , kNERtcLogLevelError = 1 , kNERtcLogLevelWarning = 2 , kNERtcLogLevelInfo = 3 ,
  kNERtcLogLevelDetailInfo = 4 , kNERtcLogLevelVerbos = 5 , kNERtcLogLevelDebug = 6 , kNERtcLogLevelOff = 7
}
 
enum  NERtcSendOnPubType { kNERtcSendOnPubNone = 0 , kNERtcSendOnPubHigh = 1 , kNERtcSendOnPubLow = 1 << 1 , kNERtcSendOnPubAll = kNERtcSendOnPubLow | kNERtcSendOnPubHigh }
 
enum  NERtcAudioRecordingQuality { kNERtcAudioRecordingQualityLow = 0 , kNERtcAudioRecordingQualityMedium = 1 , kNERtcAudioRecordingQualityHigh = 2 }
 
enum  NERtcAudioRecordingCode {
  kNERtcAudioRecordErrorSuffix = 1 , kNERtcAudioRecordOpenFileFailed = 2 , kNERtcAudioRecordStart = 3 , kNERtcAudioRecordError = 4 ,
  kNERtcAudioRecordFinish = 5
}
 
enum  RTCStreamFallbackOption { kNERtcStreamFallbackDisabled = 0 , kNERtcStreamFallbackVideoStreamLow = 1 , kNERtcStreamFallbackAudioOnly = 2 }
 
enum  NERtcEncryptionMode { kNERtcGMCryptoSM4ECB = 0 }
 
enum  NERtcTransportType { kNERtcTransportTypeNoneProxy = 0 , kNERtcTransportTypeUDPProxy = 1 }
 
enum  NERtcErrorCode {
  kNERtcNoError = 0 , kNERtcErrChannelReservePermissionDenied = 403 , kNERtcErrChannelReserveTimeOut = 408 , kNERtcErrChannelReserveErrorParam = 414 ,
  kNERtcErrChannelReserveServerFail = 500 , kNERtcErrChannelReserveMoreThanTwoUser = 600 , kNERtcErrLsTaskRequestInvalid = 1301 , kNERtcErrLsTaskIsInvaild = 1400 ,
  kNERtcErrLsTaskRoomExited = 1401 , kNERtcErrLsTaskNumLimit = 1402 , kNERtcErrLsTaskDuplicateId = 1403 , kNERtcErrLsTaskNotFound = 1404 ,
  kNERtcErrLsTaskRequestErr = 1417 , kNERtcErrLsTaskInternalServerErr = 1500 , kNERtcErrLsTaskInvalidLayout = 1501 , kNERtcErrLsTaskUserPicErr = 1512 ,
  kNERtcErrChannelStartFail = 11000 , kNERtcErrChannelDisconnected = 11001 , kNERtcErrVersionSelfLow = 11002 , kNERtcErrVersionRemoteLow = 11003 ,
  kNERtcErrChannelClosed = 11004 , kNERtcErrChannelKicked = 11005 , kNERtcErrDataError = 11400 , kNERtcErrInvalid = 11403 ,
  kNERtcErrChannelJoinTimeOut = 20101 , kNERtcErrChannelJoinMeetingModeError = 20102 , kNERtcErrChannelJoinRtmpModeError = 20103 , kNERtcErrChannelJoinRtmpNodesError = 20104 ,
  kNERtcErrChannelJoinRtmpHostError = 20105 , kNERtcErrChannelJoinRtmpCreateError = 20106 , kNERtcErrChannelJoinLayoutError = 20208 , kNERtcErrChannelJoinInvalidParam = 20400 ,
  kNERtcErrChannelJoinDesKey = 20401 , kNERtcErrChannelJoinInvalidRequst = 20417 , kNERtcErrChannelServerUnknown = 20500 , kNERtcErrFatal = 30001 ,
  kNERtcErrOutOfMemory = 30002 , kNERtcErrInvalidParam = 30003 , kNERtcErrNotSupported = 30004 , kNERtcErrInvalidState = 30005 ,
  kNERtcErrLackOfResource = 30006 , kNERtcErrInvalidIndex = 30007 , kNERtcErrDeviceNotFound = 30008 , kNERtcErrInvalidDeviceSourceID = 30009 ,
  kNERtcErrInvalidVideoProfile = 30010 , kNERtcErrCreateDeviceSourceFail = 30011 , kNERtcErrInvalidRender = 30012 , kNERtcErrDevicePreviewAlreadyStarted = 30013 ,
  kNERtcErrTransmitPendding = 30014 , kNERtcErrConnectFail = 30015 , kNERtcErrCreateDumpFileFail = 30016 , kNERtcErrStartDumpFail = 30017 ,
  kNERtcErrDesktopCaptureInvalidState = 30020 , kNERtcErrDesktopCaptureInvalidParam = 30021 , kNERtcErrDesktopCaptureNotReady = 30022 , kNERtcErrChannelAlreadyJoined = 30100 ,
  kNERtcErrChannelNotJoined = 30101 , kNERtcErrChannelRepleatedlyLeave = 30102 , kNERtcErrRequestJoinChannelFail = 30103 , kNERtcErrSessionNotFound = 30104 ,
  kNERtcErrUserNotFound = 30105 , kNERtcErrInvalidUserID = 30106 , kNERtcErrMediaNotStarted = 30107 , kNERtcErrSourceNotFound = 30108 ,
  kNERtcErrSwitchChannelInvalidState = 30109 , kNERtcErrChannelMediaRelayInvalidState = 30110 , kNERtcErrChannelMediaRelayPermissionDenied = 30111 , kNERtcErrChannelMediaRelayStopFailed = 30112 ,
  kNERtcErrEncryptNotSuitable = 30113 , kNERtcErrConnectionNotFound = 30200 , kNERtcErrStreamNotFound = 30201 , kNERtcErrAddTrackFail = 30202 ,
  kNERtcErrTrackNotFound = 30203 , kNERtcErrMediaConnectionDisconnected = 30204 , kNERtcErrSignalDisconnected = 30205 , kNERtcErrServerKicked = 30206 ,
  kNERtcErrKickedForRoomClosed = 30207 , kNERtcErrChannelLeaveBySwitchAction = 30208 , kNERtcRuntimeErrADMNoAuthorize = 40000 , kNERtcRuntimeErrVDMNoAuthorize = 50000 ,
  kNERtcRuntimeErrScreenCaptureNoAuthorize = 60000
}
 
enum  NERtcRoomServerErrorCode {
  kNERtcRoomServerErrOK = 200 , kNERtcRoomServerErrAuthError = 401 , kNERtcRoomServerErrChannelNotExist = 404 , kNERtcRoomServerErrUidNotExist = 405 ,
  kNERtcRoomServerErrDataError = 417 , kNERtcRoomServerErrUnknown = 500 , kNERtcRoomServerErrServerError = 600 , kNERtcRoomServerErrInvilid = 11403
}
 
enum  NERtcAudioMixingErrorCode {
  kNERtcAudioMixingErrorOK = 0 , kNERtcAudioMixingErrorFatal = 1 , kNERtcAudioMixingErrorCanNotOpen , kNERtcAudioMixingErrorDecode ,
  kNERtcAudioMixingErrorInterrupt , kNERtcAudioMixingErrorHttpNotFound , kNERtcAudioMixingErrorOpen , kNERtcAudioMixingErrorNInfo ,
  kNERtcAudioMixingErrorNStream , kNERtcAudioMixingErrorNCodec , kNERtcAudioMixingErrorNMem , kNERtcAudioMixingErrorCodecOpen ,
  kNERtcAudioMixingErrorInvalidInfo , kNERtcAudioMixingErrorOpenTimeout , kNERtcAudioMixingErrorIoTimeout , kNERtcAudioMixingErrorIo
}
 
enum  NERtcDMErrorCode {
  kNERtcRuntimeErrADMInitRecording = 40001 , kNERtcRuntimeErrADMStartRecording = 40002 , kNERtcRuntimeErrADMStopRecording = 40003 , kNERtcRuntimeErrADMInitPlayout = 40004 ,
  kNERtcRuntimeErrADMStartPlayout = 40005 , kNERtcRuntimeErrADMStopPlayout = 40006 , kNERtcErrVDMCameraNoFrame = 1502 , kNERtcErrVDMCameraCreateFail = 1503
}
 
enum  NERtcWarnCode {
  kNERtcWarnInvalidView = 100 , kNERtcWarnInitVideo = 101 , kNERtcWarnPending = 102 , kNERtcWarningChannelAbilityNotMatch = 406 ,
  kNERtcWarnADMRuntimePlayoutWarning = 1001 , kNERtcWarnADMRuntimeRecordingWarning = 1002 , kNERtcWarnADMRecordAudioSilence = 1003 , kNERtcWarnADMPlayoutMalfunction = 1004 ,
  kNERtcWarnADMRecordMalfunction = 1005 , kNERtcWarnADMRecordAudioLowLevel = 1006 , kNERtcWarnADMPlayoutAudioLowLevel = 1007 , kNERtcWarnAPMHowling = 1008 ,
  kNERtcWarnADMGlitchState = 1009 , kNERtcWarnADMImproperSettings = 1010 , kNERtcWarnADMWinCoreNoDataReadyEvent = 2000 , kNERtcWarnADMWinCoreNoRecordingDevice = 2001 ,
  kNERtcWarnADMWinCoreNoPlayoutDevice = 2002 , kNERtcWarnADMWinCoreImproperCaptureRelease = 2003
}
 

详细描述

namespace nertc

类型定义说明

◆ channel_id_t

typedef uint64_t nertc::channel_id_t

64-bit unsigned integer. Recommended setting range: 1 to 2 63 -1, and make sure the number is unique.

◆ onFrameDataCallback

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)

Video frame rate callback.

参数
uidThe user ID
dataThe data pointer
typeThe data type NERtcVideoType
widthThe width
heightThe height
countThe number of data types, including the number of offset and stride.
offsetThe data offset of each type
strideThe data step of each type
rotationScreen rotation angle NERtcVideoRotation
user_dataUser transparent transmission data
参数
uidThe user ID.
dataThe data pointer.
typeNERtcVideoType.
widthThe width.
heightThe height.
countThe number of data types, including the number of offset and stride.
offsetThe data offset.
strideThe data step.
rotationNERtcVideoRotation.
user_dataUser transparent transmission data.

◆ source_id_t

typedef void* nertc::source_id_t

Identify the source of the screen capture from a window or screen. If the source is a window, the type will be converted to HWND on Windows, and it will be converted to the INT data type on macOS. If the source is screen, the source type will be converted to the INT data type.

◆ uid_t

typedef uint64_t nertc::uid_t

64-bit unsigned integer. Recommended setting range: 1 to 2 63 -1, and make sure the number is unique.

枚举类型说明

◆ NERtcAudioDeviceState

Audio device status types.

枚举值
kNERtcAudioDeviceActive 

The audio device is activated.

kNERtcAudioDeviceUnactive 

The audio device is not activated.

◆ NERtcAudioDeviceTransportType

Audio device types.

枚举值
kNERtcAudioDeviceTransportTypeUnknown 

Unknown device.

kNERtcAudioDeviceTransportTypeBluetooth 

Bluetooth device.

kNERtcAudioDeviceTransportTypeBluetoothA2DP 

Bluetooth stereo device.

kNERtcAudioDeviceTransportTypeBluetoothLE 

Bluetooth low energy device.

kNERtcAudioDeviceTransportTypeUSB 

USB device.

kNERtcAudioDeviceTransportTypeHDMI 

HDMI device.

kNERtcAudioDeviceTransportTypeBuiltIn 

Built-in device.

kNERtcAudioDeviceTransportTypeThunderbolt 

Thunderbolt interface device.

kNERtcAudioDeviceTransportTypeAirPlay 

AirPlay device.

kNERtcAudioDeviceTransportTypeVirtual 

Virtual device.

kNERtcAudioDeviceTransportTypeOther 

Other devices.

◆ NERtcAudioDeviceType

Audio device type.

枚举值
kNERtcAudioDeviceUnknown 

Unknown audio device.

kNERtcAudioDeviceRecord 

Audio capture device.

kNERtcAudioDevicePlayout 

Audio playback device.

◆ NERtcAudioMixingErrorCode

indicates error codes of audio mixing music files.

枚举值
kNERtcAudioMixingErrorOK 

No error.

kNERtcAudioMixingErrorFatal 

Common error.

kNERtcAudioMixingErrorCanNotOpen 

Audio mixing is not enabled normally.

kNERtcAudioMixingErrorDecode 

Audio decoding error.

kNERtcAudioMixingErrorInterrupt 

Interruption codes in the operation.

kNERtcAudioMixingErrorHttpNotFound 

404 file not found,only for http / https.

kNERtcAudioMixingErrorOpen 

Fails to enable streams/files.

kNERtcAudioMixingErrorNInfo 

Decoding information failures or timeouts.

kNERtcAudioMixingErrorNStream 

No audio streams.

kNERtcAudioMixingErrorNCodec 

No decoder.

kNERtcAudioMixingErrorNMem 

No memory.

kNERtcAudioMixingErrorCodecOpen 

Failures or timeouts of enabling decoders.

kNERtcAudioMixingErrorInvalidInfo 

Invalid audio parameters such as channels and sample rate.

kNERtcAudioMixingErrorOpenTimeout 

Streams/files enabling timeouts.

kNERtcAudioMixingErrorIoTimeout 

Network io timeouts.

kNERtcAudioMixingErrorIo 

Network io errors.

◆ NERtcAudioMixingState

The playback state of the music file.

枚举值
kNERtcAudioMixingStateFinished 

The playback ends.

kNERtcAudioMixingStateFailed 

The playback fails because an error occurs. For more information, see NERtcAudioMixingErrorCode.

◆ NERtcAudioProfileType

Audio profile. Audio sample rate, bitrate, encoding mode, and the number of channels.

枚举值
kNERtcAudioProfileDefault 

0: Default settings. KNERtcAudioProfileStandardExtend in the speech scenarios. kNERtcAudioProfileHighQuality in the music scenarios.

kNERtcAudioProfileStandard 

1: Standard-quality audio encoding, 16000Hz, 20kbps.

kNERtcAudioProfileStandardExtend 

2: Standard-quality audio encoding, 16000Hz, 32kbps.

kNERtcAudioProfileMiddleQuality 

3: Medium-quality audio encoding, 48000Hz, 32kbps.

kNERtcAudioProfileMiddleQualityStereo 

4: Medium-quality stereo encoding, 48000Hz * 2, 64kbps.

kNERtcAudioProfileHighQuality 

5: High-quality audio encoding, 48000Hz, 64kbps.

kNERtcAudioProfileHighQualityStereo 

6: High-quality stereo encoding, 48000Hz * 2, 128kbps.

◆ NERtcAudioRecordingCode

The error code of recording callbacks.

枚举值
kNERtcAudioRecordErrorSuffix 

Unsupported recording file format.

kNERtcAudioRecordOpenFileFailed 

fails to create a recording file. Reasons:

  • The application does not have the write permissions.
  • The file path does not exist.
kNERtcAudioRecordStart 

Starts recording.

kNERtcAudioRecordError 

An error occurs during recording. The typical reason is that the disk space is full and cannot be written.

kNERtcAudioRecordFinish 

Recording is complete.

◆ NERtcAudioRecordingQuality

Recording audio quality.

枚举值
kNERtcAudioRecordingQualityLow 

Low quality

kNERtcAudioRecordingQualityMedium 

medium quality

kNERtcAudioRecordingQualityHigh 

High quality

◆ NERtcAudioScenarioType

Audio application scenarios. Different audio scenarios use different audio capture modes and playback modes.

枚举值
kNERtcAudioScenarioDefault 

0: Default settings.

  • kNERtcAudioScenarioSpeech in kNERtcChannelProfileCommunication.
  • kNERtcAudioScenarioMusic in kNERtcChannelProfileLiveBroadcasting.
kNERtcAudioScenarioSpeech 

1: Voice scenarios. Set NERtcAudioProfileType to kNERtcAudioProfileMiddleQuality or lower.

kNERtcAudioScenarioMusic 

2: Music scenarios. Set NERtcAudioProfileType to kNERtcAudioProfileMiddleQualityStereo or above.

◆ NERtcAudioType

Audio type.

枚举值
kNERtcAudioTypePCM16 

PCM audio format.

◆ NERtcChannelMediaRelayEvent

Events related to the media stream relay.

枚举值
kNERtcChannelMediaRelayEventConnecting 

Starts to relay media streams.

kNERtcChannelMediaRelayEventConnected 

The media stream relay gets connected to the server.

kNERtcChannelMediaRelayEventVideoSentToDestChannelSuccess 

The video stream is relayed to the destination room.

kNERtcChannelMediaRelayEventAudioSentToDestChannelSuccess 

The audio stream is relayed to the destination room.

kNERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess 

Other streams such as screen sharing stream are relayed to the destination room.

kNERtcChannelMediaRelayEventFailure 

Fails to relay media streams.

◆ NERtcChannelMediaRelayState

Status during media stream relay.

◆ NERtcChannelProfileType

Scenario types.

枚举值
kNERtcChannelProfileCommunication 

Communication

kNERtcChannelProfileLiveBroadcasting 

Live streaming

◆ NERtcClientRole

Participant role type.

枚举值
kNERtcClientRoleBroadcaster 

The host role in live streaming. The host has the permissions to open or close audio and video devices, such as a camera, publish streams, and configure streaming tasks in interactive live streaming. The status of the host is visible to the users in the room when the host joins or leaves the room.

kNERtcClientRoleAudience 

The audience role in live streaming. The audience can only receive audio and video streams, and cannot manage audio and video devices, and configure streaming tasks in interactive live streaming. The status of an audience is invisible to the users in the room when the audience joins or leaves the room.

◆ NERtcConnectionStateType

The state of network connection

枚举值
kNERtcConnectionStateDisconnected 

The client is disconnected.

kNERtcConnectionStateConnecting 

The client is connecting to the room server.

kNERtcConnectionStateConnected 

The client is connected to the room server.

kNERtcConnectionStateReconnecting 

The client is reconnecting to the room server.

kNERtcConnectionStateFailed 

The client fails to connect to the room server.

◆ NERtcDegradationPreference

Video encoding strategy.

枚举值
kNERtcDegradationDefault 
  • By default, adjust the adaptation preference based on scenarios.
  • In communication scenes, select kNERtcDegradationBalanced mode to maintain a balance between the frame rate and video quality.
  • In live streaming scenes, select kNERtcDegradationMaintainQuality mode and reduce the frame rate to ensure video quality.
kNERtcDegradationMaintainFramerate 

Smooth streams come first. Reduce video quality to ensure the frame rate. In a weak network environment, you can reduce the video quality to ensure a smooth video playback. In this case, the image quality is reduced and the pictures become blurred, but the video can be kept smooth.

kNERtcDegradationMaintainQuality 

Clarity is prioritized. Reduce the frame rate to ensure video quality. In a weak network environment, you can reduce the video frame rate to ensure that the video is clear. In this case, a certain amount of freezes may occur at this time.

kNERtcDegradationBalanced 

Maintain a balance between the frame rate and video quality.

◆ NERtcDMErrorCode

Error codes.

Error codes are returned when a problem that cannot be recovered without app intervention has occurred.

枚举值
kNERtcRuntimeErrADMInitRecording 

Audio device module: Errors occur when initializing recording devices. Please check whether the recording device can work properly or have limited permissions, or try reconnecting to rejoin the room.

kNERtcRuntimeErrADMStartRecording 

Audio device module: Errors occur when enabling recording devices. Please check whether the recording device can work properly, or try reconnecting to rejoin the room.

kNERtcRuntimeErrADMStopRecording 

Audio device module: Errors occur when running recording devices. Please check whether the recording device can work properly, or try reconnecting to rejoin the room.

kNERtcRuntimeErrADMInitPlayout 

Audio device module: Errors occur when initializing playback devices. Please check whether the playback device can work properly or have limited permissions, or try reconnecting to rejoin the room.

kNERtcRuntimeErrADMStartPlayout 

Audio device module: Errors occur when enabling playback devices. Please check whether the playback device can work properly, or try reconnecting to rejoin the room.

kNERtcRuntimeErrADMStopPlayout 

Audio device module: Errors occur when running playback devices. Please check whether the playback device can work properly, or try reconnecting to rejoin the room.

kNERtcErrVDMCameraNoFrame 

Audio device module: The Camera has no data frame. Please check the camera or switch the camera.

kNERtcErrVDMCameraCreateFail 

Audio device module:Fails to enable camera. Please check whether the camera has exited or occupied.

◆ NERtcEncryptionMode

Media stream encryption mode.

枚举值
kNERtcGMCryptoSM4ECB 

128-bit SM4 encryption, ECB mode.

◆ NERtcErrorCode

Error codes.

Error codes are returned when a problem that cannot be recovered without app intervention has occurred.

枚举值
kNERtcNoError 

No errors.

kNERtcErrChannelReservePermissionDenied 

No permissions. Possible reasons:

  • RTC 2.0 service is not enabled, whose trial period is overdue or fees are not renewed.
  • Token is not specified in safe mode when joining a channel.
  • Other permission-related problems.
kNERtcErrChannelReserveTimeOut 

Request timeouts.

kNERtcErrChannelReserveErrorParam 

Error codes are returned when parameters are requested in the server.

kNERtcErrChannelReserveServerFail 

Unknown errors are returned when channels are assigned in the server.

kNERtcErrChannelReserveMoreThanTwoUser 

Only two users are supported in the same channel. If the third user wants to share the same channel name, assign another channel.

kNERtcErrLsTaskRequestInvalid 

Invalid permission that is replaced by following operations.

kNERtcErrLsTaskIsInvaild 

Parameter format error.

kNERtcErrLsTaskRoomExited 

Exited the channel.

kNERtcErrLsTaskNumLimit 

Streaming tasks are over the limit.

kNERtcErrLsTaskDuplicateId 

Duplicates ID of streaming tasks.

kNERtcErrLsTaskNotFound 

No ID task or no channels.

kNERtcErrLsTaskRequestErr 

Permission failures.

kNERtcErrLsTaskInternalServerErr 

Internal errors in the server.

kNERtcErrLsTaskInvalidLayout 

Layout parameter errors.

kNERtcErrLsTaskUserPicErr 

Image errors of users.

kNERtcErrChannelStartFail 

Fails to initiate a channel.

kNERtcErrChannelDisconnected 

Disconnects the channel.

kNERtcErrVersionSelfLow 

The local SDK version is too low to achieve compatibility.

kNERtcErrVersionRemoteLow 

The remote SDK version is too low to achieve compatibility.

kNERtcErrChannelClosed 

The channel is disabled.

kNERtcErrChannelKicked 

The ID is removed from the channel.

kNERtcErrDataError 

Data error.

kNERtcErrInvalid 

Invalid operation.

kNERtcErrChannelJoinTimeOut 

Request timeouts.

kNERtcErrChannelJoinMeetingModeError 

Meeting mode error.

kNERtcErrChannelJoinRtmpModeError 

rtmp users join the channel that applies the non-rtmp protocol.

kNERtcErrChannelJoinRtmpNodesError 

Users capacity is exceeded in the room that applies to the rtmp protocol.

kNERtcErrChannelJoinRtmpHostError 

The role of host is specified.

kNERtcErrChannelJoinRtmpCreateError 

Relayed live streaming is required where the host does not create the room.

kNERtcErrChannelJoinLayoutError 

Errors occur when the host customized the channel layout.

kNERtcErrChannelJoinInvalidParam 

Error parameters.

kNERtcErrChannelJoinDesKey 

Password encryption error.

kNERtcErrChannelJoinInvalidRequst 

Error request.

kNERtcErrChannelServerUnknown 

Internal errors in the server.

kNERtcErrFatal 

Common errors.

kNERtcErrOutOfMemory 

Out of memory.

kNERtcErrInvalidParam 

Invalid parameters.

kNERtcErrNotSupported 

Unsupported operation.

kNERtcErrInvalidState 

Unsupported operations in the current state.

kNERtcErrLackOfResource 

Depleted resources.

kNERtcErrInvalidIndex 

Invalid index.

kNERtcErrDeviceNotFound 

Device is not found.

kNERtcErrInvalidDeviceSourceID 

Invalid device ID.

kNERtcErrInvalidVideoProfile 

Invalid profile type of video.

kNERtcErrCreateDeviceSourceFail 

Device creation errors.

kNERtcErrInvalidRender 

Invalid rendering device.

kNERtcErrDevicePreviewAlreadyStarted 

Device is already enabled.

kNERtcErrTransmitPendding 

Transmission error.

kNERtcErrConnectFail 

Server connection error.

kNERtcErrCreateDumpFileFail 

Fails to create Audio dump file.

kNERtcErrStartDumpFail 

Fails to enable Audio dump file.

kNERtcErrDesktopCaptureInvalidState 

Fails to enable desktop screen recording if camera is started at the same time.

kNERtcErrDesktopCaptureInvalidParam 

Parameters are invalid when the desktop screen recording is implemented.

kNERtcErrDesktopCaptureNotReady 

Desktop screen recording is not ready.

kNERtcErrChannelAlreadyJoined 

Repeatedly joins the channel.

kNERtcErrChannelNotJoined 

Does not join the channel.

kNERtcErrChannelRepleatedlyLeave 

Repeatedly leaves the channel.

kNERtcErrRequestJoinChannelFail 

Fails to join the channel.

kNERtcErrSessionNotFound 

Session is not found.

kNERtcErrUserNotFound 

The user is not found.

kNERtcErrInvalidUserID 

Invalid user ID.

kNERtcErrMediaNotStarted 

Users do not connect the multi-media data.

kNERtcErrSourceNotFound 

Source is not found.

kNERtcErrSwitchChannelInvalidState 

Invalid state of switching channels.

kNERtcErrChannelMediaRelayInvalidState 

Invalid state of relaying media streams.

kNERtcErrChannelMediaRelayPermissionDenied 

Invalid permissions of relaying streams. Check whether the mode is set as audience mode or 1v1 mode.

kNERtcErrChannelMediaRelayStopFailed 

If you fail to stop relaying media streams, check whether the media stream forwarding is enabled.

kNERtcErrEncryptNotSuitable 

If you set the different encryption password of media streams from other members in the room, you fail to join the room. Sets new encryption password thorough enableEncryption.

kNERtcErrConnectionNotFound 

Connection is not found.

kNERtcErrStreamNotFound 

Media streams are not found.

kNERtcErrAddTrackFail 

Fails to join the track.

kNERtcErrTrackNotFound 

Track is not found.

kNERtcErrMediaConnectionDisconnected 

Media disconnection.

kNERtcErrSignalDisconnected 

Signalling disconnection.

kNERtcErrServerKicked 

The user is removed from the room.

kNERtcErrKickedForRoomClosed 

Removed for the channel is already disabled.

kNERtcErrChannelLeaveBySwitchAction 

Removed for the destination room is disabled.

kNERtcRuntimeErrADMNoAuthorize 

No permission of audio devices.

kNERtcRuntimeErrVDMNoAuthorize 

No permission of video devices.

kNERtcRuntimeErrScreenCaptureNoAuthorize 

No permission of video recording.

◆ NERtcInterfaceIdType

Interface ID type.

枚举值
kNERtcIIDAudioDeviceManager 

Get the interface ID of the audio device manager.

kNERtcIIDVideoDeviceManager 

Get the interface ID of the video device manager.

◆ NERtcLiveStreamAudioCodecProfile

Live streaming audio codec profile

枚举值
kNERtcLiveStreamAudioCodecProfileLCAAC 

(Default) LC- AAC, the basic audio encoding profile.

kNERtcLiveStreamAudioCodecProfileHEAAC 

HE-AAC, high-efficiency audio encoding profile.

◆ NERtcLiveStreamAudioSampleRate

Live streaming audio sample rate

枚举值
kNERtcLiveStreamAudioSampleRate32000 

The sample rate is 32 kHz.

kNERtcLiveStreamAudioSampleRate44100 

The sample rate is 44.1 kHz.

kNERtcLiveStreamAudioSampleRate48000 

(Default) The sample rate is 48 kHz.

◆ NERtcLiveStreamLayoutMode

Co-hosting method.

◆ NERtcLiveStreamMode

Streaming mode in live streaming.

枚举值
kNERtcLsModeVideo 

Publish the video stream.

kNERtcLsModeAudio 

Publish audio-only stream.

◆ NERtcLiveStreamStateCode

Live streaming status code.

枚举值
kNERtcLsStatePushing 

Publishing.

kNERtcLsStatePushFail 

Publishing fails.

kNERtcLsStatePushStopped 

Publishing ends.

kNERtcLsStateImageError 

Background image setting error.

◆ NERtcLiveStreamVideoScaleMode

Video cropping mode in live streaming

枚举值
kNERtcLsModeVideoScaleFit 

0: Video dimensions are scaled proportionally. All video content is prioritized for display. If the video dimensions do not match the display window, the unfilled area of the window will be filled with the background color.

kNERtcLsModeVideoScaleCropFill 

1: Video dimensions are scaled proportionally. The window is prioritized to be filled. The extra video due to the inconsistency between the video size and the display window size will be cropped off.

◆ NERtcLogLevel

Log levels.

枚举值
kNERtcLogLevelFatal 

Fatal.

kNERtcLogLevelError 

Error.

kNERtcLogLevelWarning 

Warning.

kNERtcLogLevelInfo 

Info. The default log level.

kNERtcLogLevelDetailInfo 

Detail Info.

kNERtcLogLevelVerbos 

Verbos.

kNERtcLogLevelDebug 

Debug. To get the complete log file, set the log level to this option.

kNERtcLogLevelOff 

No logs.

◆ NERtcMediaPriorityType

Media priority type.

枚举值
kNERtcMediaPriorityHigh 

High priority

kNERtcMediaPriorityNormal 

Normal priority (default)

◆ NERtcNetworkQualityType

Network quality type.

枚举值
kNERtcNetworkQualityUnknown 

0: Unknown network quality.

kNERtcNetworkQualityExcellent 

1: Excellent network quality.

kNERtcNetworkQualityGood 

2: Good network quality is close to the excellent level but has the bitrate is lower an excellent network.

kNERtcNetworkQualityPoor 

3: Poor network does not affect communication.

kNERtcNetworkQualityBad 

4: Users can communicate with each other without smoothness.

kNERtcNetworkQualityVeryBad 

5: The network quality is very poor. Basically users are unable to communicate.

kNERtcNetworkQualityDown 

6: Users are unable to communicate with each other.

◆ NERtcOSCategory

Category.

枚举值
kNERtcOSiOS 

iOS universal device.

kNERtcOSAndroid 

Android universal device.

kNERtcOSPC 

PC device.

kNERtcOSWebRTC 

WebRTC.

◆ NERtcRawAudioFrameOpModeType

Audio frame request data read and write mode.

枚举值
kNERtcRawAudioFrameOpModeReadOnly 

Read-only mode

kNERtcRawAudioFrameOpModeReadWrite 

Read and write mode

◆ NERtcReasonConnectionChangedType

The reason for the connection state change.

枚举值
kNERtcReasonConnectionChangedLeaveChannel 

kNERtcConnectionStateDisconnected The client leaves the room.

kNERtcReasonConnectionChangedChannelClosed 

kNERtcConnectionStateDisconnected The room is closed.

kNERtcReasonConnectionChangedBeKicked 

kNERtcConnectionStateDisconnected The user is removed from the room.

kNERtcReasonConnectionChangedTimeOut 

kNERtcConnectionStateDisconnected The service times out.

kNERtcReasonConnectionChangedJoinChannel 

kNERtcConnectionStateConnecting The user joins the room.

kNERtcReasonConnectionChangedJoinSucceed 

kNERtcConnectionStateConnected The user has joined the room.

kNERtcReasonConnectionChangedReJoinSucceed 

kNERtcConnectionStateConnected The user rejoins the room successfully (reconnection).

kNERtcReasonConnectionChangedMediaConnectionDisconnected 

kNERtcConnectionStateReconnecting The media stream gets disconnected.

kNERtcReasonConnectionChangedSignalDisconnected 

kNERtcConnectionStateReconnecting The signaling channel gets disconnected.

kNERtcReasonConnectionChangedRequestChannelFailed 

kNERtcConnectionStateFailed The request to join the room fails.

kNERtcReasonConnectionChangedJoinChannelFailed 

kNERtcConnectionStateFailed The user fails to join the room.

kNERtcReasonConnectionChangedReDispatch 

kNERtcConnectionStateReconnecting The server IP is reallocated.

kNERtcReasonConnectionChangedSettingProxyServer 

开始使用云代理进行连接。

◆ NERtcRecordType

Recording type.

枚举值
kNERtcRecordTypeAll 

Composite and individual stream recording.

kNERtcRecordTypeMix 

Composite recording mode.

kNERtcRecordTypeSingle 

individual recording mode.

◆ NERtcRemoteVideoStreamType

The video stream type.

枚举值
kNERtcRemoteVideoStreamTypeHigh 

The default high-resolution stream.

kNERtcRemoteVideoStreamTypeLow 

The low-resolution stream

kNERtcRemoteVideoStreamTypeNone 

Unsubscribed.

◆ NERtcRoomServerErrorCode

The related error codes of room server. TODO:NERtcErrorCode.

枚举值
kNERtcRoomServerErrOK 

Successful operation.

kNERtcRoomServerErrAuthError 

Authentication error.

kNERtcRoomServerErrChannelNotExist 

Channel is not found.

kNERtcRoomServerErrUidNotExist 

The uid of the channel is not found.

kNERtcRoomServerErrDataError 

Request data error.

kNERtcRoomServerErrUnknown 

Internal error that request error occurs in the TurnServer.

kNERtcRoomServerErrServerError 

Internal errors in the server.

kNERtcRoomServerErrInvilid 

Invalid operation.

◆ NERtcScreenCaptureStatus

Screen sharing status.

枚举值
kScreenCaptureStatusStart 

Starts screen sharing.

kScreenCaptureStatusPause 

Pauses screen sharing.

kScreenCaptureStatusResume 

Resumes screen sharing.

kScreenCaptureStatusStop 

Stops screen sharing.

kScreenCaptureStatusCovered 

The target window for screen sharing is covered.

◆ NERtcScreenProfileType

Configuration parameters for screen sharing encoding.

枚举值
kNERtcScreenProfile480P 

640x480, 5fps.

kNERtcScreenProfileHD720P 

1280x720, 5fps.

kNERtcScreenProfileHD1080P 

1920x1080, 5fps. This is the default value.

kNERtcScreenProfileCustom 

Custom.

◆ NERtcSendOnPubType

Video delivery strategy after publishing.

枚举值
kNERtcSendOnPubNone 

The client does not actively send the data stream. The stream is sent if the stream is subscribed.

kNERtcSendOnPubHigh 

The client actively sends the bigstream.

kNERtcSendOnPubLow 

The client actively sends the substream.

kNERtcSendOnPubAll 

The client actively sends the bigstream and the substream.

◆ NERtcSessionLeaveReason

The reasons why the user leaves.

枚举值
kNERtcSessionLeaveNormal 

A user leaves the room normally.

kNERtcSessionLeaveForFailOver 

The user is disconnected and leaves the room.

kNERtcSessionLeaveUpdate 

The user leaves the room because the session fails over.

kNERtcSessionLeaveForKick 

The user is removed from the room.

kNERtcSessionLeaveTimeOut 

The user is disconnected due to connection timeout.

◆ NERtcSubStreamContentPrefer

Encoding strategy preference for screen sharing.

  • kNERtcSubStreamContentPreferMotion: The content type is animation. When the shared content is a video, movie, or game, We recommend that you select this content type. If a user sets the content type to animation, the user-defined frame rate is applied.
  • kNERtcSubStreamContentPreferDetails: The content type is details. When the shared content is an image or text, We recommend that you select this content type. When the user sets the content type to details, the user is allowed to set up to 10 frames. If the setting exceeds 10 frames, 10 frames are applied.
枚举值
kNERtcSubStreamContentPreferMotion 

The animation mode.

kNERtcSubStreamContentPreferDetails 

The details mode.

◆ NERtcTransportType

云代理模式。

枚举值
kNERtcTransportTypeNoneProxy 

0:关闭已设置的云代理。

kNERtcTransportTypeUDPProxy 

1: 开启 UDP 协议的云代理。

◆ NERtcVideoCropMode

Video cropping mode.

枚举值
kNERtcVideoCropModeDefault 

Device Default

kNERtcVideoCropMode16x9 

16:9

kNERtcVideoCropMode4x3 

4:3

kNERtcVideoCropMode1x1 

1:1

◆ NERtcVideoDeviceState

Video device status types.

枚举值
kNERtcVideoDeviceAdded 

The video device is added.

kNERtcVideoDeviceRemoved 

The video device is removed.

◆ NERtcVideoDeviceTransportType

Camera device type.

枚举值
kNERtcVideoDeviceTransportTypeUnknown 

Unknown device.

kNERtcVideoDeviceTransportTypeUSB 

USB device.

kNERtcVideoDeviceTransportTypeVirtual 

Virtual device.

kNERtcVideoDeviceTransportTypeOther 

Other device.

◆ NERtcVideoDeviceType

Video device types.

枚举值
kNERtcVideoDeviceUnknown 

Unknown video device.

kNERtcVideoDeviceCapture 

Video capture device.

◆ NERtcVideoFramerateType

Video frame rate.

枚举值
kNERtcVideoFramerateFpsDefault 

default frame rate

kNERtcVideoFramerateFps_7 

7 frames per second

kNERtcVideoFramerateFps_10 

10 frames per second

kNERtcVideoFramerateFps_15 

15 frames per second

kNERtcVideoFramerateFps_24 

24 frames per second

kNERtcVideoFramerateFps_30 

30 frames per second

kNERtcVideoFramerateFps_60 

60 frames per second

◆ NERtcVideoMirrorMode

Video mirror mode.

枚举值
kNERtcVideoMirrorModeAuto 

0: The mirror mode is enabled in Windows and macOS SDKs.

kNERtcVideoMirrorModeEnabled 

1: Enables mirror mode.

kNERtcVideoMirrorModeDisabled 

2: Disables mirroring mode (default).

◆ NERtcVideoOutputOrientationMode

The video orientation mode.

枚举值
kNERtcVideoOutputOrientationModeAdaptative 

(default) The direction of the video output by the SDK in this mode is consistent with the direction of the captured video. The receiver rotates the video based on the received video rotation information.

This mode is suitable for scenarios where the receiver can adjust the video direction.

  • If the captured video is in landscape mode, the output video is also in landscape mode.
  • If the captured video is in portrait mode, the output video is also in portrait mode.
kNERtcVideoOutputOrientationModeFixedLandscape 

In this mode, the SDK always outputs videos in landscape mode. If the captured video is in portrait mode, the video encoder crops the video.

This mode is suitable for scenes where the receiver cannot adjust the video direction, such as CDN relayed streaming.

kNERtcVideoOutputOrientationModeFixedPortrait 

In this mode, the SDK always outputs videos in portrait mode. If the captured video is in landscape mode, the video encoder crops the video.

This mode is suitable for scenes where the receiver cannot adjust the video direction, such as CDN relayed streaming.

◆ NERtcVideoProfileType

Video encoding configuration. The resolution used to measure encoding quality.

注解
  • kNERtcVideoProfileFake: The peer sends a 16*16 fakeVideo (SEI delivered in audio-only streams), which is an internal behavior of the SDK. The view is not displayed at this time (the client receives only black frames); Therefore, this setting is not actively applied. If you select the setting, the SDK applies the setting to the standard.
枚举值
kNERtcVideoProfileLowest 

LD160x90/120, 15fps

kNERtcVideoProfileLow 

LD 320x180/240, 15fps

kNERtcVideoProfileStandard 

SD 640x360/480, 30fps

kNERtcVideoProfileHD1080P 

HD (1280 x 720, 30 fps) 1080p (1920x1080, 30fps)

kNERtcVideoProfileFake 

FakeVideo logo, only displayed in the callback. Do not use the setting. Otherwise, the SDK applies the logo based on kNERtcVideoProfileStandard.

When the remote client sends the SEI in the audio-only state, the local client receives the message returned by the onUserVideoStart callback from the remote client. The maxProfile parameter is kNERtcVideoProfileFake, which indicates that the remote client sends a 16*16 FakeVideo. At this time, if the local client needs to receive the remote SEI, you only need to subscribe to the remote video, without setting the remote canvas.

◆ NERtcVideoRotation

The angle to which the video rotates.

枚举值
kNERtcVideoRotation_0 

kNERtcVideoRotation_90 

90°

kNERtcVideoRotation_180 

180°

kNERtcVideoRotation_270 

270°

◆ NERtcVideoScalingMode

Set the video scaling mode.

枚举值
kNERtcVideoScaleFit 

0: adaptive to the video. The video size is scaled proportionally. All video content is prioritized for display. If the video size does not match the display window size, the unfilled area of the window is be filled with the background color.

kNERtcVideoScaleFullFill 

1: The video size is scaled non-proportionally. Ensure that all video content is displayed and the window is filled.

kNERtcVideoScaleCropFill 

2: adaptive to the area. The video size is scaled proportionally. Ensure that all areas are filled, and the extra part of the video will be cropped.

◆ NERtcVideoStreamType

The video stream type.

枚举值
kNERTCVideoStreamMain 

Bigstream.

kNERTCVideoStreamSub 

Substream.

kNERTCVideoStreamCount 

Reserved parameter. Ignore this parameter.

◆ NERtcVideoType

The video type.

枚举值
kNERtcVideoTypeI420 

I420 video format.

kNERtcVideoTypeNV12 

NV12 video format.

kNERtcVideoTypeNV21 

NV21 video format.

kNERtcVideoTypeBGRA 

BGRA video format.

kNERtcVideoTypeCVPixelBuffer 

oc capture native video format. External video input is not allowed.

◆ NERtcVoiceBeautifierType

Preset voice beautifier effect.

枚举值
kNERtcVoiceBeautifierOff 

By default, the setting is disabled.

kNERtcVoiceBeautifierMuffled 

A muffled effect.

kNERtcVoiceBeautifierMellow 

A mellow effect.

kNERtcVoiceBeautifierClear 

A clear effect.

kNERtcVoiceBeautifierMagnetic 

A magnetic effect.

kNERtcVoiceBeautifierRecordingstudio 

A recording studio effect.

kNERtcVoiceBeautifierNature 

A nature effect.

kNERtcVoiceBeautifierKTV 

A KTV effect.

kNERtcVoiceBeautifierRemote 

A remote effect.

kNERtcVoiceBeautifierChurch 

A church effect.

kNERtcVoiceBeautifierBedroom 

A bedroom effect.

kNERtcVoiceBeautifierLive 

A live effect.

◆ NERtcVoiceChangerType

The preset value of the voice changer.

枚举值
kNERtcVoiceChangerOff 

By default, the setting is disabled.

kNERtcVoiceChangerRobot 

A robot voice.

kNERtcVoiceChangerGaint 

A giant voice.

kNERtcVoiceChangerHorror 

A horror voice.

kNERtcVoiceChangerMature 

A maturity voice.

kNERtcVoiceChangerManToWoman 

From a male voice to a female voice.

kNERtcVoiceChangerWomanToMan 

From a female voice to a male voice.

kNERtcVoiceChangerManToLoli 

From a male voice to a loli voice.

kNERtcVoiceChangerWomanToLoli 

From a female voice to a loli voice.

◆ NERtcVoiceEqualizationBand

The center frequency of the sound equalization band.

枚举值
kNERtcVoiceEqualizationBand_31 

31 Hz.

kNERtcVoiceEqualizationBand_62 

62 Hz.

kNERtcVoiceEqualizationBand_125 

125 Hz.

kNERtcVoiceEqualizationBand_250 

250 Hz.

kNERtcVoiceEqualizationBand_500 

500 Hz.

kNERtcVoiceEqualizationBand_1K 

1 kHz.

kNERtcVoiceEqualizationBand_2K 

2 kHz.

kNERtcVoiceEqualizationBand_4K 

4 kHz.

kNERtcVoiceEqualizationBand_8K 

8 kHz.

kNERtcVoiceEqualizationBand_16K 

16 kHz.

◆ NERtcWarnCode

Warning code.

If the warning code occurs, the SDK reports an error that is likely to be solved. The warning code just informs you of the SDK status. In most cases, the application programs can pass the warning code.

枚举值
kNERtcWarnInvalidView 

If the specified value of view is invalid, you must specify the value of view when you enable a video. If the view is still not specified, the SDK returns the warning code.

kNERtcWarnInitVideo 

The value indicates that you fail to initialize the video feature. The reason for the failure is that video resources are occupied. Users cannot view the video but the audio communication is not affected.

kNERtcWarnPending 

The value indicates the request is in the pending status. In most cases, the request is delayed to be met for a certain module is not well loaded.

kNERtcWarningChannelAbilityNotMatch 

The Client has no capability of device encoding and decoding to match that of the channel. For example, the device cannot encode in VP8 and other formats. Therefore, you may cannot implement video encoding and decoding in the channel. The local side may cannot display some remote video screens and the remote side may cannot display local screens.

kNERtcWarnADMRuntimePlayoutWarning 

Audio Device Module: A warning occurs in the playback device.

kNERtcWarnADMRuntimeRecordingWarning 

Device Module: A warning occurs in the recording device.

kNERtcWarnADMRecordAudioSilence 

Audio Device Module: No valid audio data is collected.

kNERtcWarnADMPlayoutMalfunction 

Audio Device Module: Malfunction occurs in the playback device.

kNERtcWarnADMRecordMalfunction 

Audio Device Module: Malfunction occurs in the recording device.

kNERtcWarnADMRecordAudioLowLevel 

Audio Device Module: The volume of recorded audio is too low.

kNERtcWarnADMPlayoutAudioLowLevel 

Audio Device Module: The playback volume is too low.

kNERtcWarnAPMHowling 

Audio Device Module: Howling is detected in the recording audio.

kNERtcWarnADMGlitchState 

Audio Device Module: The freeze occurs in the audio playback.

kNERtcWarnADMImproperSettings 

Audio Device Module: The setting of audio bottom layer is modified.

kNERtcWarnADMWinCoreNoDataReadyEvent 

Audio Device Module: Error occurs in the audio drive. Solution: Disables and restarts audio device, enables the device, or updates the sound card drive.

kNERtcWarnADMWinCoreNoRecordingDevice 

Audio Device Module: The audio capture device is not available.

kNERtcWarnADMWinCoreNoPlayoutDevice 

Audio Device Module: Audio playback device is not available. Solution: Swap the audio device.

kNERtcWarnADMWinCoreImproperCaptureRelease 

Audio Device Module: Audio capturing and releasing are wrongly implemented. Solution: Disables and restarts audio device, enables the device, or updates the sound card drive.

◆ RTCStreamFallbackOption

Fallback options when the uplink and downlink connections are weak.

枚举值
kNERtcStreamFallbackDisabled 

If the uplink or downlink network is unstable, the audio and video streams will not fall back, but the quality of the audio and video streams cannot be guaranteed.

注解
This option is only valid for the setLocalPublishFallbackOption method, and invalid for the setRemoteSubscribeFallbackOption method.
kNERtcStreamFallbackVideoStreamLow 

In an unstable downlink network, the SDK only receives low-definition streams that have low resolution and bitrate.

注解
This option is only valid for the setRemoteSubscribeFallbackOption method, and invalid for the setLocalPublishFallbackOption method.
kNERtcStreamFallbackAudioOnly 
  • In an unstable uplink network, only the audio stream is published.
  • In an unstable downlink network, first try to receive only low-definition streams, which have low resolution and bitrate. If the video stream cannot be displayed due to network quality, then the stream falls back to the audio stream.