Data structure

更新时间:
复制 MD 格式

This topic describes the C++ data structures for the ApsaraVideo Real-time Communication (ARTC) SDK for Linux.

Contents

Data type

Description

ERROR_CODE

Error code reference

WARNNING_CODE

Warning code reference.

ChannelProfile

The channel mode.

PublishMode

The stream ingest mode.

PublishAvsyncMode

The audio and video synchronization mode for stream ingest.

LogLevel

The log level.

AudioQualityMode

The mode of audio quality.

AudioSceneMode

The mode for the audio scenario.

VideoTrack

The video track.

AudioTrack

The audio track.

VideoProfile

Configuring video resolution.

AliEngineVideoDimensions

The video resolution.

AliEngineFrameRate

The video frame rate.

AliEngineVideoEncoderOrientationMode

The orientation mode in which the video is displayed.

AliEngineVideoMirrorMode

The video mirroring mode.

AliEngineRotationMode

The video rotation angle.

AliEngineVideoEncoderConfiguration

The video encoding settings for the camera track.

AliEngineScreenShareEncoderConfiguration

The video encoding settings for the screen track.

VideoSource

The video source.

RenderMode

The rendering mode.

VideoDataFormat

The format of the video data.

VideoBufferType

The type of the video buffer.

MemoryType

The memory type.

VideoDataSample

The video sample.

SubscribeMode

Defines an enumeration that is used only for subscription.

VideoTrackType

The type of the video track.

VideoFormat

The video format.

AudioFormat

The audio format.

VideoFrameType

The type of the video frames.

AudioFrameType

The type of the audio frames.

AudioPcmFrame

The class of pulse-code modulation (PCM) frames of the audio.

AudioAacFrame

The structure of Advanced Audio Coding (AAC) frames of the audio.

AudioFrame

The structure of the audio frames.

AudioTranscodingCodec

The type of the audio transcoding codec.

VideoTranscodingCodec

The type of the video transcoding codec.

VideoH264Frame

The class of H.264 frames of the video.

VideoFrame

The structure of the video frames.

AliEnginePublishState

The stream ingest status.

AliEngineSubscribeState

The subscription status.

AliEngineVideoStreamType

The type of the video track.

AliEngineMuteLocalAudioMode

The mute mode.

AliEngineClientRole

The user role.

JoinChannelConfig

Configuration struct for joining a channel.

AuthInfo

The structure of the authentication information.

AliEngineDataMsgType

The accompaniment control mode.

AliEngineDataChannelMsg

The structure of the accompaniment control messages.

Details

  • ERROR_CODE: the error code.

Enumeration Name

Description

ERR_OK

Normal.

ERR_JOIN_BAD_APPID

The application ID does not exist.

ERR_JOIN_INVALID_APPID

The application ID is invalid.

ERR_JOIN_BAD_CHANNEL

The channel does not exist.

ERR_JOIN_INVALID_CHANNEL

The channel is invalid.

ERR_JOIN_BAD_TOKEN

The token does not exist.

ERR_JOIN_TIMEOUT

The request to join the channel times out.

ERR_JOIN_BAD_PARAM

One or more parameters specified for the request to join the channel are incorrect.

ERR_JOIN_FAILED

Could not join the channel.

ERR_JOIN_CONFIG_INVALID

(New) One or more parameters specified for the request to join the channel are invalid. For example, an empty token is specified.

ERR_LEAVE_UNUSUAL

(New) The user leaves the channel unexpectedly. It may be because the user is kicked out.

ERR_NO_PEOPLE

(Review customization) The channel is empty. It may be because the channel does not exist or the streamer is offline.

ERR_AUDIO_DATA_ERROR

An audio data error occurs.

ERR_VIDEO_DATA_ERROR

A video data error occurs.

ERR_NETWORK_CONNECT_FAIL

The media channel fails to be established.

ERR_NETWORK_RECONNECT_FAIL

The media channel fails to be reconnected.

ERR_NETWORK_DISCONNECT

A disconnection occurs.

ERR_NETWORK_TIMEOUT

