更新时间: 2023-10-23 16:45:52
rtc 命名空间参考
rtc 命名空间参考

struct  ExternalAudioFrame
 
struct  ExternalVideoFrame
 
class  IMicManager
 
class  IPlayoutManager
 
class  IRTCAudioFrameObserver
 
class  IRTCChannel
 
class  IRTCChannelEventHandler
 
class  IRTCEngine
 
class  IRTCEngineEventHandler
 
class  IRTCVideoFrameObserver
 
class  IVideoDeviceManager
 
struct  LocalAudioStats
 
struct  LocalVideoStats
 
struct  RemoteAudioStats
 
struct  RemoteVideoStats
 
struct  RTC_RESULT
 
struct  RtcRect
 
struct  RTCStats
 统计信息 更多...
 
struct  Stru_RtmpLiveTranscoding
 
struct  Stru_RtmpRtcImage
 
struct  Stru_RtmpTranscodingUser
 
struct  Stru_RtmpUplinesAddr
 
struct  Stru_RtmpUplinesInfo
 
struct  VideoProfile
 
struct  YuvI420VideoFrame
 

类型定义

typedef void(* SDK_CB) (RTC_RET_CODE)
 标准的sdk回调函数; 由于系统中有不少是异步调用方式,需要在后续返回结果 更多...
 
typedef void(* log_func) (const char *msg)
 log function 更多...
 
typedef unsigned int UserId
 
typedef HWND WindowIdType
 
typedef struct rtc::RtcRect Rect
 

枚举

enum  RTCEngineType { RTCEngine_Agora = 1 , RTCEngine_XES = 3 , RTCEngine_XES_ALI = 5 , RTCEngine_TTT = 7 }
 
enum  RTCLOGTYPE { RTCLOGTYPE_DEBUG = 0 , RTCLOGTYPE_INFO , RTCLOGTYPE_WARN , RTCLOGTYPE_ERROR , RTCLOGTYPE_FATAL }
 
enum  RTC_RET_CODE {
  RTC_SUCCESS = 0 , RTC_FAILED = 1 , RTC_WARN = 2 , RTC_ERR_INVALID_ARGUMENT = 3 , RTC_ERR_NOT_READY = 4 , RTC_ERR_NOT_SUPPORTED = 5 , RTC_ERR_REFUSED = 6 , RTC_ERR_INVALID_TOKEN = 7 , RTC_ERR_TOKEN_EXPIRED = 8 , RTC_ERR_NOT_INITIALIZED = 9 ,
  RTC_ERR_NO_PERMISSION = 10 , RTC_ERR_ACCOUNT_DISABLED = 11 , RTC_ERR_SERVER_ERROR = 12 , RTC_ERR_CONNECTION_INTERRUPTED = 13 , RTC_ERR_INVALID_APP_ID = 14 , RTC_ERR_REPEAT = 15 , RTC_ERR_SEND_SEI_ERROR = 16 , RTC_ERR_VIDEO_DEVICE = 23 , RTC_ERR_AUDIO_DEVICE = 24 , RTC_ERR_NO_RECORDING_DEVICE = 26 ,
  RTC_ERR_NO_PLAYOUT_DEVICE = 27 , RTC_ERR_START_CAMERA = 50 , RTC_ERR_START_VIDEO_RENDER = 51 , RTC_ERR_ROOM_TIMEOUT = 1050 , RTC_ERR_RESOURCE_UNAVAILABLE = 1051 , RTC_ERR_ROOM_KICKED = 1060 , RTC_ERR_PUBLISH_FAILED = 1080 , RTC_ERR_REPUBLISH_FAILED = 1081 , RTC_ERR_SUBSCRIBE_FAILED = 1082 , RTC_ERR_RESUBSCRIBE_FAILED = 1083 ,
  RTC_ERR_ENABLE_VIDEO = 1100 , RTC_ERR_ENABLE_AUDIO = 1120
}
 sdk event handler onError return-code 更多...
 
enum  RTC_MEDIA_DEVICE_STATE_TYPE { RTC_MEDIA_DEVICE_STATE_ACTIVE = 1 , RTC_MEDIA_DEVICE_STATE_DISABLED = 2 , RTC_MEDIA_DEVICE_STATE_NOT_PRESENT = 4 , RTC_MEDIA_DEVICE_STATE_UNPLUGGED = 8 }
 
enum  RTC_MEDIA_DEVICE_TYPE { RTC_UNKNOWN_AUDIO_DEVICE = -1 , RTC_AUDIO_PLAYOUT_DEVICE = 0 , RTC_AUDIO_RECORDING_DEVICE = 1 , RTC_VIDEO_RENDER_DEVICE = 2 , RTC_VIDEO_CAPTURE_DEVICE = 3 }
 
enum  RTC_VIDEO_RENDER_MODE { RTC_VIDEO_RENDER_MODE_HIDDEN = 1 , RTC_VIDEO_RENDER_MODE_FIT = 2 }
 
enum  CLIENT_ROLE_TYPE { CLIENT_ROLE_BROADCASTER = 1 , CLIENT_ROLE_AUDIENCE = 2 }
 
enum  STREAM_FALLBACK_OPTIONS { STREAM_FALLBACK_OPTION_DISABLED = 0 , STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW = 1 , STREAM_FALLBACK_OPTION_AUDIO_ONLY = 2 }
 
enum  RTC_AUDIO_CAPTURE_SRC_TYPE { AUDIO_SRC_SDK_DATA = 1 , AUDIO_SRC_USER_PCM = 1001 , AUDIO_SRC_USER_AAC = 1002 }
 :音频数据源类型 更多...
 
enum  RTC_VIDEO_RATIO { RTC_VIDEO_RATIO_4_3 = 0 , RTC_VIDEO_RATIO_16_9 = 1 , RTC_VIDEO_RATIO_9_16 = 2 }
 推流视频比例 更多...
 
enum  RTC_VIDEO_BITRATE { RTC_VIDEO_BITRATE_200 = 200 , RTC_VIDEO_BITRATE_350 = 350 , RTC_VIDEO_BITRATE_400 = 400 , RTC_VIDEO_BITRATE_600 = 600 , RTC_VIDEO_BITRATE_1000 = 1000 }
 
