TXLiteAVCode.h
15.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
// Copyright (c) 2021 Tencent. All rights reserved.
#ifndef __TXLITEAVCODE_H__
#define __TXLITEAVCODE_H__
/////////////////////////////////////////////////////////////////////////////////
//
// 错误码
//
/////////////////////////////////////////////////////////////////////////////////
// clang-format off
typedef enum TXLiteAVError
{
/////////////////////////////////////////////////////////////////////////////////
// 基础错误码
/////////////////////////////////////////////////////////////////////////////////
ERR_NULL = 0, ///< 无错误
ERR_FAILED = -1, ///< 暂未归类的通用错误
ERR_INVALID_PARAMETER = -2, ///< 调用 API 时,传入的参数不合法
ERR_REFUSED = -3, ///< API 调用被拒绝
ERR_NOT_SUPPORTED = -4, ///< 当前 API 不支持调用
ERR_INVALID_LICENSE = -5, ///< license 不合法,调用失败
ERR_REQUEST_TIMEOUT = -6, ///< 请求服务器超时
ERR_SERVER_PROCESS_FAILED = -7, ///< 服务器无法处理您的请求
ERR_DISCONNECTED = -8, ///< 断开连接
/////////////////////////////////////////////////////////////////////////////////
// 视频相关错误码
/////////////////////////////////////////////////////////////////////////////////
ERR_CAMERA_START_FAIL = -1301, ///< 打开摄像头失败,例如在 Windows 或 Mac 设备,摄像头的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序
ERR_CAMERA_NOT_AUTHORIZED = -1314, ///< 摄像头设备未授权,通常在移动设备出现,可能是权限被用户拒绝了
ERR_CAMERA_SET_PARAM_FAIL = -1315, ///< 摄像头参数设置出错(参数不支持或其它)
ERR_CAMERA_OCCUPY = -1316, ///< 摄像头正在被占用中,可尝试打开其他摄像头
ERR_SCREEN_CAPTURE_START_FAIL = -1308, ///< 开始录屏失败,如果在移动设备出现,可能是权限被用户拒绝了,如果在 Windows 或 Mac 系统的设备出现,请检查录屏接口的参数是否符合要求
ERR_SCREEN_CAPTURE_UNSURPORT = -1309, ///< 录屏失败,在 Android 平台,需要5.0以上的系统,在 iOS 平台,需要11.0以上的系统
ERR_SCREEN_CAPTURE_STOPPED = -7001, ///< 录屏被系统中止
ERR_SCREEN_SHARE_NOT_AUTHORIZED = -102015, ///< 没有权限上行辅路
ERR_SCREEN_SHRAE_OCCUPIED_BY_OTHER = -102016, ///< 其他用户正在上行辅路
ERR_VIDEO_ENCODE_FAIL = -1303, ///< 视频帧编码失败,例如 iOS 设备切换到其他应用时,硬编码器可能被系统释放,再切换回来时,硬编码器重启前,可能会抛出
ERR_UNSUPPORTED_RESOLUTION = -1305, ///< 不支持的视频分辨率
ERR_PIXEL_FORMAT_UNSUPPORTED = -1327, ///< 自定视频采集:设置的 pixel format 不支持
ERR_BUFFER_TYPE_UNSUPPORTED = -1328, ///< 自定视频采集:设置的 buffer type 不支持
ERR_NO_AVAILABLE_HEVC_DECODERS = -2304, ///< 找不到可用的 HEVC 解码器
/////////////////////////////////////////////////////////////////////////////////
// 音频相关错误码
/////////////////////////////////////////////////////////////////////////////////
ERR_MIC_START_FAIL = -1302, ///< 打开麦克风失败,例如在 Windows 或 Mac 设备,麦克风的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序
ERR_MIC_NOT_AUTHORIZED = -1317, ///< 麦克风设备未授权,通常在移动设备出现,可能是权限被用户拒绝了
ERR_MIC_SET_PARAM_FAIL = -1318, ///< 麦克风设置参数失败
ERR_MIC_OCCUPY = -1319, ///< 麦克风正在被占用中,例如移动设备正在通话时,打开麦克风会失败
ERR_MIC_STOP_FAIL = -1320, ///< 停止麦克风失败
ERR_SPEAKER_START_FAIL = -1321, ///< 打开扬声器失败,例如在 Windows 或 Mac 设备,扬声器的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序
ERR_SPEAKER_SET_PARAM_FAIL = -1322, ///< 扬声器设置参数失败
ERR_SPEAKER_STOP_FAIL = -1323, ///< 停止扬声器失败
ERR_AUDIO_PLUGIN_START_FAIL = -1330, ///< 开启系统声音录制失败,例如音频驱动插件不可用
ERR_AUDIO_PLUGIN_INSTALL_NOT_AUTHORIZED = -1331, ///< 安装音频驱动插件未授权
ERR_AUDIO_PLUGIN_INSTALL_FAILED = -1332, ///< 安装音频驱动插件失败
ERR_AUDIO_ENCODE_FAIL = -1304, ///< 音频帧编码失败,例如传入自定义音频数据,SDK 无法处理
ERR_UNSUPPORTED_SAMPLERATE = -1306, ///< 不支持的音频采样率
/////////////////////////////////////////////////////////////////////////////////
// 网络相关错误码
/////////////////////////////////////////////////////////////////////////////////
ERR_TRTC_ENTER_ROOM_FAILED = -3301, ///< 进入房间失败,请查看 onError 中的 -3301 对应的 msg 提示确认失败原因
ERR_TRTC_REQUEST_IP_TIMEOUT = -3307, ///< 请求 IP 和 sig 超时,请检查网络是否正常,或网络防火墙是否放行 UDP。可尝试访问下列 IP:162.14.22.165:8000 162.14.6.105:8000 和域名:default-query.trtc.tencent-cloud.com:8000
ERR_TRTC_CONNECT_SERVER_TIMEOUT = -3308, ///< 请求进房超时,请检查是否断网或者是否开启vpn,您也可以切换4G进行测试确认
ERR_TRTC_ROOM_PARAM_NULL = -3316, ///< 进房参数为空,请检查: enterRoom:appScene: 接口调用是否传入有效的 param
ERR_TRTC_INVALID_SDK_APPID = -3317, ///< 进房参数 sdkAppId 错误,请检查 TRTCParams.sdkAppId 是否为空
ERR_TRTC_INVALID_ROOM_ID = -3318, ///< 进房参数 roomId 错误,请检查 TRTCParams.roomId 或 TRTCParams.strRoomId 是否为空,注意 roomId 和 strRoomId 不可混用
ERR_TRTC_INVALID_USER_ID = -3319, ///< 进房参数 userId 不正确,请检查 TRTCParams.userId 是否为空
ERR_TRTC_INVALID_USER_SIG = -3320, ///< 进房参数 userSig 不正确,请检查 TRTCParams.userSig 是否为空
ERR_TRTC_ENTER_ROOM_REFUSED = -3340, ///< 进房请求被拒绝,请检查是否连续调用 enterRoom 进入相同 Id 的房间
ERR_TRTC_INVALID_PRIVATE_MAPKEY = -100006, ///< 您开启了高级权限控制,但参数 TRTCParams.privateMapKey 校验失败,您可参考 https://cloud.tencent.com/document/product/647/32240 进行检查
ERR_TRTC_SERVICE_SUSPENDED = -100013, ///< 服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费。您可参考 https://cloud.tencent.com/document/product/647/50492 进行查看与配置
ERR_TRTC_USER_SIG_CHECK_FAILED = -100018, ///< UserSig 校验失败,请检查参数 TRTCParams.userSig 是否填写正确,或是否已经过期。您可参考 https://cloud.tencent.com/document/product/647/50686 进行校验
ERR_TRTC_PUSH_THIRD_PARTY_CLOUD_TIMEOUT = -3321, ///< 旁路转推请求超时
ERR_TRTC_PUSH_THIRD_PARTY_CLOUD_FAILED = -3323, ///< 旁路转推回包异常
ERR_TRTC_MIX_TRANSCODING_TIMEOUT = -3322, ///< 云端混流请求超时
ERR_TRTC_MIX_TRANSCODING_FAILED = -3324, ///< 云端混流回包异常
ERR_TRTC_START_PUBLISHING_TIMEOUT = -3333, ///< 开始向腾讯云的直播 CDN 推流信令超时
ERR_TRTC_START_PUBLISHING_FAILED = -3334, ///< 开始向腾讯云的直播 CDN 推流信令异常
ERR_TRTC_STOP_PUBLISHING_TIMEOUT = -3335, ///< 停止向腾讯云的直播 CDN 推流信令超时
ERR_TRTC_STOP_PUBLISHING_FAILED = -3336, ///< 停止向腾讯云的直播 CDN 推流信令异常
ERR_TRTC_CONNECT_OTHER_ROOM_TIMEOUT = -3326, ///< 请求连麦超时
ERR_TRTC_DISCONNECT_OTHER_ROOM_TIMEOUT = -3327, ///< 请求退出连麦超时
ERR_TRTC_CONNECT_OTHER_ROOM_INVALID_PARAMETER = -3328, ///< 无效参数
ERR_TRTC_CONNECT_OTHER_ROOM_AS_AUDIENCE = -3330, ///< 当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播
} TXLiteAVError;
/////////////////////////////////////////////////////////////////////////////////
//
// 警告码
//
/////////////////////////////////////////////////////////////////////////////////
typedef enum TXLiteAVWarning
{
/////////////////////////////////////////////////////////////////////////////////
// 视频相关警告码
/////////////////////////////////////////////////////////////////////////////////
WARNING_HW_ENCODER_START_FAIL = 1103, ///< 硬编码启动出现问题,自动切换到软编码
WARNING_CURRENT_ENCODE_TYPE_CHANGED = 1104, ///< 当前编码格式, 通过key 为type获取,值为1时是265编码,值为0时是264编码
WARNING_VIDEO_ENCODER_SW_TO_HW = 1107, ///< 当前 CPU 使用率太高,无法满足软件编码需求,自动切换到硬件编码
WARNING_INSUFFICIENT_CAPTURE_FPS = 1108, ///< 摄像头采集帧率不足,部分自带美颜算法的 Android 手机上会出现
WARNING_SW_ENCODER_START_FAIL = 1109, ///< 软编码启动失败
WARNING_REDUCE_CAPTURE_RESOLUTION = 1110, ///< 摄像头采集分辨率被降低,以满足当前帧率和性能最优解。
WARNING_CAMERA_DEVICE_EMPTY = 1111, ///< 没有检测到可用的摄像头设备
WARNING_CAMERA_NOT_AUTHORIZED = 1112, ///< 用户未授权当前应用使用摄像头
WARNING_SCREEN_CAPTURE_NOT_AUTHORIZED = 1206, ///< 用户未授权当前应用使用屏幕录制
WARNING_VIDEO_FRAME_DECODE_FAIL = 2101, ///< 当前视频帧解码失败
WARNING_HW_DECODER_START_FAIL = 2106, ///< 硬解启动失败,采用软解码
WARNING_VIDEO_DECODER_HW_TO_SW = 2108, ///< 当前流硬解第一个 I 帧失败,SDK 自动切软解
WARNING_SW_DECODER_START_FAIL = 2109, ///< 软解码器启动失败
WARNING_VIDEO_RENDER_FAIL = 2110, ///< 视频渲染失败
/////////////////////////////////////////////////////////////////////////////////
// 音频相关警告码
/////////////////////////////////////////////////////////////////////////////////
WARNING_MICROPHONE_DEVICE_EMPTY = 1201, ///< 没有检测到可用的麦克风设备
WARNING_SPEAKER_DEVICE_EMPTY = 1202, ///< 没有检测到可用的扬声器设备
WARNING_MICROPHONE_NOT_AUTHORIZED = 1203, ///< 用户未授权当前应用使用麦克风
WARNING_MICROPHONE_DEVICE_ABNORMAL = 1204, ///< 音频采集设备不可用(例如被占用或者PC判定无效设备)
WARNING_SPEAKER_DEVICE_ABNORMAL = 1205, ///< 音频播放设备不可用(例如被占用或者PC判定无效设备)
WARNING_AUDIO_FRAME_DECODE_FAIL = 2102, ///< 当前音频帧解码失败
WARNING_AUDIO_RECORDING_WRITE_FAIL = 7001, ///< 音频录制写入文件失败
/////////////////////////////////////////////////////////////////////////////////
// 网络相关警告码
/////////////////////////////////////////////////////////////////////////////////
WARNING_IGNORE_UPSTREAM_FOR_AUDIENCE = 6001, ///< 当前是观众角色,不支持发布音视频,需要先切换成主播角色
} TXLiteAVWarning;
/////////////////////////////////////////////////////////////////////////////////
//
// 兼容定义(用于兼容老版本的错误码定义,请在代码中尽量使用右侧的新定义)
//
/////////////////////////////////////////////////////////////////////////////////
#define ERR_ROOM_ENTER_FAIL ERR_TRTC_ENTER_ROOM_FAILED
#define ERR_ROOM_REQUEST_IP_TIMEOUT ERR_TRTC_REQUEST_IP_TIMEOUT
#define ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT ERR_TRTC_CONNECT_SERVER_TIMEOUT
#define ERR_ENTER_ROOM_PARAM_NULL ERR_TRTC_ROOM_PARAM_NULL
#define ERR_SDK_APPID_INVALID ERR_TRTC_INVALID_SDK_APPID
#define ERR_ROOM_ID_INVALID ERR_TRTC_INVALID_ROOM_ID
#define ERR_USER_ID_INVALID ERR_TRTC_INVALID_USER_ID
#define ERR_USER_SIG_INVALID ERR_TRTC_INVALID_USER_SIG
#define ERR_ROOM_REQUEST_ENTER_ROOM_REFUSED ERR_TRTC_ENTER_ROOM_REFUSED
#define ERR_SERVER_INFO_PRIVILEGE_FLAG_ERROR ERR_TRTC_INVALID_PRIVATE_MAPKEY
#define ERR_SERVER_INFO_SERVICE_SUSPENDED ERR_TRTC_SERVICE_SUSPENDED
#define ERR_SERVER_INFO_ECDH_GET_TINYID ERR_TRTC_USER_SIG_CHECK_FAILED
#define ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO ERR_SCREEN_SHARE_NOT_AUTHORIZED
#define ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO ERR_SCREEN_SHRAE_OCCUPIED_BY_OTHER
#define ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT ERR_TRTC_PUSH_THIRD_PARTY_CLOUD_TIMEOUT
#define ERR_PUBLISH_CDN_STREAM_SERVER_FAILED ERR_TRTC_PUSH_THIRD_PARTY_CLOUD_FAILED
#define ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT ERR_TRTC_MIX_TRANSCODING_TIMEOUT
#define ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED ERR_TRTC_MIX_TRANSCODING_FAILED
#define ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT ERR_TRTC_START_PUBLISHING_TIMEOUT
#define ERR_ROOM_REQUEST_START_PUBLISHING_ERROR ERR_TRTC_START_PUBLISHING_FAILED
#define ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT ERR_TRTC_STOP_PUBLISHING_TIMEOUT
#define ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR ERR_TRTC_STOP_PUBLISHING_FAILED
#define ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT ERR_TRTC_CONNECT_OTHER_ROOM_TIMEOUT
#define ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT ERR_TRTC_DISCONNECT_OTHER_ROOM_TIMEOUT
#define ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM ERR_TRTC_CONNECT_OTHER_ROOM_INVALID_PARAMETER
#define ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE ERR_TRTC_CONNECT_OTHER_ROOM_AS_AUDIENCE
// clang-format on
#endif /* __TXLITEAVCODE_H__ */