The connection times out.

ERR_PUBLISH_INVALID

The ingested stream is invalid.

ERR_Publish_NOT_JOIN_CHANNEL

The stream ingest fails because the user has not joined the channel.

ERR_PUBLISH_AUDIO_STREAM_FAILED

The audio track fails to be ingested.

ERR_PUBLISH_VIDEO_STREAM_FAILED

The video track fails to be ingested.

ERR_PUBLISH_DUAL_STREAM_FAILED

The minor stream fails to be ingested.

ERR_PUBLISH_SCREEN_SHARE_FAILED

Failed to push the screen share.

ERR_PUBLISH_SCREEN_SHARE_CONFIG

The screen sharing settings are invalid.

ERR_SUBSCRIBE_INVALID

The subscription is invalid.

ERR_SUBSCRIBE_NOT_JOIN_CHANNEL

A subscription error occurs because the user has not joined the channel.

ERR_SUBSCRIBE_AUDIO_STREAM_FAILED

The subscription to the audio track fails.

ERR_SUBSCRIBE_VIDEO_STREAM_FAILED

The subscription to the video track fails.

ERR_SUBSCRIBE_DUAL_STREAM_FAILED

The subscription to the minor stream fails.

ERR_SUBSCRIBE_SCREEN_SHARE_FAILED

The subscription to the screen track fails.

ERR_SUBSCRIBE_DUAL_AUDIO_STREAM_FAILED

The subscription to binaural channels fails.

ERR_SDK_INVALID_STATE

The SDK internal status is invalid.

ERR_SESSION_REMOVED

The session has been removed.

ERR_INNER

An SDK internal error occurs.

ERR_VIDEO_TRANSFER

An error occurs during video data transmission.

ERR_AUDIO_TRANSFER

An error occurs during audio data transmission.

ERR_AUDIO_BUFFER_FULL

The frequency is too high when the audio is input externally.

ERR_FATAL

An SDK critical error occurs.

  • WARNING_CODE: The warning code.

Enumeration name

Description

WARN_DEFAULT

The default warning.

  • ChannelProfile: the channel mode.

Enumeration name

Description

ChannelProfileCommunication

Communication mode.

ChannelProfileInteractiveLive

Live streaming mode.

ChannelProfileInteractiveWithLowLatencyLive

Interactive low-latency live streaming mode.

  • PublishMode: the stream ingest mode.

Enumeration name

Description

PublishAutomatically

Automatic stream ingest.

PublishManually

Manual stream ingest.

  • PublishAvsyncMode: the audio and video synchronization mode for stream ingest.

Enumeration name

Description

PublishAvsyncNoDelay

The SDK does not cache data internally. After you call PushExternalVideoFrame or PushExternalAudioFrame, the data is sent to the network immediately. The caller must ensure audio-video synchronization.

PublishAvysncWithPts

The SDK caches data internally. It aligns audio and video and waits based on the provided presentation timestamp (PTS). For example, if you ingest only an audio file, such as 2 seconds of audio data, you can quickly input the data into the SDK. The SDK then waits as needed based on the PTS and sends the data to the network over the 2-second duration. If you input both audio and video with a time gap between them, the SDK aligns them based on their PTS values and sends them to the network sequentially. Within a join-leave lifecycle, if you publish and unpublish multiple times, the PTS values for the different segments must be on the same timeline. For example, after joining a channel, you publish for the first time with PTS values starting from 0. After 10 seconds, you unpublish. If you publish again 10 seconds later, the PTS for the second publication must start from 20 seconds, not 0. Otherwise, stuttering will occur.

  • LogLevel: the log level.

Enumeration Name

Description

LogLevelInfo

Only logs whose level is higher than or equal to LogLevelInfo are generated.

LogLevelWarn

Only logs whose level is higher than or equal to LogLevelWarn are generated.

LogLevelError

Only logs whose level is higher than or equal to LogLevelError are generated.

LogLevelFatal

Only logs whose level is higher than or equal to LogLevelFatal are generated.

LogLevelNone

No logs are generated.

  • AudioQualityMode: the mode of audio quality.