enum  RTC_VIDEO_RESOLUTION {
  RTC_VIDEO_RESOLUTION_320x240 = 1 , RTC_VIDEO_RESOLUTION_480x360 = 2 , RTC_VIDEO_RESOLUTION_640x480 = 3 , RTC_VIDEO_RESOLUTION_800x600 = 4 , RTC_VIDEO_RESOLUTION_960x720 = 5 , RTC_VIDEO_RESOLUTION_240x320 = 50 , RTC_VIDEO_RESOLUTION_360x480 = 51 , RTC_VIDEO_RESOLUTION_480x640 = 52 , RTC_VIDEO_RESOLUTION_720x960 = 53 , RTC_VIDEO_RESOLUTION_320x180 = 101 ,
  RTC_VIDEO_RESOLUTION_480x272 = 102 , RTC_VIDEO_RESOLUTION_640x360 = 103 , RTC_VIDEO_RESOLUTION_960x540 = 104 , RTC_VIDEO_RESOLUTION_1280x720 = 105 , RTC_VIDEO_RESOLUTION_180x320 = 201 , RTC_VIDEO_RESOLUTION_272x480 = 202 , RTC_VIDEO_RESOLUTION_360x640 = 203 , RTC_VIDEO_RESOLUTION_540x960 = 204 , RTC_VIDEO_RESOLUTION_DEFAULT = 1000
}
 
enum  RTC_VIDEO_ROTATION { RTC_VIDEO_ROTATION_NONE = 1 , RTC_VIDEO_ROTATION_90 = 2 , RTC_VIDEO_ROTATION_180 = 3 , RTC_VIDEO_ROTATION_270 = 4 }
 
enum  RTC_VIDEO_QUALITY_PARAM_PRESET { RTC_VIDEO_QUALITY_STANDARD_DEFINITION = 1 , RTC_VIDEO_QUALITY_HIGH_DEFINITION = 2 , RTC_VIDEO_QUALITY_SUPER_DEFINITION = 3 , RTC_VIDEO_QUALITY_LINKMIC_MAIN_PUBLISHER = 4 , RTC_VIDEO_QUALITY_LINKMIC_SUB_PUBLISHER = 5 , RTC_VIDEO_QUALITY_REALTIME_VIDEOCHAT = 6 , RTC_VIDEO_QUALITY_STILLIMAGE_DEFINITION = 7 }
 :SDK推流画质预设选项 更多...
 
enum  RTC_OUTPUT_VIDEO_FORMAT { RTC_OUTPUT_VIDEO_WITHOUT_OUTPUT = 1 , RTC_OUTPUT_VIDEO_FORMAT_YUV420 = 2 , RTC_OUTPUT_VIDEO_FORMAT_RGBA = 3 }
 :设置输出的视频格式 更多...
 
enum  RTC_VIDEO_BUFFER_TYPE { RTC_VIDEO_BUFFER_TYPE_UNKNOWN = 0 , RTC_VIDEO_BUFFER_TYPE_BUFFER = 1 , RTC_VIDEO_BUFFER_TYPE_TEXTURE = 3 }
 
enum  RTC_VIDEO_PIXEL_FORMAT { RTC_VIDEO_PIXEL_FORMAT_UNKNOWN = 0 , RTC_VIDEO_PIXEL_FORMAT_I420 = 1 , RTC_VIDEO_PIXEL_FORMAT_TEXTURE_2D = 2 , RTC_VIDEO_PIXEL_FORMAT_BGRA32 = 3 }
 
enum  RTC_BEAUTY_STYLE { RTC_BEAUTY_STYLE_SMOOTH = 0 , RTC_BEAUTY_STYLE_NATURE = 1 , RTC_BEAUTY_STYLE_BLUR = 2 }
 
enum  RTC_AUDIO_FRAME_FORMAT { RTC_AUDIO_FRAME_FORMAT_NONE = 0 , RTC_AUDIO_FRAME_FORMAT_PCM }
 
enum  NETWORK_QUALITY_TYPE { NETWORK_QUALITY_UNKNOWN = 0 , NETWORK_QUALITY_EXCELLENT = 1 , NETWORK_QUALITY_GOOD = 2 , NETWORK_QUALITY_POOR = 3 , NETWORK_QUALITY_BAD = 4 , NETWORK_QUALITY_VBAD = 5 , NETWORK_QUALITY_DOWN = 6 , NETWORK_QUALITY_UNSUPPORTED = 7 , NETWORK_QUALITY_DETECTING = 8 }
 
enum  RTC_REMOTE_VIDEO_STATE { REMOTE_VIDEO_STATE_STOPPED = 0 , REMOTE_VIDEO_STATE_STARTING = 1 , REMOTE_VIDEO_STATE_DECODING = 2 , REMOTE_VIDEO_STATE_FROZEN = 3 , REMOTE_VIDEO_STATE_FAILED = 4 }
 
enum  RTC_REMOTE_VIDEO_STATE_REASON { REMOTE_VIDEO_STATE_REASON_INTERNAL = 0 , REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION = 1 , REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY = 2 , REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED = 3 , REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED = 4 , REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED = 5 , REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED = 6 , REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE = 7 , REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK = 8 , REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY = 9 }
 
enum  RTC_LOCAL_VIDEO_STREAM_STATE { LOCAL_VIDEO_STREAM_STATE_STOPPED = 0 , LOCAL_VIDEO_STREAM_STATE_CAPTURING = 1 , LOCAL_VIDEO_STREAM_STATE_ENCODING = 2 , LOCAL_VIDEO_STREAM_STATE_FAILED = 3 }
 
enum  RTC_LOCAL_VIDEO_STREAM_ERROR { LOCAL_VIDEO_STREAM_ERROR_OK = 0 , LOCAL_VIDEO_STREAM_ERROR_FAILURE = 1 , LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION = 2 , LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY = 3 , LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE = 4 , LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE = 5 , LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND = 6 }
 
enum  RTMP_STREAM_PUBLISH_STATE { RTMP_STREAM_PUBLISH_STATE_IDLE = 0 , RTMP_STREAM_PUBLISH_STATE_CONNECTING = 1 , RTMP_STREAM_PUBLISH_STATE_RUNNING = 2 , RTMP_STREAM_PUBLISH_STATE_RECOVERING = 3 , RTMP_STREAM_PUBLISH_STATE_FAILURE = 4 }
 
