| 1 | /* |
| 2 | * RTSP definitions |
| 3 | * copyright (c) 2002 Fabrice Bellard |
| 4 | * copyright (c) 2014 Samsung Electronics. All rights reserved. |
| 5 | * @Author: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com> |
| 6 | * |
| 7 | * This file is part of FFmpeg. |
| 8 | * |
| 9 | * FFmpeg is free software; you can redistribute it and/or |
| 10 | * modify it under the terms of the GNU Lesser General Public |
| 11 | * License as published by the Free Software Foundation; either |
| 12 | * version 2.1 of the License, or (at your option) any later version. |
| 13 | * |
| 14 | * FFmpeg is distributed in the hope that it will be useful, |
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 17 | * Lesser General Public License for more details. |
| 18 | * |
| 19 | * You should have received a copy of the GNU Lesser General Public |
| 20 | * License along with FFmpeg; if not, write to the Free Software |
| 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| 22 | */ |
| 23 | |
| 24 | #ifndef AVFORMAT_RTSPCODES_H |
| 25 | #define AVFORMAT_RTSPCODES_H |
| 26 | |
| 27 | #include "libavutil/common.h" |
| 28 | |
| 29 | /** RTSP handling */ |
| 30 | enum RTSPStatusCode { |
| 31 | RTSP_STATUS_CONTINUE =100, |
| 32 | RTSP_STATUS_OK =200, |
| 33 | RTSP_STATUS_CREATED =201, |
| 34 | RTSP_STATUS_LOW_ON_STORAGE_SPACE =250, |
| 35 | RTSP_STATUS_MULTIPLE_CHOICES =300, |
| 36 | RTSP_STATUS_MOVED_PERMANENTLY =301, |
| 37 | RTSP_STATUS_MOVED_TEMPORARILY =302, |
| 38 | RTSP_STATUS_SEE_OTHER =303, |
| 39 | RTSP_STATUS_NOT_MODIFIED =304, |
| 40 | RTSP_STATUS_USE_PROXY =305, |
| 41 | RTSP_STATUS_BAD_REQUEST =400, |
| 42 | RTSP_STATUS_UNAUTHORIZED =401, |
| 43 | RTSP_STATUS_PAYMENT_REQUIRED =402, |
| 44 | RTSP_STATUS_FORBIDDEN =403, |
| 45 | RTSP_STATUS_NOT_FOUND =404, |
| 46 | RTSP_STATUS_METHOD =405, |
| 47 | RTSP_STATUS_NOT_ACCEPTABLE =406, |
| 48 | RTSP_STATUS_PROXY_AUTH_REQUIRED =407, |
| 49 | RTSP_STATUS_REQ_TIME_OUT =408, |
| 50 | RTSP_STATUS_GONE =410, |
| 51 | RTSP_STATUS_LENGTH_REQUIRED =411, |
| 52 | RTSP_STATUS_PRECONDITION_FAILED =412, |
| 53 | RTSP_STATUS_REQ_ENTITY_2LARGE =413, |
| 54 | RTSP_STATUS_REQ_URI_2LARGE =414, |
| 55 | RTSP_STATUS_UNSUPPORTED_MTYPE =415, |
| 56 | RTSP_STATUS_PARAM_NOT_UNDERSTOOD =451, |
| 57 | RTSP_STATUS_CONFERENCE_NOT_FOUND =452, |
| 58 | RTSP_STATUS_BANDWIDTH =453, |
| 59 | RTSP_STATUS_SESSION =454, |
| 60 | RTSP_STATUS_STATE =455, |
| 61 | RTSP_STATUS_INVALID_HEADER_FIELD =456, |
| 62 | RTSP_STATUS_INVALID_RANGE =457, |
| 63 | RTSP_STATUS_RONLY_PARAMETER =458, |
| 64 | RTSP_STATUS_AGGREGATE =459, |
| 65 | RTSP_STATUS_ONLY_AGGREGATE =460, |
| 66 | RTSP_STATUS_TRANSPORT =461, |
| 67 | RTSP_STATUS_UNREACHABLE =462, |
| 68 | RTSP_STATUS_INTERNAL =500, |
| 69 | RTSP_STATUS_NOT_IMPLEMENTED =501, |
| 70 | RTSP_STATUS_BAD_GATEWAY =502, |
| 71 | RTSP_STATUS_SERVICE =503, |
| 72 | RTSP_STATUS_GATEWAY_TIME_OUT =504, |
| 73 | RTSP_STATUS_VERSION =505, |
| 74 | RTSP_STATUS_UNSUPPORTED_OPTION =551, |
| 75 | }; |
| 76 | |
| 77 | static const av_unused char * const rtsp_status_strings[] = { |
| 78 | [RTSP_STATUS_CONTINUE] ="Continue", |
| 79 | [RTSP_STATUS_OK] ="OK", |
| 80 | [RTSP_STATUS_CREATED] ="Created", |
| 81 | [RTSP_STATUS_LOW_ON_STORAGE_SPACE] ="Low on Storage Space", |
| 82 | [RTSP_STATUS_MULTIPLE_CHOICES] ="Multiple Choices", |
| 83 | [RTSP_STATUS_MOVED_PERMANENTLY] ="Moved Permanently", |
| 84 | [RTSP_STATUS_MOVED_TEMPORARILY] ="Moved Temporarily", |
| 85 | [RTSP_STATUS_SEE_OTHER] ="See Other", |
| 86 | [RTSP_STATUS_NOT_MODIFIED] ="Not Modified", |
| 87 | [RTSP_STATUS_USE_PROXY] ="Use Proxy", |
| 88 | [RTSP_STATUS_BAD_REQUEST] ="Bad Request", |
| 89 | [RTSP_STATUS_UNAUTHORIZED] ="Unauthorized", |
| 90 | [RTSP_STATUS_PAYMENT_REQUIRED] ="Payment Required", |
| 91 | [RTSP_STATUS_FORBIDDEN] ="Forbidden", |
| 92 | [RTSP_STATUS_NOT_FOUND] ="Not Found", |
| 93 | [RTSP_STATUS_METHOD] ="Method Not Allowed", |
| 94 | [RTSP_STATUS_NOT_ACCEPTABLE] ="Not Acceptable", |
| 95 | [RTSP_STATUS_PROXY_AUTH_REQUIRED] ="Proxy Authentication Required", |
| 96 | [RTSP_STATUS_REQ_TIME_OUT] ="Request Time-out", |
| 97 | [RTSP_STATUS_GONE] ="Gone", |
| 98 | [RTSP_STATUS_LENGTH_REQUIRED] ="Length Required", |
| 99 | [RTSP_STATUS_PRECONDITION_FAILED] ="Precondition Failed", |
| 100 | [RTSP_STATUS_REQ_ENTITY_2LARGE] ="Request Entity Too Large", |
| 101 | [RTSP_STATUS_REQ_URI_2LARGE] ="Request URI Too Large", |
| 102 | [RTSP_STATUS_UNSUPPORTED_MTYPE] ="Unsupported Media Type", |
| 103 | [RTSP_STATUS_PARAM_NOT_UNDERSTOOD] ="Parameter Not Understood", |
| 104 | [RTSP_STATUS_CONFERENCE_NOT_FOUND] ="Conference Not Found", |
| 105 | [RTSP_STATUS_BANDWIDTH] ="Not Enough Bandwidth", |
| 106 | [RTSP_STATUS_SESSION] ="Session Not Found", |
| 107 | [RTSP_STATUS_STATE] ="Method Not Valid in This State", |
| 108 | [RTSP_STATUS_INVALID_HEADER_FIELD] ="Header Field Not Valid for Resource", |
| 109 | [RTSP_STATUS_INVALID_RANGE] ="Invalid Range", |
| 110 | [RTSP_STATUS_RONLY_PARAMETER] ="Parameter Is Read-Only", |
| 111 | [RTSP_STATUS_AGGREGATE] ="Aggregate Operation no Allowed", |
| 112 | [RTSP_STATUS_ONLY_AGGREGATE] ="Only Aggregate Operation Allowed", |
| 113 | [RTSP_STATUS_TRANSPORT] ="Unsupported Transport", |
| 114 | [RTSP_STATUS_UNREACHABLE] ="Destination Unreachable", |
| 115 | [RTSP_STATUS_INTERNAL] ="Internal Server Error", |
| 116 | [RTSP_STATUS_NOT_IMPLEMENTED] ="Not Implemented", |
| 117 | [RTSP_STATUS_BAD_GATEWAY] ="Bad Gateway", |
| 118 | [RTSP_STATUS_SERVICE] ="Service Unavailable", |
| 119 | [RTSP_STATUS_GATEWAY_TIME_OUT] ="Gateway Time-out", |
| 120 | [RTSP_STATUS_VERSION] ="RTSP Version not Supported", |
| 121 | [RTSP_STATUS_UNSUPPORTED_OPTION] ="Option not supported", |
| 122 | }; |
| 123 | |
| 124 | #define RTSP_STATUS_CODE2STRING(x) (\ |
| 125 | x >= 100 && x < FF_ARRAY_ELEMS(rtsp_status_strings) && rtsp_status_strings[x] \ |
| 126 | )? rtsp_status_strings[x] : NULL |
| 127 | |
| 128 | enum RTSPMethod { |
| 129 | DESCRIBE, |
| 130 | ANNOUNCE, |
| 131 | OPTIONS, |
| 132 | SETUP, |
| 133 | PLAY, |
| 134 | PAUSE, |
| 135 | TEARDOWN, |
| 136 | GET_PARAMETER, |
| 137 | SET_PARAMETER, |
| 138 | REDIRECT, |
| 139 | RECORD, |
| 140 | UNKNOWN = -1, |
| 141 | }; |
| 142 | #endif /* AVFORMAT_RTSPCODES_H */ |