Enumeration name

Description

LowQualityMode

Low audio quality mode: By default, the sampling rate is 8,000 Hz, a mono channel is supported, and the maximum bitrate is 12 Kbit/s.

BasicQualityMode

(Default) Standard audio quality mode: By default, the sampling rate is 16,000 Hz, a mono channel is supported, and the maximum bitrate is 24 Kbit/s.

HighQualityMode

High audio quality mode: By default, the sampling rate is 48,000 Hz, a mono channel is supported, and the maximum bitrate is 64 Kbit/s.

StereoHighQualityMode

High-quality stereo mode: By default, the sampling rate is 48,000 Hz, binaural channels are supported, and the maximum bitrate is 80 Kbit/s.

SuperHighQualityMode

Ultra-high audio quality mode: By default, the sampling rate is 48,000 Hz, a mono channel is supported, and the maximum bitrate is 96 Kbit/s.

StereoSuperHighQualityMode

Ultra-high-quality stereo mode: By default, the sampling rate is 48,000 Hz, binaural channels are supported, and the maximum bitrate is 128 Kbit/s.

QualityMaxMode

Maximum audio quality mode.

  • AudioSceneMode: the mode for the audio scenario.

Enumeration Name

Description

DefaultMode

The default mode is processed by hardware 3a.

EducationMode

The education-related mode. Audio 3A processing is implemented based on hardware.

MediaMode

The basic software handles 3A processing for media scenarios.

MusicMode

The music-related mode. Audio 3A processing is implemented based on music optimization software.

ChatroomMode

The chatroom mode. Audio 3A processing is implemented based on hardware.

KtvMode

The karaoke mode. Audio 3A processing is implemented based on music optimization software and AAudio.

SceneMaxMode

Maximum scenario pattern value.

  • VideoTrack: the video track.

Enumeration Name

Description

VideoTrackNo

No video track.

VideoTrackCamera

Video track from the camera or a file.

VideoTrackScreen

Video track from screen sharing.

VideoTrackBoth

This includes VideoTrackCamera and VideoTrackScreen.

VideoTrackEnd

Video track that has ended.

  • AudioTrack: the audio track.

Enum name

Description

AudioTrackNo

No audio track.

AudioTrackMic

Audio track from the microphone or a file.

AudioTrackEnd

Audio track that has ended.

  • VideoProfile: the video profile settings.

Enumeration name

Description

VideoProfile_Default

The settings are determined by the SDK.

VideoProfile_180_240P_15

The resolution is 180×240, and the frame rate is 15 frames per seconds (FPS).

VideoProfile_180_320P_15

The resolution is 180×320, and the frame rate is 15 FPS.

VideoProfile_180_320P_30

The resolution is 180×320, and the frame rate is 30 FPS.

VideoProfile_240_320P_15

The resolution is 240×320, and the frame rate is 15 FPS.

VideoProfile_360_480P_15

The resolution is 360×480, and the frame rate is 15 FPS.

VideoProfile_360_480P_30

The resolution is 360×480, and the frame rate is 30 FPS.

VideoProfile_360_640P_15

The resolution is 360×640, and the frame rate is 15 FPS.

VideoProfile_360_640P_30

The resolution is 360×640, and the frame rate is 30 FPS.

VideoProfile_480_640P_15

The resolution is 480×640, and the frame rate is 15 FPS.

VideoProfile_480_640P_30

The resolution is 480×640, and the frame rate is 30 FPS.

VideoProfile_720_960P_15

The resolution is 720×960, and the frame rate is 15 FPS.

VideoProfile_720_960P_30

The resolution is 720×960, and the frame rate is 30 FPS.

VideoProfile_720_1280P_15

The resolution is 720×1280, and the frame rate is 15 FPS.

VideoProfile_720_1280P_20

The resolution is 720×1280, and the frame rate is 20 FPS.

VideoProfile_720_1280P_30

The resolution is 720×1280, and the frame rate is 30 FPS.

VideoProfile_1080_1920P_15

