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