enum  RTMP_STREAM_PUBLISH_ERROR {
  RTMP_STREAM_PUBLISH_ERROR_OK = 0 , RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT = 1 , RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED = 2 , RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT = 3 , RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR = 4 , RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR = 5 , RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN = 6 , RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT = 7 , RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED = 8 , RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND = 9 ,
  RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED = 10
}
 
enum  REMOTE_AUDIO_STATE { REMOTE_AUDIO_STATE_STOPPED = 0 , REMOTE_AUDIO_STATE_STARTING = 1 , REMOTE_AUDIO_STATE_DECODING = 2 , REMOTE_AUDIO_STATE_FROZEN = 3 , REMOTE_AUDIO_STATE_FAILED = 4 }
 
enum  REMOTE_AUDIO_STATE_REASON { REMOTE_AUDIO_REASON_INTERNAL = 0 , REMOTE_AUDIO_REASON_NETWORK_CONGESTION = 1 , REMOTE_AUDIO_REASON_NETWORK_RECOVERY = 2 , REMOTE_AUDIO_REASON_LOCAL_MUTED = 3 , REMOTE_AUDIO_REASON_LOCAL_UNMUTED = 4 , REMOTE_AUDIO_REASON_REMOTE_MUTED = 5 , REMOTE_AUDIO_REASON_REMOTE_UNMUTED = 6 , REMOTE_AUDIO_REASON_REMOTE_OFFLINE = 7 }
 
enum  CONNECTION_CHANGED_REASON_TYPE {
  CONNECTION_CHANGED_CONNECTING = 0 , CONNECTION_CHANGED_JOIN_SUCCESS = 1 , CONNECTION_CHANGED_INTERRUPTED = 2 , CONNECTION_CHANGED_BANNED_BY_SERVER = 3 , CONNECTION_CHANGED_JOIN_FAILED = 4 , CONNECTION_CHANGED_LEAVE_CHANNEL = 5 , CONNECTION_CHANGED_INVALID_APP_ID = 6 , CONNECTION_CHANGED_INVALID_CHANNEL_NAME = 7 , CONNECTION_CHANGED_INVALID_TOKEN = 8 , CONNECTION_CHANGED_TOKEN_EXPIRED = 9 ,
  CONNECTION_CHANGED_REJECTED_BY_SERVER = 10 , CONNECTION_CHANGED_SETTING_PROXY_SERVER = 11 , CONNECTION_CHANGED_RENEW_TOKEN = 12 , CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED = 13 , CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT = 14 , CONNECTION_CHANGED_VIDEO_SWITCH_SERVER = 15 , CONNECTION_CHANGED_AUDIO_SWITCH_SERVER = 16
}
 
enum  RTC_CONNECTION_STATE_TYPE { CONNECTION_STATE_DISCONNECTED = 1 , CONNECTION_STATE_CONNECTING = 2 , CONNECTION_STATE_CONNECTED = 3 , CONNECTION_STATE_RECONNECTING = 4 , CONNECTION_STATE_FAILED = 5 }
 
enum  VIDEO_BUFFERING_STATE { VIDEO_BUFFERING_STATE_BUFFERING_START = 0 , VIDEO_BUFFERING_STATE_BUFFERING_END = 1 }
 
enum  REMOTE_VIDEO_STREAM_TYPE { REMOTE_VIDEO_STREAM_HIGH = 0 , REMOTE_VIDEO_STREAM_LOW = 1 , REMOTE_VIDO_STREAM_AUDIO = 2 }
 
enum  BUSI_USER_ROLE { BUSI_USER_ROLE_STUDENT = 0 , BUSI_USER_ROLE_TEACHER = 1 , BUSI_USER_ROLE_TUTOR = 2 }
 
enum  RAW_AUDIO_FRAME_OP_MODE_TYPE { RAW_AUDIO_FRAME_OP_MODE_READ_ONLY = 0 , RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY = 1 , RAW_AUDIO_FRAME_OP_MODE_READ_WRITE = 2 }
 
enum  SUBSCRIPTION_STREAM_TYPE { SUBSCRIBE_VIDEO_HIGH , SUBSCRIBE_VIDEO_LOW , SUBSCRIBE_AUDIO_ONLY }
 
enum  PRIORITY_TYPE { PRIORITY_HIGH = 50 , PRIORITY_NORMAL = 100 }
 
enum  RTCFeature { FeatureAudioBeauty }
 
enum  CHANNEL_MEDIA_RELAY_STATE { RELAY_STATE_IDLE = 0 , RELAY_STATE_CONNECTING = 1 , RELAY_STATE_RUNNING = 2 , RELAY_STATE_FAILURE = 3 }
 
enum  CHANNEL_MEDIA_RELAY_ERROR {
  RELAY_OK = 0 , RELAY_ERROR_SERVER_ERROR_RESPONSE = 1 , RELAY_ERROR_SERVER_NO_RESPONSE = 2 , RELAY_ERROR_NO_RESOURCE_AVAILABLE = 3 , RELAY_ERROR_FAILED_JOIN_SRC = 4 , RELAY_ERROR_FAILED_JOIN_DEST = 5 , RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC = 6 , RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST = 7 , RELAY_ERROR_SERVER_CONNECTION_LOST = 8 , RELAY_ERROR_INTERNAL_ERROR = 9 ,
  RELAY_ERROR_SRC_TOKEN_EXPIRED = 10 , RELAY_ERROR_DEST_TOKEN_EXPIRED = 11
}
 
enum  CHANNEL_MEDIA_RELAY_EVENT {
  RELAY_EVENT_NETWORK_DISCONNECTED = 0 , RELAY_EVENT_NETWORK_CONNECTED = 1 , RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL = 2 , RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL = 3 , RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL = 4 , RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC = 5 , RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC = 6 , RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL = 7 , RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED = 8 , RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE = 9 ,
  RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL = 10 , RELAY_EVENT_VIDEO_PROFILE_UPDATE = 11
}
 