The resolution is 1080×1920, and the frame rate is 15 FPS.

VideoProfile_1080_1920P_30

The resolution is 1080×1920, and the frame rate is 30 FPS.

VideoProfile_480_640P_15_1500Kb

The resolution is 480×640, the frame rate is 15 FPS, and the bitrate is 1,500 Kbit/s.

VideoProfile_900_1600P_20

The resolution is 900×1600, and the frame rate is 20 FPS.

VideoProfile_360_640P_15_800Kb

The resolution is 360×640, the frame rate is 15 FPS, and the bitrate is 800 Kbit/s.

VideoProfile_480_840P_15_500Kb

The resolution is 480×840, the frame rate is 15 FPS, and the bitrate is 500 Kbit/s.

VideoProfile_480_840P_15_800Kb

The resolution is 480×840, the frame rate is 15 FPS, and the bitrate is 800 Kbit/s.

VideoProfile_540_960P_15_800Kb

The resolution is 540×960, the frame rate is 15 FPS, and the bitrate is 800 Kbit/s.

VideoProfile_540_960P_15_1200Kb

The resolution is 540×960, the frame rate is 15 FPS, and the bitrate is 1,200 Kbit/s.

VideoProfile_540_960P_20

The resolution is 540×960, and the frame rate is 20 FPS.

VideoProfile_1080_1920P_20

The resolution is 1080×1920, and the frame rate is 20 FPS.

VideoProfile_240_320P_15_300kb

The resolution is 240×320, the frame rate is 15 FPS, and the bitrate is 300 Kbit/s.

VideoProfile_240_320P_15_500kb

The resolution is 240×320, the frame rate is 15 FPS, and the bitrate is 500 Kbit/s.

VideoProfile_90_160P_15

The resolution is 90×160, and the frame rate is 15 FPS.

AliRTCSDK_Video_Profile_Adaptive_Resolution

Adaptive resolution.

AliRTCSDK_Video_Profile_Max

The maximum video profile.

  • AliEngineVideoDimensions: the video resolution.

Parameter

Type

Description

width

int

The width of the video.

height

int

The height of the video.

  • AliEngineFrameRate: the video frame rate.

Enumeration name

Description

AliEngineFrameRateFps5

5 FPS.

AliEngineFrameRateFps10

10 FPS.

AliEngineFrameRateFps15

15 FPS.

AliEngineFrameRateFps20

20 FPS.

AliEngineFrameRateFps25

25 FPS.

AliEngineFrameRateFps30

30 FPS.

  • AliEngineVideoEncoderOrientationMode: the orientation mode in which the video is displayed.

Enum name

Description

AliEngineVideoEncoderOrientationModeAdaptive

Adaptive mode: the orientation for stream ingest is the same as that for collection.

AliEngineVideoEncoderOrientationModeFixedLandscape

In landscape mode for horizontal videos, the SDK pushes a portrait stream. The output video width is always set to the smaller of the configured width and height, while the height is set to the larger value.

AliEngineVideoEncoderOrientationModeFixedPortrait

Portrait mode is for vertical video. In this mode, the SDK pushes a landscape stream. The width of the output video is always set to the larger of the configured width and height, and the height is set to the smaller value.

  • AliEngineVideoMirrorMode: the video mirroring mode.

Enumeration name

Description

AliEngineVideoMirrorModeDisabled

Mirroring is disabled.

AliEngineVideoMirrorModeEnable

Mirroring is enabled.

  • AliEngineRotationMode: the video rotation angle.

Enumeration Name

Description

AliEngineRotationModeNoChange

The previous rotation angle is used.

AliEngineRotationMode_0

The video is not rotated.

AliEngineRotationMode_90

The rotation angle is 90°.

AliEngineRotationMode_180

The rotation angle is 180°.

AliEngineRotationMode_270

The rotation angle is 270°.

  • AliEngineVideoEncoderConfiguration: the video encoding settings for the camera track.

Parameter

Type

Description

dimensions

AliEngineVideoDimensions

The video resolution. Default value: 640×480. Maximum value: 1920×1080.

frameRate

