AliVCSDK  6.3.0
阿里云音视频SDK,为视频开发者提供一站式接入服务
AlivcLivePushError.java
1 package com.alivc.live.pusher;
2 
16 @Visible
17 public enum AlivcLivePushError {
18 
19  //通用错误码 (部分负数)和0x00000000-0x0FFFFFFF
20  ALIVC_COMMON_INVALID_PARAM(-2, ""),
21  //尽量少用该错误,返回明确的错误值;
22  ALIVC_COMMON_RETURN_FAILED(-1, ""),
23  ALIVC_COMMON_RETURN_SUCCESS(0x00000000, ""),
24 
25  // 系统错误,0x00000000-0x0FFFFFFF
26  // 麦克风打开失败
27  ALIVC_LIVE_PUSHER_DEVICE_ERROR_MIC_OPEN_FAIL(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
28  // 麦克风被打断
29  ALIVC_LIVE_PUSHER_DEVICE_ERROR_MIC_INTERRUPT(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
30  // 麦克风无权限
31  ALIVC_LIVE_PUSHER_DEVICE_ERROR_MIC_AUTH_FAIL(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
32  // 无可用麦克风
33  ALIVC_LIVE_PUSHER_DEVICE_ERROR_MIC_NOT_AVAILABLE(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
34  // 扬声器打开失败
35  ALIVC_LIVE_PUSHER_DEVICE_ERROR_SPEAKER_OPEN_FAIL(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
36  // 扬声器被打断
37  ALIVC_LIVE_PUSHER_DEVICE_ERROR_SPEAKER_INTERRUPT(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
38  // 无可用扬声器
39  ALIVC_LIVE_PUSHER_DEVICE_ERROR_SPEAKER_NOT_AVAILABLE(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
40  // 音频设备异常
41  ALIVC_LIVE_PUSHER_DEVICE_ERROR_AUDIO_DEVICE_EXCEPTION(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
42  // 摄像头打开失败
43  ALIVC_LIVE_PUSHER_DEVICE_ERROR_CAMERA_OPEN_FAIL(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
44  // 摄像头被打断
45  ALIVC_LIVE_PUSHER_DEVICE_ERROR_CAMERA_INTERRUPT(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
46  // 摄像头无权限
47  ALIVC_LIVE_PUSHER_DEVICE_ERROR_CAMERA_AUTH_FAIL(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
48  // 显示设备异常
49  ALIVC_LIVE_PUSHER_DEVICE_ERROR_DISPLAY_EXCEPTION(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
50  // 视频设备异常
51  ALIVC_LIVE_PUSHER_DEVICE_ERROR_VIDEO_DEVICE_EXCEPTION(++ErrorCode.ALIVC_FRAMEWORK_SYSTEM_ERROR_START, ""),
52 
53  //0.基础组件 0x10000000-0x1FFFFFFF
54  ALIVC_FRAMEWORK_ERROR_THREAD_EXIT(++ErrorCode.ALIVC_FRAMEWORK_ERROR_START, ""),
55  ALIVC_FRAMEWORK_DISPATCH_MSG_FAILED(++ErrorCode.ALIVC_FRAMEWORK_ERROR_START, ""),
56  ALIVC_FRAMEWORK_IS_SYNC_MSG(++ErrorCode.ALIVC_FRAMEWORK_ERROR_START, ""),
57  ALIVC_FRAMEWORK_ERROR_SERVICE_IS_ALREADY_EXIST(++ErrorCode.ALIVC_FRAMEWORK_ERROR_START, ""),
58 
59  //队列中没有待处理的命令,即将挂起线程
60  ALIVC_FRAMEWORK_VIDEO_ENCODER_QUEUE_EMPTY_WARNING(++ErrorCode.ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START, ""),
61  //队列中待处理的命令已经堆积超过一定数量,需要外部降低帧率
62  ALIVC_FRAMEWORK_VIDEO_ENCODER_QUEUE_FULL_WARNING(++ErrorCode.ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START, ""),
63  ALIVC_FRAMEWORK_VIDEO_ENCODER_CREATE_ENCODER_FAILED(++ErrorCode.ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START, ""),
64  ALIVC_FRAMEWORK_VIDEO_ENCODER_WIDTHOUT_MATCH_ENCODER(++ErrorCode.ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START, ""),
65  ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_WITHOUT_WORK(++ErrorCode.ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START, ""),
66  ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_INTERRUPT(++ErrorCode.ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START, ""),
67  //编码创建或者使用过程中返回 android 版本过低//0x10003100,以下更改需要对应修改java
68  ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_ANDROID_API_LEVEL(0x10003100, ""),
69  ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_STATE(0x10003101, ""),
70  ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_INPUT(0x10003102, ""),
71  ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_NO_BUFFER_AVAILABLE(0x10003103, ""),
72 
73  //0.5.audio encoder
74  ALIVC_FRAMEWORK_AUDIO_ENCODER_INIT_FAILED(++ErrorCode.ALIVC_FRAMEWORK_AUDIO_ENCODER_START, ""),
75  ALIVC_FRAMEWORK_AUDIO_ENCODER_ERROR_STATE(++ErrorCode.ALIVC_FRAMEWORK_AUDIO_ENCODER_START, ""),
76  ALIVC_FRAMEWORK_AUDIO_ENCODER_ERROR_INPUT(++ErrorCode.ALIVC_FRAMEWORK_AUDIO_ENCODER_START, ""),
77  ALIVC_FRAMEWORK_AUDIO_ENCODER_ERROR_INTERRUPT(++ErrorCode.ALIVC_FRAMEWORK_AUDIO_ENCODER_START, ""),
78  ALIVC_FRAMEWORK_AUDIO_ENCODER_ERROR_WITHOUT_WORK(++ErrorCode.ALIVC_FRAMEWORK_AUDIO_ENCODER_START, ""),
79  ALIVC_FRAMEWORK_AUDIO_ENCODER_WIDTHOUT_MATCH_ENCODER(++ErrorCode.ALIVC_FRAMEWORK_AUDIO_ENCODER_START, ""),
80 
81  // 0.6.渲染组件 0x10004000-0x10004FFF
82  ALIVC_FRAMEWORK_RENDER_FIRST_FRAME_PREVIEWED(++ErrorCode.ALIVC_FRAMEWORK_RENDER_ERROR_START, ""),
83  ALIVC_FRAMEWORK_RENDER_ERROR_EGL(++ErrorCode.ALIVC_FRAMEWORK_RENDER_ERROR_START, ""),
84  ALIVC_FRAMEWORK_RENDER_ERROR_GL(++ErrorCode.ALIVC_FRAMEWORK_RENDER_ERROR_START, ""),
85 
86  // 0.7 .Capture组件 0x10005000-0x10005FFF
87  ALIVC_PUSHER_ERROR_SDK_CAPTURE_INVALID_STATE(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START, "invalid state"),
88 
89  ALIVC_PUSHER_ERROR_SDK_CAPTURE_INIT_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START, "capture init failed"),
90 
91  ALIVC_PUSHER_ERROR_SDK_CAPTURE_CAMERA_OPEN_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START, "camera open failed"),
92 
93  ALIVC_PUSHER_ERROR_SDK_CAPTURE_MIC_OPEN_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START, "microphone open failed"),
94 
95  ALIVC_PUSHER_EVENT_CAPTURE_AUDIO_START_FAIL(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START,"audio capture start failed"),
96  ALIVC_PUSHER_EVENT_CAPTURE_VIDEO_START_FAIL(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START,"video capture start failed"),
97  ALIVC_PUSHER_ERROR_SDK_CAPTURE_SCREEN_OPEN_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_CAPTURE_START,"screen capture init or start failed"),
98 
99  // 1.4.RtmpService 系统错误 0x30010900-0x300109FF
100  ALIVC_LIVE_ERROR_SYSTEM_RTMP_OOM(++ErrorCode.ALIVC_LIVE_ERROR_SYSTEM_RTMP_START, "rtmp out of memory"),
101 
102  // 2.1.NativeLivePush SDK错误 0x30020200-0x300202FF
103  ALIVC_PUSHER_ERROR_SDK_NATIVE_LIVE_PUSH_INVALID_STATE(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_NATIVE_LIVE_PUSH_START, "live pusher invalid state"),
104 
105  // 2.2.LivePushService SDK错误 0x30020300-0x300203FF
106  ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_NETWORK_TOO_POOR(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_START, "live pusher network to poor."),
107  ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_ADJUST_BITRATE_FAIL(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_START, "live pusher bit adjustment failed."),
108 
109  ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_LOW_PERFORMANCE(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_START, "live pusher low performance."),
110 
111  // 2.4.PushService SDK错误 (统一的RTMP、RTS的枚举)0x30020900-0x300209FF
112  ALIVC_PUSHER_ERROR_SDK_PUSH_INVALID_STATE(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START, ""),
113  ALIVC_PUSHER_ERROR_SDK_PUSH_SETUPURL(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START, "rtmp setup url."),
114  ALIVC_PUSHER_ERROR_SDK_PUSH_CONNECT(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START, "rtmp connect error."),
115  ALIVC_PUSHER_ERROR_SDK_PUSH_CONNECT_STREAM(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START, "rtmp connect stream."),
116  ALIVC_PUSHER_ERROR_SDK_PUSH_INVALID_URL(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START, "rtmp invalid url."),
117  ALIVC_PUSHER_ERROR_SDK_PUSH_RECONNECT_FAIL(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START,"reconnect fail."),
118  ALIVC_PUSHER_ERROR_SDK_PUSH_SEND_DATA_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START,"send data timeout."),
119  ALIVC_PUSHER_ERROR_SDK_PUSH_START_PUSH_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START, "start push timeout."),
120  ALIVC_PUSHER_ERROR_SDK_PUSH_ILLEGAL_PARAM(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START,"invalid parameter."),
121  ALIVC_PUSHER_ERROR_SDK_PUSH_RTS_DOWN_TO_RTMP(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_PUSH_START,"down to rtmp."),
122 
123  ALIVC_PUSHER_ERROR_BGM_OPEN_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_BGM_START,"bgm file open failed."),
124  ALIVC_PUSHER_ERROR_BGM_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_SDK_BGM_START,"bgm file load time out."),
125 
126  ALIVC_PUSHER_ERROR_SDK_ARTP_INVALID_STATE(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp invalid state."),
127 
128  ALIVC_PUSHER_ERROR_SDK_ARTP_CONNECT_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp connect failed."),
129  ALIVC_PUSHER_ERROR_SDK_ARTP_SEND_DATA_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp send data timeout."),
130  ALIVC_PUSHER_ERROR_SDK_ARTP_CONNECT_LOST(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp connect lost."),
131  ALIVC_PUSHER_ERROR_SDK_ARTP_RECONNECT_FAILED(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp reconnect failed."),
132  ALIVC_PUSHER_ERROR_SDK_ARTP_RECV_HEARTBEAT_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp heartbeat timeout."),
133  ALIVC_PUSHER_ERROR_SDK_ARTP_START_PUSH_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp push timeout."),
134  ALIVC_PUSHER_ERROR_SDK_ARTP_SEND_SPSPPS_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp send sps timeout."),
135  ALIVC_PUSHER_ERROR_SDK_ARTP_SEN_AACCONF_TIMEOUT(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp send aac config timeout."),
136  ALIVC_PUSHER_ERROR_SDK_ARTP_ILLEGAL_PARAM(++ErrorCode.ALIVC_PUSHER_ERROR_NETWORK_ARTP_START,"artp send aac config timeout.");
137 
138 
139  private int mCode;
140 
141  // 2.SDK错误 0x30020000-0x3002FFFF
142  private String mMsg;
143 
144  private AlivcLivePushError(int code, String msg) {
145  mCode = code;
146  mMsg = msg;
147  }
148 
149  public int getCode() {
150  return mCode;
151  }
152 
153  public void setCode(int code) {
154  mCode = code;
155  }
156 
157  public String getMsg() {
158  return mMsg;
159  }
160 
161  public void setMsg(String msg) {
162  mMsg = msg;
163  }
164 
165  public static AlivcLivePushError getErrorByCode(int code)
166  {
167  for(int i = 0; i < AlivcLivePushError.values().length; i++)
168  {
169  if(code == AlivcLivePushError.values()[i].getCode())
170  {
171  return AlivcLivePushError.values()[i];
172  }
173  }
174  return AlivcLivePushError.ALIVC_COMMON_RETURN_FAILED;
175  }
176 
177  @Override
178  public String toString() {
179  return "AlivcLivePushError{" +
180  "mCode=" + Integer.toHexString(mCode) +
181  ", mMsg='" + mMsg + '\'' +
182  '}';
183  }
184 
185  private static class ErrorCode {
186  // 系统错误,0x00000000-0x0FFFFFFF
187  protected static int ALIVC_FRAMEWORK_SYSTEM_ERROR_START = 0x00000000;
188 
189  // 0.基础组件 0x10000000-0x1FFFFFFF/////////////////
190  protected static int ALIVC_FRAMEWORK_ERROR_START = 0x10000000;
191  // 0.1.基础架构 0x10000000-0x10000FFF
192  // 0.2.muxer\demuxer组件 0x10001000-0x10001FFF
193  protected static int ALIVC_FRAMEWORK_MUXER_ERROR_START = 0x10001000;
194 
195  // 0.3.解码组件 0x10002000-0x10002FFF
196  protected static int ALIVC_FRAMEWORK_DECODER_ERROR_START = 0x10002000;
197 
198  // 0.4.编码组件 0x10003000-0x10003FFF
199  protected static int ALIVC_FRAMEWORK_VIDEO_ENCODER_ERROR_START = 0x10003000;
200 
201  //0.5.audio encoder
202  protected static int ALIVC_FRAMEWORK_AUDIO_ENCODER_START = 0x10003202;
203 
204  // 0.6.渲染组件 0x10004000-0x10004FFF
205  protected static int ALIVC_FRAMEWORK_RENDER_ERROR_START = 0x10004000;
206 
207  // 0.7.采集组件 0x10005000-0x10005FFF
208  protected static int ALIVC_PUSHER_ERROR_SDK_CAPTURE_START = 0x10005000;
209 
210  // 1.系统错误
211  protected static int ALIVC_LIVE_ERROR_SYSTEM_RTMP_START = 0x30010900;
212 
213  // 2.SDK错误
214  // 2.1.NativeLivePush SDK错误 0x30020200-0x300202FF
215  protected static int ALIVC_PUSHER_ERROR_SDK_NATIVE_LIVE_PUSH_START = 0x30020200;
216 
217  // 2.2.LivePushService SDK错误 0x30020300-0x300203FF
218  protected static int ALIVC_PUSHER_ERROR_SDK_LIVE_PUSH_START = 0x30020300;
219 
220  // 2.3.RTMPService SDK错误 0x30020900-0x300209FF
221  protected static int ALIVC_PUSHER_ERROR_SDK_PUSH_START = 0x30020900;
222 
223 
224  protected static int ALIVC_PUSHER_ERROR_SDK_BGM_START = 0x30010500;
225 
226  // 3.网络错误 0x30030000-0x3003FFFF
227  // 3.1.推流错误 0x30030900-0x300309FF
228  protected static int ALIVC_PUSHER_ERROR_NETWORK_RTMP_START = 0x30020900;
229 
230  protected static int ALIVC_PUSHER_ERROR_NETWORK_ARTP_START = 0x30020A00;
231  }
232 }
233  // end of live_error