Blame view

HHVDoctorSDK/TXLiteAVSDK_TRTC.framework/Headers/TXLiteAVCode.h 15.5 KB
wangguolei authored
1 2
// Copyright (c) 2021 Tencent. All rights reserved.
liumingming authored
3 4 5 6 7 8 9 10
#ifndef __TXLITEAVCODE_H__
#define __TXLITEAVCODE_H__

/////////////////////////////////////////////////////////////////////////////////
//
//                     错误码
//
/////////////////////////////////////////////////////////////////////////////////
wangguolei authored
11
// clang-format off
liumingming authored
12 13 14 15 16 17

typedef enum TXLiteAVError
{
    /////////////////////////////////////////////////////////////////////////////////
    //       基础错误码
    /////////////////////////////////////////////////////////////////////////////////
wangguolei authored
18 19 20 21 22 23 24 25 26 27
    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,	     ///< 断开连接
    
liumingming authored
28
    /////////////////////////////////////////////////////////////////////////////////
wangguolei authored
29
    //       视频相关错误码
liumingming authored
30 31 32 33 34 35 36 37 38
    /////////////////////////////////////////////////////////////////////////////////
    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,    ///< 录屏被系统中止
wangguolei authored
39 40
	ERR_SCREEN_SHARE_NOT_AUTHORIZED                 = -102015,  ///< 没有权限上行辅路
    ERR_SCREEN_SHRAE_OCCUPIED_BY_OTHER              = -102016,  ///< 其他用户正在上行辅路
liumingming authored
41
wangguolei authored
42
	ERR_VIDEO_ENCODE_FAIL                           = -1303,    ///< 视频帧编码失败,例如 iOS 设备切换到其他应用时,硬编码器可能被系统释放,再切换回来时,硬编码器重启前,可能会抛出
liumingming authored
43
    ERR_UNSUPPORTED_RESOLUTION                      = -1305,    ///< 不支持的视频分辨率
wangguolei authored
44 45 46
	ERR_PIXEL_FORMAT_UNSUPPORTED                    = -1327,    ///< 自定视频采集:设置的 pixel format 不支持
    ERR_BUFFER_TYPE_UNSUPPORTED                     = -1328,    ///< 自定视频采集:设置的 buffer type 不支持
    ERR_NO_AVAILABLE_HEVC_DECODERS                  = -2304,    ///< 找不到可用的 HEVC 解码器
liumingming authored
47 48

    /////////////////////////////////////////////////////////////////////////////////
wangguolei authored
49
    //       音频相关错误码
liumingming authored
50
    /////////////////////////////////////////////////////////////////////////////////
wangguolei authored
51 52 53 54 55
    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,    ///< 停止麦克风失败
liumingming authored
56
wangguolei authored
57 58 59
    ERR_SPEAKER_START_FAIL                          = -1321,    ///< 打开扬声器失败,例如在 Windows 或 Mac 设备,扬声器的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序
    ERR_SPEAKER_SET_PARAM_FAIL                      = -1322,    ///< 扬声器设置参数失败
    ERR_SPEAKER_STOP_FAIL                           = -1323,    ///< 停止扬声器失败
liumingming authored
60
wangguolei authored
61 62 63 64 65
	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,    ///< 不支持的音频采样率
liumingming authored
66 67

    /////////////////////////////////////////////////////////////////////////////////
wangguolei authored
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
    //       网络相关错误码
    /////////////////////////////////////////////////////////////////////////////////
    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() 到主播
liumingming authored
97 98 99 100 101 102 103 104 105 106 107

} TXLiteAVError;

/////////////////////////////////////////////////////////////////////////////////
//
//                     警告码
//
/////////////////////////////////////////////////////////////////////////////////

typedef enum TXLiteAVWarning
{
wangguolei authored
108 109 110 111
    /////////////////////////////////////////////////////////////////////////////////
    //       视频相关警告码
    /////////////////////////////////////////////////////////////////////////////////
    WARNING_HW_ENCODER_START_FAIL                   = 1103,     ///<  硬编码启动出现问题,自动切换到软编码
liumingming authored
112 113 114 115 116 117 118 119 120 121 122 123 124
    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,     ///<  视频渲染失败
wangguolei authored
125 126 127 128 129 130 131 132 133 134

    /////////////////////////////////////////////////////////////////////////////////
    //       音频相关警告码
    /////////////////////////////////////////////////////////////////////////////////
    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,     ///<  当前音频帧解码失败
liumingming authored
135
    WARNING_AUDIO_RECORDING_WRITE_FAIL              = 7001,     ///<  音频录制写入文件失败
wangguolei authored
136 137 138 139 140

    /////////////////////////////////////////////////////////////////////////////////
    //       网络相关警告码
    /////////////////////////////////////////////////////////////////////////////////
    WARNING_IGNORE_UPSTREAM_FOR_AUDIENCE            = 6001,     ///<  当前是观众角色,不支持发布音视频,需要先切换成主播角色
liumingming authored
141 142
} TXLiteAVWarning;
wangguolei authored
143
liumingming authored
144 145
/////////////////////////////////////////////////////////////////////////////////
//
wangguolei authored
146
//                     兼容定义(用于兼容老版本的错误码定义,请在代码中尽量使用右侧的新定义)
liumingming authored
147 148
//
/////////////////////////////////////////////////////////////////////////////////
wangguolei authored
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
#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
liumingming authored
180
#endif /* __TXLITEAVCODE_H__ */