AliEngineFrameRate

The video frame rate. Unit: FPS. Default value: 15. Maximum value: 30.

bitrate

int

The video encoding bitrate in kbps. The default value is 512. If you set this to 0, the SDK calculates a suitable bitrate. The bitrate setting is effective only within a reasonable range that corresponds to the resolution and frame rate. If you set a value outside this range, the SDK automatically adjusts the bitrate to a valid value.

orientationMode

AliEngineVideoEncoderOrientationMode

The video orientation. By default, an adaptive orientation applies.

mirrorMode

AliEngineVideoMirrorMode

The mirroring mode for stream ingest. By default, mirroring is disabled.

rotationMode

AliEngineRotationMode

The rotation angle for stream ingest. Default value: 0.

  • AliEngineScreenShareEncoderConfiguration: the video encoding settings for the screen track.

Parameter

Type

Description

dimensions

AliEngineVideoDimensions

The video resolution. Default value: 0×0, which indicates that the resolution for stream ingest is the same as the resolution of the shared screen. Maximum value: 3840×2160.

frameRate

AliEngineFrameRate

The video frame rate. Unit: FPS. Default value: 5. Maximum value: 30.

bitrate

int

The video encoding bitrate in kbps. The default value is 512. If you set this to 0, the SDK calculates a suitable bitrate. The bitrate setting is effective only within a reasonable range that corresponds to the resolution and frame rate. If you set a value outside this range, the SDK automatically adjusts the bitrate to a valid value.

rotationMode

AliEngineRotationMode

The rotation angle for stream ingest. Default value: 0. For more information, see the details about the AliEngineRotationMode data type in this topic.

  • VideoSource: the video source.

Enumeration name

Description

VideoSourceCamera

Video source from the camera.

VideoSourceScreenShare

Video source from screen sharing.

VideosourceTypeMax

Maximum value for the video source type.

  • RenderMode: the rendering mode.

Enum name

Description

RenderModeAuto

The auto mode.

RenderModeStretch

The stretching mode. If the aspect ratio of the input video is not the same as the aspect ratio specified for stream ingest, the video is stretched or shrunk to the aspect ratio specified for stream ingest. In this case, deformation may occur.

RenderModeFill

The padding mode. If the aspect ratio of the input video is not the same as the aspect ratio specified for stream ingest, black bars are added at the top, bottom, left, and right.

RenderModeCrop

The cropping mode. If the aspect ratio of the input video is not the same as the aspect ratio specified for stream ingest, the video is cropped. In this case, some of the content may be blocked.

  • VideoDataFormat: the format of the video data.

Enumeration name

Description

VideoDataFormatUnknow

Unknown.

VideoDataFormatBGRA

BGRA.

VideoDataFormatI420

I420.

VideoDataFormatNV21

NV21.

VideoDataFormatNV12

NV12.

VideoDataFormatH264

H.264.

VideoDataFormatRGB24

RGB24.

VideoDataFormatBGR24

BGR24.

  • VideoBufferType: the type of the video buffer.

Enumeration Name

Description

VideoBufferTypeRawData

Raw data.

VideoBufferTypeCVPixelBuffer

CVPixelBuffer.

VideoBufferTypeTexture

Texture.

  • MemoryType: the memory type.

Enumeration Name

Description

MemoryTypeStack

Stack memory. This type of memory does not need to be released.

MemoryTypeHeap

Heap memory. This type of memory needs to be manually released.

  • VideoDataSample: the video sample.

Parameter

Type

Description

format

VideoDataFormat

The format of the video data.

bufferType

VideoBufferType

The type of the video buffer.

data

unsigned char*

The pointer of the video data. Default value: nullptr.

dataLen

size_t

The length of the video data.

strideY

int

The stride of the Y plane. Default value: 0.

strideU

int

The stride of the U plane. Default value: 0.

strideV

int

The stride of the V plane. Default value: 0.

height

int

The video height. Default value: 0.

width

int

The video width. Default value: 0.

rotation

int

The video rotation angle. Default value: 0.

timeStamp

long long

The timestamp.