enum  RTC_AUDIO_PROCESS_MODE { RTC_AUDIO_PROCESS_MODE_NORMAL = 0 , RTC_AUDIO_PROCESS_MODE_FASTPROCESSING = 1 , RTC_AUDIO_PROCESS_MODE_FASTRECORDING = 2 }
 
enum  STREAM_SUBSCRIBE_STATE { SUB_STATE_IDLE = 0 , SUB_STATE_NO_SUBSCRIBED = 1 , SUB_STATE_SUBSCRIBING = 2 , SUB_STATE_SUBSCRIBED = 3 }
 
enum  STREAM_PUBLISH_STATE { PUB_STATE_IDLE = 0 , PUB_STATE_NO_PUBLISHED = 1 , PUB_STATE_PUBLISHING = 2 , PUB_STATE_PUBLISHED = 3 }
 

函数

RTCSDKDLL_API VideoProfilegetVideoProfile ()
 
RTCSDKDLL_API bool getVideoResolution (RTC_VIDEO_RESOLUTION profile, int &width, int &height)
 

变量

const unsigned MAX_DEVICE_ID_LENGTH = 512
 
const unsigned MAX_DEVICE_COUNT = 16
 

类型定义说明

◆ SDK_CB

typedef void(* rtc::SDK_CB) (RTC_RET_CODE)

标准的sdk回调函数; 由于系统中有不少是异步调用方式,需要在后续返回结果

◆ log_func

typedef void(* rtc::log_func) (const char *msg)

log function

◆ UserId

typedef unsigned int rtc::UserId

◆ WindowIdType

typedef HWND rtc::WindowIdType

◆ Rect

typedef struct rtc::RtcRect rtc::Rect

Definition of the rectangular region.

枚举类型说明

◆ RTCEngineType

枚举值
RTCEngine_Agora 
RTCEngine_XES 
RTCEngine_XES_ALI 
RTCEngine_TTT 

◆ RTCLOGTYPE

枚举值
RTCLOGTYPE_DEBUG 
RTCLOGTYPE_INFO 
RTCLOGTYPE_WARN 
RTCLOGTYPE_ERROR 
RTCLOGTYPE_FATAL 

◆ RTC_RET_CODE

sdk event handler onError return-code

枚举值
RTC_SUCCESS 
RTC_FAILED 

RTC_OK success

RTC_WARN 

RTC_ERR_FAILED

RTC_ERR_INVALID_ARGUMENT 

基本的错误信息,如果用到,需要说明场景

other warning

RTC_ERR_NOT_READY 
RTC_ERR_NOT_SUPPORTED 
RTC_ERR_REFUSED 
RTC_ERR_INVALID_TOKEN 
RTC_ERR_TOKEN_EXPIRED 

invalid token

RTC_ERR_NOT_INITIALIZED 

token is expired, maybe handle this error event when join room

RTC_ERR_NO_PERMISSION 
RTC_ERR_ACCOUNT_DISABLED 
RTC_ERR_SERVER_ERROR 
RTC_ERR_CONNECTION_INTERRUPTED 
RTC_ERR_INVALID_APP_ID 

connection is lost

RTC_ERR_REPEAT 
RTC_ERR_SEND_SEI_ERROR 

case 1. join room repeat;

RTC_ERR_VIDEO_DEVICE 
RTC_ERR_AUDIO_DEVICE 

video related error

RTC_ERR_NO_RECORDING_DEVICE 

audio related error

RTC_ERR_NO_PLAYOUT_DEVICE 

no mic

RTC_ERR_START_CAMERA 

no speaker

RTC_ERR_START_VIDEO_RENDER 

cann't start camera(maybe occupyed)

RTC_ERR_ROOM_TIMEOUT 

can not display video

RTC_ERR_RESOURCE_UNAVAILABLE 

timeout to join room, maybe user network is poor, cannot connect to room server.

RTC_ERR_ROOM_KICKED 

no enough resource for user, for example, no room resource.

RTC_ERR_PUBLISH_FAILED 

user is kicked off from this room

RTC_ERR_REPUBLISH_FAILED 

fail to publish stream

RTC_ERR_SUBSCRIBE_FAILED 
RTC_ERR_RESUBSCRIBE_FAILED 
RTC_ERR_ENABLE_VIDEO 
RTC_ERR_ENABLE_AUDIO 

◆ RTC_MEDIA_DEVICE_STATE_TYPE

Media device state.

枚举值
RTC_MEDIA_DEVICE_STATE_ACTIVE 

1: The device is active. 使用中

RTC_MEDIA_DEVICE_STATE_DISABLED 

2: The device is disabled. 被禁用

RTC_MEDIA_DEVICE_STATE_NOT_PRESENT 

4: The device is not present. 一开始就没有

RTC_MEDIA_DEVICE_STATE_UNPLUGGED 

8: The device is unplugged. 被拔出

◆ RTC_MEDIA_DEVICE_TYPE

Media device type.

枚举值
RTC_UNKNOWN_AUDIO_DEVICE 

-1: Unknown audio device type. 未知

RTC_AUDIO_PLAYOUT_DEVICE 

0: Audio playback device. 播放器

RTC_AUDIO_RECORDING_DEVICE 

1: Audio recording device. 麦克风

RTC_VIDEO_RENDER_DEVICE 

2: Video renderer. 视频显示设备

RTC_VIDEO_CAPTURE_DEVICE 

3: Video capturer. 视频捕捉设备(摄像头)

◆ RTC_VIDEO_RENDER_MODE

枚举值
RTC_VIDEO_RENDER_MODE_HIDDEN 
RTC_VIDEO_RENDER_MODE_FIT 

◆ CLIENT_ROLE_TYPE

This is an enum class

枚举值
CLIENT_ROLE_BROADCASTER 

1: Host

CLIENT_ROLE_AUDIENCE 

2: Audience

◆ STREAM_FALLBACK_OPTIONS

Stream fallback options.

枚举值
STREAM_FALLBACK_OPTION_DISABLED 

0: No fallback behavior for the local/remote video stream when the uplink/downlink network conditions are poor.

STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW 

1: Under poor downlink network conditions, the remote video stream, to which you subscribe, falls back to the low-stream (low resolution and low bitrate) video.

