|
1 /* |
|
2 * This file is part of Libav. |
|
3 * |
|
4 * Libav 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 * Libav 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 Libav; if not, write to the Free Software |
|
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
17 */ |
|
18 |
|
19 /** |
|
20 * @file |
|
21 * error code definitions |
|
22 */ |
|
23 |
|
24 #ifndef AVUTIL_ERROR_H |
|
25 #define AVUTIL_ERROR_H |
|
26 |
|
27 #include <errno.h> |
|
28 #include <stddef.h> |
|
29 #include "avutil.h" |
|
30 |
|
31 /** |
|
32 * @addtogroup lavu_error |
|
33 * |
|
34 * @{ |
|
35 */ |
|
36 |
|
37 |
|
38 /* error handling */ |
|
39 #if EDOM > 0 |
|
40 #define AVERROR(e) (-(e)) ///< Returns a negative error code from a POSIX error code, to return from library functions. |
|
41 #define AVUNERROR(e) (-(e)) ///< Returns a POSIX error code from a library function error return value. |
|
42 #else |
|
43 /* Some platforms have E* and errno already negated. */ |
|
44 #define AVERROR(e) (e) |
|
45 #define AVUNERROR(e) (e) |
|
46 #endif |
|
47 |
|
48 #define AVERROR_BSF_NOT_FOUND (-0x39acbd08) ///< Bitstream filter not found |
|
49 #define AVERROR_DECODER_NOT_FOUND (-0x3cbabb08) ///< Decoder not found |
|
50 #define AVERROR_DEMUXER_NOT_FOUND (-0x32babb08) ///< Demuxer not found |
|
51 #define AVERROR_ENCODER_NOT_FOUND (-0x3cb1ba08) ///< Encoder not found |
|
52 #define AVERROR_EOF (-0x5fb9b0bb) ///< End of file |
|
53 #define AVERROR_EXIT (-0x2bb6a7bb) ///< Immediate exit was requested; the called function should not be restarted |
|
54 #define AVERROR_FILTER_NOT_FOUND (-0x33b6b908) ///< Filter not found |
|
55 #define AVERROR_INVALIDDATA (-0x3ebbb1b7) ///< Invalid data found when processing input |
|
56 #define AVERROR_MUXER_NOT_FOUND (-0x27aab208) ///< Muxer not found |
|
57 #define AVERROR_OPTION_NOT_FOUND (-0x2bafb008) ///< Option not found |
|
58 #define AVERROR_PATCHWELCOME (-0x3aa8beb0) ///< Not yet implemented in Libav, patches welcome |
|
59 #define AVERROR_PROTOCOL_NOT_FOUND (-0x30adaf08) ///< Protocol not found |
|
60 #define AVERROR_STREAM_NOT_FOUND (-0x2dabac08) ///< Stream not found |
|
61 #define AVERROR_BUG (-0x5fb8aabe) ///< Bug detected, please report the issue |
|
62 #define AVERROR_UNKNOWN (-0x31b4b1ab) ///< Unknown error, typically from an external library |
|
63 #define AVERROR_EXPERIMENTAL (-0x2bb2afa8) ///< Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it. |
|
64 |
|
65 /** |
|
66 * Put a description of the AVERROR code errnum in errbuf. |
|
67 * In case of failure the global variable errno is set to indicate the |
|
68 * error. Even in case of failure av_strerror() will print a generic |
|
69 * error message indicating the errnum provided to errbuf. |
|
70 * |
|
71 * @param errnum error code to describe |
|
72 * @param errbuf buffer to which description is written |
|
73 * @param errbuf_size the size in bytes of errbuf |
|
74 * @return 0 on success, a negative value if a description for errnum |
|
75 * cannot be found |
|
76 */ |
|
77 int av_strerror(int errnum, char *errbuf, size_t errbuf_size); |
|
78 |
|
79 /** |
|
80 * @} |
|
81 */ |
|
82 |
|
83 #endif /* AVUTIL_ERROR_H */ |