memoryType

MemoryType

The memory type. Default value: MemoryTypeStack.

  • SubscribeMode: defines an enumeration that is used only for subscription.

Enumeration Name

Description

SubscribeAutomatically

Automatic subscription.

SubscribeManually

Manual subscription.

SubscribeAudioAutoAndOnly

Automatic subscription to only audio.

SubscribeCameraAutoAndOnly

Automatic subscription to only video from the camera.

  • VideoTrackType: The type of the video track.

Enumeration name

Description

VideoTrackCameraLarge

The major stream from the camera.

VideoTrackCameraSmall

The minor stream from the camera.

VideoTrackCameraSuper

The ultra-high-definition stream from the camera.

VideoTrackScreenshare

Screen sharing.

  • VideoFormat: the video format.

Enumeration Name

Description

VideoFormatNone

No format.

VideoFormatH264

The video format is H.264.

  • AudioFormat: the audio format.

Enumeration Name

Description

AudioFormatNone

No audio format is specified.

AudioFormatMixedPcm

PCM format after mixing.

AudioFormatPcmBeforMixing

PCM format before mixing.

  • VideoFrameType: the type of the video frames.

Enumeration name

Description

VideoFrameH264

YUV I420 (after decoding).

VideoFrameH264Nalu

H.264 NALU (before decoding).

  • AudioFrameType: the type of the audio frames.

Enumeration name

Description

AudioFrameRawPcm

Raw PCM data.

AudioFrameAacAdts

Data in the AAC ADTS format.

  • AudioPcmFrame: the class of PCM frames of the audio.

Parameter

Type

Description

frame_ms_

uint64_t

The timestamp. Unit: milliseconds.

channels_

unsigned int

The number of sound channels. For example, 1 indicates mono.

sample_bits_

unsigned int

The number of bits per sample. Example: 16-bit sampling depth.

sample_rates_

unsigned int

The audio sampling rate. Examples: 8,000 Hz, 16,000 Hz, and 32,000 Hz.

samples_

unsigned int

The number of audio samples.

pcmBuf_

const char*

The pointer of the PCM buffer.

pcmBufSize_

unsigned int

The size of the PCM buffer. Unit: bytes.

  • AudioAacFrame: the structure of AAC frames of the audio.

Parameter

Type

Description

frame_ms_

uint64_t

The timestamp. Unit: milliseconds.

channels_

unsigned int

The number of sound channels. For example, 1 indicates mono.

sample_rates_

unsigned int

The audio sampling rate. Examples: 8,000 Hz, 16,000 Hz, and 32,000 Hz.

aacBuf_

const uint8_t*

The pointer of the AAC buffer.

aacBufSize_

unsigned int

The size of the AAC buffer. Unit: bytes.

  • AudioFrame: the structure of the audio frames.

Parameter

Type

Description

type

AudioFrameType

The type of the audio frames, which can be raw PCM data or AAC data.

frame

union { AudioPcmFrame pcm; AudioAacFrame aac; }

The anonymous union that stores the pointers of different types of audio frames.

  • AudioTranscodingCodec: the type of the audio transcoding codec.

Enumeration name

Description

AudioTranscodingCodecPcm

Transcodes audio only to the PCM format.

AudioTranscodingCodecAac

Transcodes audio only to the AAC format.

AudioTranscodingCodecBothPcmAndAac

Transcodes audio to the PCM and AAC formats.

AudioTranscodingCodecMax

The maximum value of the enumeration for audio transcoding codecs. This value is used for range checks.

  • VideoTranscodingCodec: the type of the video transcoding codec.

Enumeration Name

Description

VideoTranscodingCodecYuv

Transcodes video only to the YUV format.

VideoTranscodingCodecH264

Transcodes video only to the H.264 format.

VideoTranscodingCodecBothYuvAndH264

Transcodes video to the YUV and H.264 formats.

VideoTranscodingCodecMax

The maximum enumeration value for the video transcoding codec, used to check the enumeration range.

  • VideoH264Frame: the class of H.264 frames of the video.

Parameter

Type