STREAM_FALLBACK_OPTION_AUDIO_ONLY 

2: Under poor uplink network conditions, the locally published video stream falls back to audio only.

◆ RTC_AUDIO_CAPTURE_SRC_TYPE

:音频数据源类型

枚举值
AUDIO_SRC_SDK_DATA 
AUDIO_SRC_USER_PCM 
AUDIO_SRC_USER_AAC 

◆ RTC_VIDEO_RATIO

推流视频比例

枚举值
RTC_VIDEO_RATIO_4_3 
RTC_VIDEO_RATIO_16_9 
RTC_VIDEO_RATIO_9_16 

◆ RTC_VIDEO_BITRATE

枚举值
RTC_VIDEO_BITRATE_200 
RTC_VIDEO_BITRATE_350 
RTC_VIDEO_BITRATE_400 
RTC_VIDEO_BITRATE_600 
RTC_VIDEO_BITRATE_1000 

◆ RTC_VIDEO_RESOLUTION

枚举值
RTC_VIDEO_RESOLUTION_320x240 
RTC_VIDEO_RESOLUTION_480x360 
RTC_VIDEO_RESOLUTION_640x480 
RTC_VIDEO_RESOLUTION_800x600 
RTC_VIDEO_RESOLUTION_960x720 
RTC_VIDEO_RESOLUTION_240x320 
RTC_VIDEO_RESOLUTION_360x480 
RTC_VIDEO_RESOLUTION_480x640 
RTC_VIDEO_RESOLUTION_720x960 
RTC_VIDEO_RESOLUTION_320x180 
RTC_VIDEO_RESOLUTION_480x272 
RTC_VIDEO_RESOLUTION_640x360 
RTC_VIDEO_RESOLUTION_960x540 
RTC_VIDEO_RESOLUTION_1280x720 
RTC_VIDEO_RESOLUTION_180x320 
RTC_VIDEO_RESOLUTION_272x480 
RTC_VIDEO_RESOLUTION_360x640 
RTC_VIDEO_RESOLUTION_540x960 
RTC_VIDEO_RESOLUTION_DEFAULT 

◆ RTC_VIDEO_ROTATION

枚举值
RTC_VIDEO_ROTATION_NONE 
RTC_VIDEO_ROTATION_90 
RTC_VIDEO_ROTATION_180 
RTC_VIDEO_ROTATION_270 

◆ RTC_VIDEO_QUALITY_PARAM_PRESET

:SDK推流画质预设选项

\\\\\\\\\\\\\\\\\ 推流的画面质量预设选项 \\\\\\\\\\\\\\\\\

  • 1.2.0 版本开始引入推流画质接口 setVideoQualityParamPreset 用于傻瓜化的选择推流画质效果。
  • LivePush::setVideoQualityParamPreset 内部通过预先配置不同的视频参数调整到对应的质量
  • 目前支持的几种画质选项如下:

(1)标清 - 采用 640 * 360 级别分辨率,码率会在 400kbps - 800kbps 之间自适应,如果主播的网络条件不理想, 直播的画质会偏模糊,但总体卡顿率不会太高。 Android平台下这一档我们会选择采用软编码,软编码虽然更加耗电,但在运动画面的表现要优于硬编码。

(2)高清 - 采用 960 * 540 级别分辨率,码率会锁定在 1200kbps,如果主播的网络条件不理想,直播画质不会有变化, 但这段时间内会出现频繁的卡顿和跳帧。 两个平台下,这一档我们都会采用硬编码。

(3)超清 - 采用 1280 * 720 级别分辨率,码率会锁定在 1500kbps,对主播的上行带宽要求比较高,适合观看端是大屏的业务场景。

(4)大主播 - 顾名思义,连麦中大主播使用,因为是观众的主画面,追求清晰一些的效果,所以分辨率会优先选择 960 * 540。

(5)小主播 - 顾名思义,连麦中小主播使用,因为是小画面,画面追求流畅,分辨率采用 480 * 320, 码率 350kbps 固定。

(6)实时音视频通话 - 时延低,小画面,画面追求流畅,分辨率采用 480 * 320, 码率 350kbps 固定。

(7)静态画质场景 - 画面变动小,能保证非常低的码率下,视频相对清晰,如截屏正在播放的ppt,1080p,400kb左右码率。 【特别说明】

  1. 使用 setVideoQualityParamPreset 之后,依然可以使用setVideoBitrate、setVideoFPS、setAutoAdjustStrategy等设置自定义画质,以最后一次的设置为准。
枚举值
RTC_VIDEO_QUALITY_STANDARD_DEFINITION 
RTC_VIDEO_QUALITY_HIGH_DEFINITION 
RTC_VIDEO_QUALITY_SUPER_DEFINITION 
RTC_VIDEO_QUALITY_LINKMIC_MAIN_PUBLISHER 
RTC_VIDEO_QUALITY_LINKMIC_SUB_PUBLISHER 
RTC_VIDEO_QUALITY_REALTIME_VIDEOCHAT 
RTC_VIDEO_QUALITY_STILLIMAGE_DEFINITION 

◆ RTC_OUTPUT_VIDEO_FORMAT

:设置输出的视频格式

枚举值
RTC_OUTPUT_VIDEO_WITHOUT_OUTPUT 
RTC_OUTPUT_VIDEO_FORMAT_YUV420 
RTC_OUTPUT_VIDEO_FORMAT_RGBA 

◆ RTC_VIDEO_BUFFER_TYPE

视频数据结构类型

枚举值
RTC_VIDEO_BUFFER_TYPE_UNKNOWN 
RTC_VIDEO_BUFFER_TYPE_BUFFER 

二进制BUFFER类型

RTC_VIDEO_BUFFER_TYPE_TEXTURE 

纹理类型

◆ RTC_VIDEO_PIXEL_FORMAT

视频帧的格式

枚举值
RTC_VIDEO_PIXEL_FORMAT_UNKNOWN 
RTC_VIDEO_PIXEL_FORMAT_I420 

I420

RTC_VIDEO_PIXEL_FORMAT_TEXTURE_2D 

OPENGL 2D 纹理

RTC_VIDEO_PIXEL_FORMAT_BGRA32 

BGRA32

