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 #undef _GNU_SOURCE
23
28 };
29
30 #define ERROR_TAG(tag) AVERROR_##tag, #tag
32 {
ERROR_TAG(BSF_NOT_FOUND),
"Bitstream filter not found" },
33 {
ERROR_TAG(BUG),
"Internal bug, should not have happened" },
34 {
ERROR_TAG(BUG2),
"Internal bug, should not have happened" },
35 {
ERROR_TAG(BUFFER_TOO_SMALL),
"Buffer too small" },
36 {
ERROR_TAG(DECODER_NOT_FOUND),
"Decoder not found" },
37 {
ERROR_TAG(DEMUXER_NOT_FOUND),
"Demuxer not found" },
38 {
ERROR_TAG(ENCODER_NOT_FOUND),
"Encoder not found" },
40 {
ERROR_TAG(EXIT),
"Immediate exit requested" },
41 {
ERROR_TAG(EXTERNAL),
"Generic error in an external library" },
42 {
ERROR_TAG(FILTER_NOT_FOUND),
"Filter not found" },
43 {
ERROR_TAG(INVALIDDATA),
"Invalid data found when processing input" },
44 {
ERROR_TAG(MUXER_NOT_FOUND),
"Muxer not found" },
45 {
ERROR_TAG(OPTION_NOT_FOUND),
"Option not found" },
46 {
ERROR_TAG(PATCHWELCOME),
"Not yet implemented in FFmpeg, patches welcome" },
47 {
ERROR_TAG(PROTOCOL_NOT_FOUND),
"Protocol not found" },
48 {
ERROR_TAG(STREAM_NOT_FOUND),
"Stream not found" },
50 {
ERROR_TAG(EXPERIMENTAL),
"Experimental feature" },
51 };
52
54 {
57
59 if (errnum == error_entries[i].
num) {
60 entry = &error_entries[i];
61 break;
62 }
63 }
64 if (entry) {
66 } else {
67 #if HAVE_STRERROR_R
69 #else
70 ret = -1;
71 #endif
72 if (ret < 0)
73 snprintf(errbuf, errbuf_size,
"Error number %d occurred", errnum);
74 }
75
77 }
78
79 #ifdef TEST
80
81 #undef printf
82
84 {
85 int i;
86
88 const struct error_entry *entry = &error_entries[i];
90 }
91
92 for (i = 0; i < 256; i++) {
94 }
95
96 return 0;
97 }
98
99 #endif /* TEST */