Description

frame_ms_

uint64_t

The timestamp of the video frame. Unit: milliseconds.

frame_num_

unsigned int

The sequence number of the video frame.

buf_

const char*

The pointer of the video frame data.

bufSize_

unsigned int

The size of the video frame data. Unit: bytes.

width

int

The width of the video frame.

height

int

The height of the video frame.

  • VideoFrame: the structure of the video frames.

Parameter

Type

Description

track

VideoTrackType

The track type of the video frame.

type

VideoFrameType

The type of the video frames, such as H.264 or H.264 NALU.

frame

union { VideoH264Frame *h264; }

The anonymous union that stores the pointers of different types of video frames.

  • AliEnginePublishState: the stream ingest status.

Enumeration Name

Description

AliEngineStatsPublishIdle

The initial state.

AliEngineStatsNoPublish

No stream is ingested.

AliEngineStatsPublishing

A stream is being ingested.

AliEngineStatsPublished

The stream ingest is complete.

  • AliEngineSubscribeState: the subscription status.

Enumeration Name

Description

AliEngineStatsSubscribeIdle

The initial state.

AliEngineStatsNoSubscribe

No stream is subscribed to.

AliEngineStatsSubscribing

Subscribing

AliEngineStatsSubscribed

The subscription is complete.

  • AliEngineVideoStreamType: the type of the video track.

Enumeration name

Description

AliEngineVideoStreamTypeNone

None. The OnSubscribeStreamTypeChanged callback returns a response that indicates no subscription.

AliEngineVideoStreamTypeHigh

High bitrate and high resolution (major stream).

AliEngineVideoStreamTypeLow

Low bitrate and low resolution (minor stream).

  • AliEngineMuteLocalAudioMode: the mute mode.

Enumeration name

Description

AliEngineMuteLocalAudioModeDefault

Default mode. Mutes all audio, including audio from the microphone and external inputs.

AliEngineMuteLocalAudioModeMuteOnlyMic

Only the audio collected from the microphone is muted.

AliEngineMuteLocalAudioModeMuteAll

Mutes all audio, including audio from the microphone and external inputs.

  • AliEngineClientRole: the user role.

Enumeration Name

Description

AliEngineClientRoleInteractive

Interactive role

AliEngineClientRoleLive

The viewer role.

  • JoinChannelConfig: the structure of the channel settings.

Parameter

Type

Description

channelProfile

AliRTCSdk::Central::ChannelProfile

Channel Configuration Pattern.

isAudioOnly

bool

Specifies whether to use the audio-only mode.

publishMode

AliRTCSdk::Central::PublishMode

The stream ingest mode.

subscribeMode

AliRTCSdk::Central::SubscribeMode

The subscription mode.

publishAvsyncMode

AliRTCSdk::Central::PublishAvsyncMode

The audio and video synchronization mode for stream ingest.

subscribeVideoFormat

AliRTCSdk::Central::VideoFormat

The format of the subscribed video.

subscribeAudioFormat

AliRTCSdk::Central::AudioFormat

The format of the subscribed audio.

  • AuthInfo: the structure of the authentication information.

Parameter

Type

Description

channel

const char *

The channel name.

userid

const char *

The user ID.

username

const char *

The username.

appid

const char *

The application ID.

nonce

const char *

Random number

token

const char *

Authentication token.

gslb

const char **

The list of global server load balancing (GSLB) addresses.

agent

const char **

The list of agent addresses.

gslb_count

int

The number of GSLB addresses.

agent_count

int

The number of agent addresses.

timestamp

long long

The timestamp.

  • AliEngineDataMsgType: the accompaniment control mode.

Enumeration Name

Description

AliEngineDataChannelNone

None.

AliEngineDataChannelProgress

Progress.

AliEngineDataChannelCustom

Custom.

  • AliEngineDataChannelMsg: the structure of the accompaniment control messages.

Parameter

Type

Description

type

AliEngineDataMsgType

The message type.

networkTime

long long

The network time.

progress

int

The progress.

data

void*

The data.

dataLen

int

The data length.