◆ RTC_BEAUTY_STYLE

枚举值
RTC_BEAUTY_STYLE_SMOOTH 
RTC_BEAUTY_STYLE_NATURE 
RTC_BEAUTY_STYLE_BLUR 

◆ RTC_AUDIO_FRAME_FORMAT

音频帧的格式

枚举值
RTC_AUDIO_FRAME_FORMAT_NONE 
RTC_AUDIO_FRAME_FORMAT_PCM 

PCM

◆ NETWORK_QUALITY_TYPE

枚举值
NETWORK_QUALITY_UNKNOWN 
NETWORK_QUALITY_EXCELLENT 
NETWORK_QUALITY_GOOD 
NETWORK_QUALITY_POOR 
NETWORK_QUALITY_BAD 
NETWORK_QUALITY_VBAD 
NETWORK_QUALITY_DOWN 
NETWORK_QUALITY_UNSUPPORTED 
NETWORK_QUALITY_DETECTING 

◆ RTC_REMOTE_VIDEO_STATE

枚举值
REMOTE_VIDEO_STATE_STOPPED 

␈␈0: The remote video is in the default state, probably due to REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED (3), REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED (5), or REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE (7).

REMOTE_VIDEO_STATE_STARTING 

1: The first remote video packet is received.

REMOTE_VIDEO_STATE_DECODING 

2: The remote video stream is decoded and plays normally, probably due to REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY (2), REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED (4), REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED (6), or REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY (9).

REMOTE_VIDEO_STATE_FROZEN 

3: The remote video is frozen, probably due to REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION (1) or REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK (8).

REMOTE_VIDEO_STATE_FAILED 

4: The remote video fails to start, probably due to REMOTE_VIDEO_STATE_REASON_INTERNAL (0).

◆ RTC_REMOTE_VIDEO_STATE_REASON

枚举值
REMOTE_VIDEO_STATE_REASON_INTERNAL 

0: Internal reasons.

REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION 

1: Network congestion.

REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY 

2: Network recovery.

REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED 

3: The local user stops receiving the remote video stream or disables the video module.

REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED 

4: The local user resumes receiving the remote video stream or enables the video module.

REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED 

5: The remote user stops sending the video stream or disables the video module.

REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED 

6: The remote user resumes sending the video stream or enables the video module.

REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE 

7: The remote user leaves the channel.

REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK 

8: The remote media stream falls back to the audio-only stream due to poor network conditions.

REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY 

9: The remote media stream switches back to the video stream after the network conditions improve.

◆ RTC_LOCAL_VIDEO_STREAM_STATE

Local video state types

枚举值
LOCAL_VIDEO_STREAM_STATE_STOPPED 

Initial state

LOCAL_VIDEO_STREAM_STATE_CAPTURING 

The capturer starts successfully.

LOCAL_VIDEO_STREAM_STATE_ENCODING 

The first video frame is successfully encoded.

LOCAL_VIDEO_STREAM_STATE_FAILED 

The local video fails to start.

◆ RTC_LOCAL_VIDEO_STREAM_ERROR

Local video state error codes

枚举值
LOCAL_VIDEO_STREAM_ERROR_OK 

The local video is normal.

LOCAL_VIDEO_STREAM_ERROR_FAILURE 

No specified reason for the local video failure.

LOCAL_VIDEO_STREAM_ERROR_DEVICE_NO_PERMISSION 

No permission to use the local video device.

LOCAL_VIDEO_STREAM_ERROR_DEVICE_BUSY 

The local video capturer is in use.

LOCAL_VIDEO_STREAM_ERROR_CAPTURE_FAILURE 

The local video capture fails. Check whether the capturer is working properly.

LOCAL_VIDEO_STREAM_ERROR_ENCODE_FAILURE 

The local video encoding fails.

LOCAL_VIDEO_STREAM_ERROR_DEVICE_NOT_FOUND 

No camera device.

◆ RTMP_STREAM_PUBLISH_STATE

枚举值
RTMP_STREAM_PUBLISH_STATE_IDLE 

The RTMP streaming has not started or has ended. This state is also triggered after you remove an RTMP address from the CDN by calling removePublishStreamUrl.

RTMP_STREAM_PUBLISH_STATE_CONNECTING 

The SDK is connecting to Agora's streaming server and the RTMP server. This state is triggered after you call the addPublishStreamUrl method.

RTMP_STREAM_PUBLISH_STATE_RUNNING 

The RTMP streaming publishes. The SDK successfully publishes the RTMP streaming and returns this state.

RTMP_STREAM_PUBLISH_STATE_RECOVERING 

The RTMP streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK tries to resume RTMP streaming and returns this state.

    - If the SDK successfully resumes the streaming, #RTMP_STREAM_PUBLISH_STATE_RUNNING (2) returns.
    - If the streaming does not resume within 60 seconds or server errors occur, #RTMP_STREAM_PUBLISH_STATE_FAILURE (4) returns. You can also reconnect to the server by calling the \ref IRtcEngine::removePublishStreamUrl "removePublishStreamUrl" and \ref IRtcEngine::addPublishStreamUrl "addPublishStreamUrl" methods.
RTMP_STREAM_PUBLISH_STATE_FAILURE 

The RTMP streaming fails. See the errCode parameter for the detailed error information. You can also call the addPublishStreamUrl method to publish the RTMP streaming again.

◆ RTMP_STREAM_PUBLISH_ERROR

枚举值
RTMP_STREAM_PUBLISH_ERROR_OK 

The RTMP streaming publishes successfully.

RTMP_STREAM_PUBLISH_ERROR_INVALID_ARGUMENT 

Invalid argument used. If, for example, you do not call the setLiveTranscoding method to configure the LiveTranscoding parameters before calling the addPublishStreamUrl method, the SDK returns this error. Check whether you set the parameters in the setLiveTranscoding method properly.

RTMP_STREAM_PUBLISH_ERROR_ENCRYPTED_STREAM_NOT_ALLOWED 

The RTMP streaming is encrypted and cannot be published.

RTMP_STREAM_PUBLISH_ERROR_CONNECTION_TIMEOUT 

