winlin

refine error codes.

@@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 // current release version 31 // current release version
32 #define VERSION_MAJOR "0" 32 #define VERSION_MAJOR "0"
33 #define VERSION_MINOR "9" 33 #define VERSION_MINOR "9"
34 -#define VERSION_REVISION "164" 34 +#define VERSION_REVISION "165"
35 #define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION 35 #define RTMP_SIG_SRS_VERSION VERSION_MAJOR"."VERSION_MINOR"."VERSION_REVISION
36 // server info. 36 // server info.
37 #define RTMP_SIG_SRS_KEY "SRS" 37 #define RTMP_SIG_SRS_KEY "SRS"
@@ -30,174 +30,156 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -30,174 +30,156 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 30
31 #include <srs_core.hpp> 31 #include <srs_core.hpp>
32 32
  33 +// success, ok
33 #define ERROR_SUCCESS 0 34 #define ERROR_SUCCESS 0
34 35
35 -#define ERROR_ST_SET_EPOLL 100  
36 -#define ERROR_ST_INITIALIZE 101  
37 -#define ERROR_ST_OPEN_SOCKET 102  
38 -#define ERROR_ST_CREATE_LISTEN_THREAD 103  
39 -#define ERROR_ST_CREATE_CYCLE_THREAD 104  
40 -#define ERROR_ST_CONNECT 105  
41 -  
42 -#define ERROR_SOCKET_CREATE 200  
43 -#define ERROR_SOCKET_SETREUSE 201  
44 -#define ERROR_SOCKET_BIND 202  
45 -#define ERROR_SOCKET_LISTEN 203  
46 -#define ERROR_SOCKET_CLOSED 204  
47 -#define ERROR_SOCKET_GET_PEER_NAME 205  
48 -#define ERROR_SOCKET_GET_PEER_IP 206  
49 -#define ERROR_SOCKET_READ 207  
50 -#define ERROR_SOCKET_READ_FULLY 208  
51 -#define ERROR_SOCKET_WRITE 209  
52 -#define ERROR_SOCKET_WAIT 210  
53 -#define ERROR_SOCKET_TIMEOUT 211  
54 -#define ERROR_SOCKET_CONNECT 212  
55 -//#define ERROR_SOCKET_GET_LOCAL_IP 212  
56 -  
57 -#define ERROR_RTMP_PLAIN_REQUIRED 300  
58 -#define ERROR_RTMP_CHUNK_START 301  
59 -#define ERROR_RTMP_MSG_INVLIAD_SIZE 302  
60 -#define ERROR_RTMP_AMF0_DECODE 303  
61 -#define ERROR_RTMP_AMF0_INVALID 304  
62 -#define ERROR_RTMP_REQ_CONNECT 305  
63 -#define ERROR_RTMP_REQ_TCURL 306  
64 -#define ERROR_RTMP_MESSAGE_DECODE 307  
65 -#define ERROR_RTMP_MESSAGE_ENCODE 308  
66 -#define ERROR_RTMP_AMF0_ENCODE 309  
67 -#define ERROR_RTMP_CHUNK_SIZE 310  
68 -#define ERROR_RTMP_TRY_SIMPLE_HS 311  
69 -#define ERROR_RTMP_CH_SCHEMA 312  
70 -#define ERROR_RTMP_PACKET_SIZE 313  
71 -#define ERROR_RTMP_VHOST_NOT_FOUND 314  
72 -#define ERROR_RTMP_ACCESS_DENIED 315  
73 -#define ERROR_RTMP_HANDSHAKE 316  
74 -#define ERROR_RTMP_NO_REQUEST 317  
75 -// if user use complex handshake, but without ssl,  
76 -// 1. srs is ok, ignore and turn to simple handshake.  
77 -// 2. srs-librtmp return error, to terminate the program.  
78 -#define ERROR_RTMP_HS_SSL_REQUIRE 318  
79 -#define ERROR_RTMP_DURATION_EXCEED 319  
80 -// edge specified errors  
81 -// invalid state for client to play edge stream.  
82 -#define ERROR_RTMP_EDGE_PLAY_STATE 320  
83 -// invalid state for client to publish edge stream.  
84 -#define ERROR_RTMP_EDGE_PUBLISH_STATE 321  
85 -#define ERROR_RTMP_EDGE_PROXY_PULL 322  
86 -#define ERROR_RTMP_EDGE_RELOAD 323  
87 -// aggregate message parse failed.  
88 -#define ERROR_RTMP_AGGREGATE 324  
89 -#define ERROR_RTMP_BWTC_DATA 325  
90 -  
91 -#define ERROR_SYSTEM_PACKET_INVALID 401  
92 -#define ERROR_SYSTEM_CLIENT_INVALID 402  
93 -#define ERROR_SYSTEM_ASSERT_FAILED 403  
94 -#define ERROR_SYSTEM_SIZE_NEGATIVE 404  
95 -#define ERROR_SYSTEM_CONFIG_INVALID 405  
96 -#define ERROR_SYSTEM_CONFIG_DIRECTIVE 406  
97 -#define ERROR_SYSTEM_CONFIG_BLOCK_START 407  
98 -#define ERROR_SYSTEM_CONFIG_BLOCK_END 408  
99 -#define ERROR_SYSTEM_CONFIG_EOF 409  
100 -#define ERROR_SYSTEM_STREAM_BUSY 410  
101 -#define ERROR_SYSTEM_IP_INVALID 411  
102 -#define ERROR_SYSTEM_FORWARD_LOOP 412  
103 -#define ERROR_SYSTEM_WAITPID 413  
104 -#define ERROR_SYSTEM_BANDWIDTH_KEY 414  
105 -#define ERROR_SYSTEM_BANDWIDTH_DENIED 415  
106 -#define ERROR_SYSTEM_PID_ACQUIRE 416  
107 -#define ERROR_SYSTEM_PID_ALREADY_RUNNING 417  
108 -#define ERROR_SYSTEM_PID_LOCK 418  
109 -#define ERROR_SYSTEM_PID_TRUNCATE_FILE 419  
110 -#define ERROR_SYSTEM_PID_WRITE_FILE 420  
111 -#define ERROR_SYSTEM_PID_GET_FILE_INFO 421  
112 -#define ERROR_SYSTEM_PID_SET_FILE_INFO 422  
113 -#define ERROR_SYSTEM_FILE_ALREADY_OPENED 423  
114 -#define ERROR_SYSTEM_FILE_OPENE 424  
115 -#define ERROR_SYSTEM_FILE_CLOSE 425  
116 -#define ERROR_SYSTEM_FILE_READ 426  
117 -#define ERROR_SYSTEM_FILE_WRITE 427  
118 -#define ERROR_SYSTEM_FILE_EOF 428  
119 -#define ERROR_SYSTEM_FILE_RENAME 429  
120 -#define ERROR_SYSTEM_CREATE_PIPE 430  
121 -#define ERROR_SYSTEM_FILE_SEEK 431  
122 -#define ERROR_SYSTEM_IO_INVALID 432  
123 -  
124 -// see librtmp.  
125 -// failed when open ssl create the dh  
126 -#define ERROR_OpenSslCreateDH 500  
127 -// failed when open ssl create the Private key.  
128 -#define ERROR_OpenSslCreateP 501  
129 -// when open ssl create G.  
130 -#define ERROR_OpenSslCreateG 502  
131 -// when open ssl parse P1024  
132 -#define ERROR_OpenSslParseP1024 503  
133 -// when open ssl set G  
134 -#define ERROR_OpenSslSetG 504  
135 -// when open ssl generate DHKeys  
136 -#define ERROR_OpenSslGenerateDHKeys 505  
137 -// when open ssl share key already computed.  
138 -#define ERROR_OpenSslShareKeyComputed 506  
139 -// when open ssl get shared key size.  
140 -#define ERROR_OpenSslGetSharedKeySize 507  
141 -// when open ssl get peer public key.  
142 -#define ERROR_OpenSslGetPeerPublicKey 508  
143 -// when open ssl compute shared key.  
144 -#define ERROR_OpenSslComputeSharedKey 509  
145 -// when open ssl is invalid DH state.  
146 -#define ERROR_OpenSslInvalidDHState 510  
147 -// when open ssl copy key  
148 -#define ERROR_OpenSslCopyKey 511  
149 -// when open ssl sha256 digest key invalid size.  
150 -#define ERROR_OpenSslSha256DigestSize 512  
151 -  
152 -#define ERROR_HLS_METADATA 600  
153 -#define ERROR_HLS_DECODE_ERROR 601  
154 -#define ERROR_HLS_CREATE_DIR 602  
155 -#define ERROR_HLS_OPEN_FAILED 603  
156 -#define ERROR_HLS_WRITE_FAILED 604  
157 -#define ERROR_HLS_AAC_FRAME_LENGTH 605  
158 -#define ERROR_HLS_AVC_SAMPLE_SIZE 606  
159 -  
160 -#define ERROR_ENCODER_VCODEC 700  
161 -#define ERROR_ENCODER_OUTPUT 701  
162 -#define ERROR_ENCODER_ACHANNELS 702  
163 -#define ERROR_ENCODER_ASAMPLE_RATE 703  
164 -#define ERROR_ENCODER_ABITRATE 704  
165 -#define ERROR_ENCODER_ACODEC 705  
166 -#define ERROR_ENCODER_VPRESET 706  
167 -#define ERROR_ENCODER_VPROFILE 707  
168 -#define ERROR_ENCODER_VTHREADS 708  
169 -#define ERROR_ENCODER_VHEIGHT 709  
170 -#define ERROR_ENCODER_VWIDTH 710  
171 -#define ERROR_ENCODER_VFPS 711  
172 -#define ERROR_ENCODER_VBITRATE 712  
173 -#define ERROR_ENCODER_FORK 713  
174 -#define ERROR_ENCODER_LOOP 714  
175 -#define ERROR_ENCODER_OPEN 715  
176 -#define ERROR_ENCODER_DUP2 716  
177 -#define ERROR_ENCODER_PARSE 717  
178 -#define ERROR_ENCODER_NO_INPUT 718  
179 -#define ERROR_ENCODER_NO_OUTPUT 719  
180 -#define ERROR_ENCODER_INPUT_TYPE 720  
181 -  
182 -#define ERROR_HTTP_PARSE_URI 800  
183 -#define ERROR_HTTP_DATA_INVLIAD 801  
184 -#define ERROR_HTTP_PARSE_HEADER 802  
185 -#define ERROR_HTTP_HANDLER_MATCH_URL 803  
186 -#define ERROR_HTTP_HANDLER_INVALID 804  
187 -#define ERROR_HTTP_API_LOGS 805  
188 -#define ERROR_HTTP_FLV_SEQUENCE_HEADER 806  
189 -#define ERROR_HTTP_FLV_OFFSET_OVERFLOW 807  
190 -  
191 -#define ERROR_KERNEL_FLV_HEADER 900  
192 -#define ERROR_KERNEL_FLV_STREAM_CLOSED 901  
193 -#define ERROR_KERNEL_STREAM_INIT 902  
194 - 36 +///////////////////////////////////////////////////////
  37 +// system error.
  38 +///////////////////////////////////////////////////////
  39 +#define ERROR_SOCKET_CREATE 1000
  40 +#define ERROR_SOCKET_SETREUSE 1001
  41 +#define ERROR_SOCKET_BIND 1002
  42 +#define ERROR_SOCKET_LISTEN 1003
  43 +#define ERROR_SOCKET_CLOSED 1004
  44 +#define ERROR_SOCKET_GET_PEER_NAME 1005
  45 +#define ERROR_SOCKET_GET_PEER_IP 1006
  46 +#define ERROR_SOCKET_READ 1007
  47 +#define ERROR_SOCKET_READ_FULLY 1008
  48 +#define ERROR_SOCKET_WRITE 1009
  49 +#define ERROR_SOCKET_WAIT 1010
  50 +#define ERROR_SOCKET_TIMEOUT 1011
  51 +#define ERROR_SOCKET_CONNECT 1012
  52 +#define ERROR_ST_SET_EPOLL 1013
  53 +#define ERROR_ST_INITIALIZE 1014
  54 +#define ERROR_ST_OPEN_SOCKET 1015
  55 +#define ERROR_ST_CREATE_LISTEN_THREAD 1016
  56 +#define ERROR_ST_CREATE_CYCLE_THREAD 1017
  57 +#define ERROR_ST_CONNECT 1018
  58 +#define ERROR_SYSTEM_PACKET_INVALID 1019
  59 +#define ERROR_SYSTEM_CLIENT_INVALID 1020
  60 +#define ERROR_SYSTEM_ASSERT_FAILED 1021
  61 +#define ERROR_SYSTEM_SIZE_NEGATIVE 1022
  62 +#define ERROR_SYSTEM_CONFIG_INVALID 1023
  63 +#define ERROR_SYSTEM_CONFIG_DIRECTIVE 1024
  64 +#define ERROR_SYSTEM_CONFIG_BLOCK_START 1025
  65 +#define ERROR_SYSTEM_CONFIG_BLOCK_END 1026
  66 +#define ERROR_SYSTEM_CONFIG_EOF 1027
  67 +#define ERROR_SYSTEM_STREAM_BUSY 1028
  68 +#define ERROR_SYSTEM_IP_INVALID 1029
  69 +#define ERROR_SYSTEM_FORWARD_LOOP 1030
  70 +#define ERROR_SYSTEM_WAITPID 1031
  71 +#define ERROR_SYSTEM_BANDWIDTH_KEY 1032
  72 +#define ERROR_SYSTEM_BANDWIDTH_DENIED 1033
  73 +#define ERROR_SYSTEM_PID_ACQUIRE 1034
  74 +#define ERROR_SYSTEM_PID_ALREADY_RUNNING 1035
  75 +#define ERROR_SYSTEM_PID_LOCK 1036
  76 +#define ERROR_SYSTEM_PID_TRUNCATE_FILE 1037
  77 +#define ERROR_SYSTEM_PID_WRITE_FILE 1038
  78 +#define ERROR_SYSTEM_PID_GET_FILE_INFO 1039
  79 +#define ERROR_SYSTEM_PID_SET_FILE_INFO 1040
  80 +#define ERROR_SYSTEM_FILE_ALREADY_OPENED 1041
  81 +#define ERROR_SYSTEM_FILE_OPENE 1042
  82 +#define ERROR_SYSTEM_FILE_CLOSE 1043
  83 +#define ERROR_SYSTEM_FILE_READ 1044
  84 +#define ERROR_SYSTEM_FILE_WRITE 1045
  85 +#define ERROR_SYSTEM_FILE_EOF 1046
  86 +#define ERROR_SYSTEM_FILE_RENAME 1047
  87 +#define ERROR_SYSTEM_CREATE_PIPE 1048
  88 +#define ERROR_SYSTEM_FILE_SEEK 1049
  89 +#define ERROR_SYSTEM_IO_INVALID 1050
  90 +
  91 +///////////////////////////////////////////////////////
  92 +// RTMP protocol error.
  93 +///////////////////////////////////////////////////////
  94 +#define ERROR_RTMP_PLAIN_REQUIRED 2000
  95 +#define ERROR_RTMP_CHUNK_START 2001
  96 +#define ERROR_RTMP_MSG_INVLIAD_SIZE 2002
  97 +#define ERROR_RTMP_AMF0_DECODE 2003
  98 +#define ERROR_RTMP_AMF0_INVALID 2004
  99 +#define ERROR_RTMP_REQ_CONNECT 2005
  100 +#define ERROR_RTMP_REQ_TCURL 2006
  101 +#define ERROR_RTMP_MESSAGE_DECODE 2007
  102 +#define ERROR_RTMP_MESSAGE_ENCODE 2008
  103 +#define ERROR_RTMP_AMF0_ENCODE 2009
  104 +#define ERROR_RTMP_CHUNK_SIZE 2010
  105 +#define ERROR_RTMP_TRY_SIMPLE_HS 2011
  106 +#define ERROR_RTMP_CH_SCHEMA 2012
  107 +#define ERROR_RTMP_PACKET_SIZE 2013
  108 +#define ERROR_RTMP_VHOST_NOT_FOUND 2014
  109 +#define ERROR_RTMP_ACCESS_DENIED 2015
  110 +#define ERROR_RTMP_HANDSHAKE 2016
  111 +#define ERROR_RTMP_NO_REQUEST 2017
  112 +#define ERROR_RTMP_HS_SSL_REQUIRE 2018
  113 +#define ERROR_RTMP_DURATION_EXCEED 2019
  114 +#define ERROR_RTMP_EDGE_PLAY_STATE 2020
  115 +#define ERROR_RTMP_EDGE_PUBLISH_STATE 2021
  116 +#define ERROR_RTMP_EDGE_PROXY_PULL 2022
  117 +#define ERROR_RTMP_EDGE_RELOAD 2023
  118 +#define ERROR_RTMP_AGGREGATE 2024
  119 +#define ERROR_RTMP_BWTC_DATA 2025
  120 +#define ERROR_OpenSslCreateDH 2026
  121 +#define ERROR_OpenSslCreateP 2027
  122 +#define ERROR_OpenSslCreateG 2028
  123 +#define ERROR_OpenSslParseP1024 2029
  124 +#define ERROR_OpenSslSetG 2030
  125 +#define ERROR_OpenSslGenerateDHKeys 2031
  126 +#define ERROR_OpenSslShareKeyComputed 2032
  127 +#define ERROR_OpenSslGetSharedKeySize 2033
  128 +#define ERROR_OpenSslGetPeerPublicKey 2034
  129 +#define ERROR_OpenSslComputeSharedKey 2035
  130 +#define ERROR_OpenSslInvalidDHState 2036
  131 +#define ERROR_OpenSslCopyKey 2037
  132 +#define ERROR_OpenSslSha256DigestSize 2038
  133 +//
