Commit | Line | Data |
---|---|---|
60c144f7 SS |
1 | /* |
2 | * This file is part of FFmpeg. | |
3 | * | |
4 | * FFmpeg is free software; you can redistribute it and/or | |
5 | * modify it under the terms of the GNU Lesser General Public | |
6 | * License as published by the Free Software Foundation; either | |
7 | * version 2.1 of the License, or (at your option) any later version. | |
8 | * | |
9 | * FFmpeg is distributed in the hope that it will be useful, | |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 | * Lesser General Public License for more details. | |
13 | * | |
14 | * You should have received a copy of the GNU Lesser General Public | |
15 | * License along with FFmpeg; if not, write to the Free Software | |
16 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
17 | */ | |
18 | ||
19 | /** | |
ba87f080 | 20 | * @file |
60c144f7 SS |
21 | * error code definitions |
22 | */ | |
23 | ||
24 | #ifndef AVUTIL_ERROR_H | |
25 | #define AVUTIL_ERROR_H | |
26 | ||
e4836e3c MR |
27 | #include <errno.h> |
28 | #include "avutil.h" | |
29 | ||
60c144f7 | 30 | /* error handling */ |
6d2877f4 | 31 | #if EDOM > 0 |
0394c928 SS |
32 | #define AVERROR(e) (-(e)) ///< Returns a negative error code from a POSIX error code, to return from library functions. |
33 | #define AVUNERROR(e) (-(e)) ///< Returns a POSIX error code from a library function error return value. | |
60c144f7 SS |
34 | #else |
35 | /* Some platforms have E* and errno already negated. */ | |
36 | #define AVERROR(e) (e) | |
37 | #define AVUNERROR(e) (e) | |
38 | #endif | |
0edfa79b SS |
39 | |
40 | #if LIBAVUTIL_VERSION_MAJOR < 51 | |
0394c928 SS |
41 | #define AVERROR_INVALIDDATA AVERROR(EINVAL) ///< Invalid data found when processing input |
42 | #define AVERROR_IO AVERROR(EIO) ///< I/O error | |
43 | #define AVERROR_NOENT AVERROR(ENOENT) ///< No such file or directory | |
44 | #define AVERROR_NOFMT AVERROR(EILSEQ) ///< Unknown format | |
45 | #define AVERROR_NOMEM AVERROR(ENOMEM) ///< Not enough memory | |
cf103fab | 46 | #define AVERROR_NOTSUPP AVERROR(ENOSYS) ///< Operation not supported |
0394c928 SS |
47 | #define AVERROR_NUMEXPECTED AVERROR(EDOM) ///< Number syntax expected in filename |
48 | #define AVERROR_UNKNOWN AVERROR(EINVAL) ///< Unknown error | |
0edfa79b SS |
49 | #endif |
50 | ||
0394c928 | 51 | #define AVERROR_EOF AVERROR(EPIPE) ///< End of file |
9b359f51 | 52 | |
0394c928 | 53 | #define AVERROR_PATCHWELCOME (-MKTAG('P','A','W','E')) ///< Not yet implemented in FFmpeg, patches welcome |
60c144f7 | 54 | |
73ddbd9d | 55 | #if LIBAVUTIL_VERSION_MAJOR > 50 |
0394c928 SS |
56 | #define AVERROR_INVALIDDATA (-MKTAG('I','N','D','A')) ///< Invalid data found when processing input |
57 | #define AVERROR_NUMEXPECTED (-MKTAG('N','U','E','X')) ///< Number syntax expected in filename | |
73ddbd9d SS |
58 | #endif |
59 | ||
87958234 SS |
60 | /** |
61 | * Puts a description of the AVERROR code errnum in errbuf. | |
62 | * In case of failure the global variable errno is set to indicate the | |
441ea0ce SS |
63 | * error. Even in case of failure av_strerror() will print a generic |
64 | * error message indicating the errnum provided to errbuf. | |
87958234 SS |
65 | * |
66 | * @param errbuf_size the size in bytes of errbuf | |
67 | * @return 0 on success, a negative value otherwise | |
68 | */ | |
69 | int av_strerror(int errnum, char *errbuf, size_t errbuf_size); | |
70 | ||
60c144f7 | 71 | #endif /* AVUTIL_ERROR_H */ |