Timeout for the RTMP streaming. Call the addPublishStreamUrl method to publish the streaming again.

RTMP_STREAM_PUBLISH_ERROR_INTERNAL_SERVER_ERROR 

An error occurs in Agora's streaming server. Call the addPublishStreamUrl method to publish the streaming again.

RTMP_STREAM_PUBLISH_ERROR_RTMP_SERVER_ERROR 

An error occurs in the RTMP server.

RTMP_STREAM_PUBLISH_ERROR_TOO_OFTEN 

The RTMP streaming publishes too frequently.

RTMP_STREAM_PUBLISH_ERROR_REACH_LIMIT 

The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones.

RTMP_STREAM_PUBLISH_ERROR_NOT_AUTHORIZED 

The host manipulates other hosts' URLs. Check your app logic.

RTMP_STREAM_PUBLISH_ERROR_STREAM_NOT_FOUND 

Agora's server fails to find the RTMP streaming.

RTMP_STREAM_PUBLISH_ERROR_FORMAT_NOT_SUPPORTED 

The format of the RTMP streaming URL is not supported. Check whether the URL format is correct.

◆ REMOTE_AUDIO_STATE

枚举值
REMOTE_AUDIO_STATE_STOPPED 
REMOTE_AUDIO_STATE_STARTING 
REMOTE_AUDIO_STATE_DECODING 
REMOTE_AUDIO_STATE_FROZEN 
REMOTE_AUDIO_STATE_FAILED 

◆ REMOTE_AUDIO_STATE_REASON

枚举值
REMOTE_AUDIO_REASON_INTERNAL 

0: Internal reasons.

REMOTE_AUDIO_REASON_NETWORK_CONGESTION 

1: Network congestion.

REMOTE_AUDIO_REASON_NETWORK_RECOVERY 

2: Network recovery.

REMOTE_AUDIO_REASON_LOCAL_MUTED 

3: The local user stops receiving the remote audio stream or disables the audio module.

REMOTE_AUDIO_REASON_LOCAL_UNMUTED 

4: The local user resumes receiving the remote audio stream or enables the audio module.

REMOTE_AUDIO_REASON_REMOTE_MUTED 

5: The remote user stops sending the audio stream or disables the audio module.

REMOTE_AUDIO_REASON_REMOTE_UNMUTED 

6: The remote user resumes sending the audio stream or enables the audio module.

REMOTE_AUDIO_REASON_REMOTE_OFFLINE 

7: The remote user leaves the channel.

◆ CONNECTION_CHANGED_REASON_TYPE

Reasons for a connection state change.

枚举值
CONNECTION_CHANGED_CONNECTING 

0: The SDK is connecting to Agora's edge server.

CONNECTION_CHANGED_JOIN_SUCCESS 

1: The SDK has joined the channel successfully.

CONNECTION_CHANGED_INTERRUPTED 

2: The connection between the SDK and Agora's edge server is interrupted.

CONNECTION_CHANGED_BANNED_BY_SERVER 

3: The connection between the SDK and Agora's edge server is banned by Agora's edge server.

CONNECTION_CHANGED_JOIN_FAILED 

4: The SDK fails to join the channel for more than 20 minutes and stops reconnecting to the channel.

CONNECTION_CHANGED_LEAVE_CHANNEL 

5: The SDK has left the channel.

CONNECTION_CHANGED_INVALID_APP_ID 

6: The connection failed since Appid is not valid.

CONNECTION_CHANGED_INVALID_CHANNEL_NAME 

7: The connection failed since channel name is not valid.

CONNECTION_CHANGED_INVALID_TOKEN 

8: The connection failed since token is not valid, possibly because:

    - The App Certificate for the project is enabled in Dashboard, but you do not use Token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
    - The uid that you specify in the \ref agora::rtc::IRtcEngine::joinChannel "joinChannel" method is different from the uid that you pass for generating the token.
CONNECTION_CHANGED_TOKEN_EXPIRED 

9: The connection failed since token is expired.

CONNECTION_CHANGED_REJECTED_BY_SERVER 

10: The connection is rejected by server.

CONNECTION_CHANGED_SETTING_PROXY_SERVER 

11: The connection changed to reconnecting since SDK has set a proxy server.

CONNECTION_CHANGED_RENEW_TOKEN 

12: When SDK is in connection failed, the renew token operation will make it connecting.

CONNECTION_CHANGED_CLIENT_IP_ADDRESS_CHANGED 

13: The IP Address of SDK client has changed. i.e., Network type or IP/Port changed by network operator might change client IP address.

CONNECTION_CHANGED_KEEP_ALIVE_TIMEOUT 

14: Timeout for the keep-alive of the connection between the SDK and Agora's edge server. The connection state changes to CONNECTION_STATE_RECONNECTING(4).

CONNECTION_CHANGED_VIDEO_SWITCH_SERVER 
CONNECTION_CHANGED_AUDIO_SWITCH_SERVER 

◆ RTC_CONNECTION_STATE_TYPE

Connection states.

枚举值
CONNECTION_STATE_DISCONNECTED 

1: The SDK is disconnected from server.

CONNECTION_STATE_CONNECTING 

2: The SDK is connecting to server.

CONNECTION_STATE_CONNECTED 

3: The SDK is connected to server and has joined a room. You can now publish or subscribe to a media stream in the room.

CONNECTION_STATE_RECONNECTING 

4: The SDK keeps rejoining the channel after being disconnected from a joined room because of network issues.

CONNECTION_STATE_FAILED 

5: The SDK fails to connect to server or join the room.

◆ VIDEO_BUFFERING_STATE

枚举值
VIDEO_BUFFERING_STATE_BUFFERING_START 
VIDEO_BUFFERING_STATE_BUFFERING_END 

◆ REMOTE_VIDEO_STREAM_TYPE

Remote video stream types.

枚举值
REMOTE_VIDEO_STREAM_HIGH 

0: High-stream video.

REMOTE_VIDEO_STREAM_LOW 

1: Low-stream video.

REMOTE_VIDO_STREAM_AUDIO 

2: Auto-stream video.

◆ BUSI_USER_ROLE

枚举值
BUSI_USER_ROLE_STUDENT 
BUSI_USER_ROLE_TEACHER 
BUSI_USER_ROLE_TUTOR 