195 // system control message, 134 // system control message,
196 // not an error, but special control logic. 135 // not an error, but special control logic.
197 // sys ctl: rtmp close stream, support replay. 136 // sys ctl: rtmp close stream, support replay.
198 -#define ERROR_CONTROL_RTMP_CLOSE 2000 137 +#define ERROR_CONTROL_RTMP_CLOSE 2998
199 // FMLE stop publish and republish. 138 // FMLE stop publish and republish.
200 -#define ERROR_CONTROL_REPUBLISH 2001 139 +#define ERROR_CONTROL_REPUBLISH 2999
  140 +
  141 +///////////////////////////////////////////////////////
  142 +// application level
  143 +///////////////////////////////////////////////////////
  144 +#define ERROR_HLS_METADATA 3000
  145 +#define ERROR_HLS_DECODE_ERROR 3001
  146 +#define ERROR_HLS_CREATE_DIR 3002
  147 +#define ERROR_HLS_OPEN_FAILED 3003
  148 +#define ERROR_HLS_WRITE_FAILED 3004
  149 +#define ERROR_HLS_AAC_FRAME_LENGTH 3005
  150 +#define ERROR_HLS_AVC_SAMPLE_SIZE 3006
  151 +#define ERROR_HTTP_PARSE_URI 3007
  152 +#define ERROR_HTTP_DATA_INVLIAD 3008
  153 +#define ERROR_HTTP_PARSE_HEADER 3009
  154 +#define ERROR_HTTP_HANDLER_MATCH_URL 3010
  155 +#define ERROR_HTTP_HANDLER_INVALID 3011
  156 +#define ERROR_HTTP_API_LOGS 3012
  157 +#define ERROR_HTTP_FLV_SEQUENCE_HEADER 3013
  158 +#define ERROR_HTTP_FLV_OFFSET_OVERFLOW 3014
  159 +#define ERROR_ENCODER_VCODEC 3015
  160 +#define ERROR_ENCODER_OUTPUT 3016
  161 +#define ERROR_ENCODER_ACHANNELS 3017
  162 +#define ERROR_ENCODER_ASAMPLE_RATE 3018
  163 +#define ERROR_ENCODER_ABITRATE 3019
  164 +#define ERROR_ENCODER_ACODEC 3020
  165 +#define ERROR_ENCODER_VPRESET 3021
  166 +#define ERROR_ENCODER_VPROFILE 3022
  167 +#define ERROR_ENCODER_VTHREADS 3023
  168 +#define ERROR_ENCODER_VHEIGHT 3024
  169 +#define ERROR_ENCODER_VWIDTH 3025
  170 +#define ERROR_ENCODER_VFPS 3026
  171 +#define ERROR_ENCODER_VBITRATE 3027
  172 +#define ERROR_ENCODER_FORK 3028
  173 +#define ERROR_ENCODER_LOOP 3029
  174 +#define ERROR_ENCODER_OPEN 3030
  175 +#define ERROR_ENCODER_DUP2 3031
  176 +#define ERROR_ENCODER_PARSE 3032
  177 +#define ERROR_ENCODER_NO_INPUT 3033
  178 +#define ERROR_ENCODER_NO_OUTPUT 3034
  179 +#define ERROR_ENCODER_INPUT_TYPE 3035
  180 +#define ERROR_KERNEL_FLV_HEADER 3036
  181 +#define ERROR_KERNEL_FLV_STREAM_CLOSED 3037
  182 +#define ERROR_KERNEL_STREAM_INIT 3038
201 183
202 /** 184 /**
203 * whether the error code is an system control error. 185 * whether the error code is an system control error.
@@ -205,4 +187,18 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -205,4 +187,18 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
205 extern bool srs_is_system_control_error(int error_code); 187 extern bool srs_is_system_control_error(int error_code);
206 extern bool srs_is_client_gracefully_close(int error_code); 188 extern bool srs_is_client_gracefully_close(int error_code);
207 189
  190 +/**
  191 +@remark: use column copy to generate the new error codes.
  192 +01234567890
  193 +01234567891
  194 +01234567892
  195 +01234567893
  196 +01234567894
  197 +01234567895
  198 +01234567896
  199 +01234567897
  200 +01234567898
  201 +01234567899
  202 +*/
  203 +
208 #endif 204 #endif