[FFmpeg-devel] [PATCH 1/5] Introduce new error codes for 4XX and 5XX replies from remote servers

Andrey Utkin andrey.utkin at corp.bluecherry.net
Fri Oct 17 22:23:59 CEST 2014


---
 libavutil/error.c | 6 ++++++
 libavutil/error.h | 7 +++++++
 2 files changed, 13 insertions(+)

diff --git a/libavutil/error.c b/libavutil/error.c
index 9be78bc..d2868ac 100644
--- a/libavutil/error.c
+++ b/libavutil/error.c
@@ -53,6 +53,12 @@ static const struct error_entry error_entries[] = {
     { ERROR_TAG(UNKNOWN),            "Unknown error occurred"                         },
     { ERROR_TAG(EXPERIMENTAL),       "Experimental feature"                           },
     { ERROR_TAG(INPUT_AND_OUTPUT_CHANGED), "Input and output changed"                 },
+    { ERROR_TAG(HTTP_BAD_REQUEST),   "Server returned 400 Bad Request"         },
+    { ERROR_TAG(HTTP_UNAUTHORIZED),  "Server returned 401 Unauthorized (authorization failed)" },
+    { ERROR_TAG(HTTP_FORBIDDEN),     "Server returned 403 Forbidden (access denied)" },
+    { ERROR_TAG(HTTP_NOT_FOUND),     "Server returned 404 Not Found"           },
+    { ERROR_TAG(HTTP_OTHER_4XX),     "Server returned 4XX Client Error, but not one of 40{0,1,3,4}" },
+    { ERROR_TAG(HTTP_SERVER_ERROR),  "Server returned 5XX Server Error reply" },
 };
 
 int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
diff --git a/libavutil/error.h b/libavutil/error.h
index 621279a..71df4da 100644
--- a/libavutil/error.h
+++ b/libavutil/error.h
@@ -72,6 +72,13 @@
 #define AVERROR_EXPERIMENTAL       (-0x2bb2afa8) ///< Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it.
 #define AVERROR_INPUT_CHANGED      (-0x636e6701) ///< Input changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_OUTPUT_CHANGED)
 #define AVERROR_OUTPUT_CHANGED     (-0x636e6702) ///< Output changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_INPUT_CHANGED)
+/* HTTP & RTSP errors */
+#define AVERROR_HTTP_BAD_REQUEST   FFERRTAG(0xF8,'4','0','0')
+#define AVERROR_HTTP_UNAUTHORIZED  FFERRTAG(0xF8,'4','0','1')
+#define AVERROR_HTTP_FORBIDDEN     FFERRTAG(0xF8,'4','0','3')
+#define AVERROR_HTTP_NOT_FOUND     FFERRTAG(0xF8,'4','0','4')
+#define AVERROR_HTTP_OTHER_4XX     FFERRTAG(0xF8,'4','X','X')
+#define AVERROR_HTTP_SERVER_ERROR  FFERRTAG(0xF8,'5','X','X')
 
 #define AV_ERROR_MAX_STRING_SIZE 64
 
-- 
1.8.5.5



More information about the ffmpeg-devel mailing list