◆ RAW_AUDIO_FRAME_OP_MODE_TYPE

Use modes of the onRecordAudioFrame callback.

枚举值
RAW_AUDIO_FRAME_OP_MODE_READ_ONLY 

0: Read-only mode: Users only read the AudioFrame data without modifying anything. For example, when users acquire the data with the Agora SDK, then push the RTMP streams.

RAW_AUDIO_FRAME_OP_MODE_WRITE_ONLY 

1: Write-only mode: Users replace the AudioFrame data with their own data and pass the data to the SDK for encoding. For example, when users acquire the data.

RAW_AUDIO_FRAME_OP_MODE_READ_WRITE 

2: Read and write mode: Users read the data from AudioFrame, modify it, and then play it. For example, when users have their own sound-effect processing module and perform some voice pre-processing, such as a voice change.

◆ SUBSCRIPTION_STREAM_TYPE

Subscribing Remote media stream types

枚举值
SUBSCRIBE_VIDEO_HIGH 

0: Subscribing High-stream video.

SUBSCRIBE_VIDEO_LOW 

1: Subscribing Low-stream video.

SUBSCRIBE_AUDIO_ONLY 

2: Subscribing audio-stream.

◆ PRIORITY_TYPE

The priority of the remote user.

枚举值
PRIORITY_HIGH 

50: The user's priority is high.

PRIORITY_NORMAL 

100: (Default) The user's priority is normal.

◆ RTCFeature

枚举值
FeatureAudioBeauty 

◆ CHANNEL_MEDIA_RELAY_STATE

枚举值
RELAY_STATE_IDLE 

0: The SDK is initializing.

RELAY_STATE_CONNECTING 

1: The SDK tries to relay the media stream to the destination channel.

RELAY_STATE_RUNNING 

2: The SDK successfully relays the media stream to the destination channel.

RELAY_STATE_FAILURE 

3: A failure occurs. See the details in code.

◆ CHANNEL_MEDIA_RELAY_ERROR

枚举值
RELAY_OK 

0: The state is normal.

RELAY_ERROR_SERVER_ERROR_RESPONSE 

1: An error occurs in the server response.

RELAY_ERROR_SERVER_NO_RESPONSE 

2: No server response. You can call the leaveChannel method to leave the channel.

RELAY_ERROR_NO_RESOURCE_AVAILABLE 

3: The SDK fails to access the service, probably due to limited resources of the server.

RELAY_ERROR_FAILED_JOIN_SRC 

4: The server fails to join the source channel.

RELAY_ERROR_FAILED_JOIN_DEST 

5: The server fails to join the destination channel.

RELAY_ERROR_FAILED_PACKET_RECEIVED_FROM_SRC 

6: The server fails to receive the data from the source channel.

RELAY_ERROR_FAILED_PACKET_SENT_TO_DEST 

7: The source channel fails to transmit data.

RELAY_ERROR_SERVER_CONNECTION_LOST 

8: The SDK disconnects from the server due to poor network connections. You can call the leaveChannel method to leave the channel.

RELAY_ERROR_INTERNAL_ERROR 

9: An internal error occurs in the server.

RELAY_ERROR_SRC_TOKEN_EXPIRED 

10: The token of the source channel has expired.

RELAY_ERROR_DEST_TOKEN_EXPIRED 

11: The token of the destination channel has expired.

◆ CHANNEL_MEDIA_RELAY_EVENT

枚举值
RELAY_EVENT_NETWORK_DISCONNECTED 

0: The user disconnects from the server due to poor network connections.

RELAY_EVENT_NETWORK_CONNECTED 

1: The network reconnects.

RELAY_EVENT_PACKET_JOINED_SRC_CHANNEL 

2: The user joins the source channel.

RELAY_EVENT_PACKET_JOINED_DEST_CHANNEL 

3: The user joins the destination channel.

RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL 

4: The SDK starts relaying the media stream to the destination channel.

RELAY_EVENT_PACKET_RECEIVED_VIDEO_FROM_SRC 

5: The server receives the video stream from the source channel.

RELAY_EVENT_PACKET_RECEIVED_AUDIO_FROM_SRC 

6: The server receives the audio stream from the source channel.

RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL 

7: The destination channel is updated.

RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_REFUSED 

8: The destination channel update fails due to internal reasons.

RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_NOT_CHANGE 

9: The destination channel does not change, which means that the destination channel fails to be updated.

RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL_IS_NULL 

10: The destination channel name is NULL.

RELAY_EVENT_VIDEO_PROFILE_UPDATE 

11: The video profile is sent to the server.

◆ RTC_AUDIO_PROCESS_MODE

枚举值
RTC_AUDIO_PROCESS_MODE_NORMAL 
RTC_AUDIO_PROCESS_MODE_FASTPROCESSING 
RTC_AUDIO_PROCESS_MODE_FASTRECORDING 

◆ STREAM_SUBSCRIBE_STATE

枚举值
SUB_STATE_IDLE 
SUB_STATE_NO_SUBSCRIBED 
SUB_STATE_SUBSCRIBING 
SUB_STATE_SUBSCRIBED 

◆ STREAM_PUBLISH_STATE

枚举值
PUB_STATE_IDLE 
PUB_STATE_NO_PUBLISHED 
PUB_STATE_PUBLISHING 
PUB_STATE_PUBLISHED 

函数说明

◆ getVideoProfile()

RTCSDKDLL_API VideoProfile * rtc::getVideoProfile ( )

获取视频分辨率配置表

返回
返回视频分辨率配置表, 以各项数据为0表示结束,外部不能释放这个配置表

◆ getVideoResolution()

RTCSDKDLL_API bool rtc::getVideoResolution ( RTC_VIDEO_RESOLUTION  profile,
int &  width,
int &  height 
)

获取视频配置数据

参数
profile配置类型
width视频宽度
height视频高度
返回
RTCSDKDLL_API 详见:RTCSDKDLL_API

变量说明

◆ MAX_DEVICE_ID_LENGTH

const unsigned rtc::MAX_DEVICE_ID_LENGTH = 512

◆ MAX_DEVICE_COUNT

const unsigned rtc::MAX_DEVICE_COUNT = 16