Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavutil
error.c
Go to the documentation of this file.
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
#include "
avutil.h
"
20
#include "
avstring.h
"
21
22
int
av_strerror
(
int
errnum,
char
*errbuf,
size_t
errbuf_size)
23
{
24
int
ret = 0;
25
const
char
*errstr =
NULL
;
26
27
switch
(errnum) {
28
case
AVERROR_BSF_NOT_FOUND
: errstr =
"Bitstream filter not found"
;
break
;
29
case
AVERROR_DECODER_NOT_FOUND
: errstr =
"Decoder not found"
;
break
;
30
case
AVERROR_DEMUXER_NOT_FOUND
: errstr =
"Demuxer not found"
;
break
;
31
case
AVERROR_ENCODER_NOT_FOUND
: errstr =
"Encoder not found"
;
break
;
32
case
AVERROR_EOF
: errstr =
"End of file"
;
break
;
33
case
AVERROR_EXIT
: errstr =
"Immediate exit requested"
;
break
;
34
case
AVERROR_FILTER_NOT_FOUND
: errstr =
"Filter not found"
;
break
;
35
case
AVERROR_INVALIDDATA
: errstr =
"Invalid data found when processing input"
;
break
;
36
case
AVERROR_MUXER_NOT_FOUND
: errstr =
"Muxer not found"
;
break
;
37
case
AVERROR_OPTION_NOT_FOUND
: errstr =
"Option not found"
;
break
;
38
case
AVERROR_PATCHWELCOME
: errstr =
"Not yet implemented in Libav, patches welcome"
;
break
;
39
case
AVERROR_PROTOCOL_NOT_FOUND
:errstr =
"Protocol not found"
;
break
;
40
case
AVERROR_STREAM_NOT_FOUND
: errstr =
"Stream not found"
;
break
;
41
case
AVERROR_BUG
: errstr =
"Bug detected, please report the issue"
;
break
;
42
case
AVERROR_UNKNOWN
: errstr =
"Unknown error occurred"
;
break
;
43
}
44
45
if
(errstr) {
46
av_strlcpy
(errbuf, errstr, errbuf_size);
47
}
else
{
48
#if HAVE_STRERROR_R
49
ret = strerror_r(
AVUNERROR
(errnum), errbuf, errbuf_size);
50
#else
51
ret = -1;
52
#endif
53
if
(ret < 0)
54
snprintf(errbuf, errbuf_size,
"Error number %d occurred"
, errnum);
55
}
56
57
return
ret;
58
}