FFmpeg
Macros | Functions
Error Codes

Macros

#define AVERROR(e)   (e)
 
#define AVUNERROR(e)   (e)
 
#define FFERRTAG(a, b, c, d)   (-(int)MKTAG(a, b, c, d))
 
#define AVERROR_BSF_NOT_FOUND   FFERRTAG(0xF8,'B','S','F')
 Bitstream filter not found. More...
 
#define AVERROR_BUG   FFERRTAG( 'B','U','G','!')
 Internal bug, also see AVERROR_BUG2. More...
 
#define AVERROR_BUFFER_TOO_SMALL   FFERRTAG( 'B','U','F','S')
 Buffer too small. More...
 
#define AVERROR_DECODER_NOT_FOUND   FFERRTAG(0xF8,'D','E','C')
 Decoder not found. More...
 
#define AVERROR_DEMUXER_NOT_FOUND   FFERRTAG(0xF8,'D','E','M')
 Demuxer not found. More...
 
#define AVERROR_ENCODER_NOT_FOUND   FFERRTAG(0xF8,'E','N','C')
 Encoder not found. More...
 
#define AVERROR_EOF   FFERRTAG( 'E','O','F',' ')
 End of file. More...
 
#define AVERROR_EXIT   FFERRTAG( 'E','X','I','T')
 Immediate exit was requested; the called function should not be restarted. More...
 
#define AVERROR_EXTERNAL   FFERRTAG( 'E','X','T',' ')
 Generic error in an external library. More...
 
#define AVERROR_FILTER_NOT_FOUND   FFERRTAG(0xF8,'F','I','L')
 Filter not found. More...
 
#define AVERROR_INVALIDDATA   FFERRTAG( 'I','N','D','A')
 Invalid data found when processing input. More...
 
#define AVERROR_MUXER_NOT_FOUND   FFERRTAG(0xF8,'M','U','X')
 Muxer not found. More...
 
#define AVERROR_OPTION_NOT_FOUND   FFERRTAG(0xF8,'O','P','T')
 Option not found. More...
 
#define AVERROR_PATCHWELCOME   FFERRTAG( 'P','A','W','E')
 Not yet implemented in FFmpeg, patches welcome. More...
 
#define AVERROR_PROTOCOL_NOT_FOUND   FFERRTAG(0xF8,'P','R','O')
 Protocol not found. More...
 
#define AVERROR_STREAM_NOT_FOUND   FFERRTAG(0xF8,'S','T','R')
 Stream not found. More...
 
#define AVERROR_BUG2   FFERRTAG( 'B','U','G',' ')
 This is semantically identical to AVERROR_BUG it has been introduced in Libav after our AVERROR_BUG and with a modified value. More...
 
#define AVERROR_UNKNOWN   FFERRTAG( 'U','N','K','N')
 Unknown error, typically from an external library. More...
 
#define AVERROR_EXPERIMENTAL   (-0x2bb2afa8)
 Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it. More...
 
#define AVERROR_INPUT_CHANGED   (-0x636e6701)
 Input changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_OUTPUT_CHANGED) More...
 
#define AVERROR_OUTPUT_CHANGED   (-0x636e6702)
 Output changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_INPUT_CHANGED) More...
 
#define AVERROR_HTTP_BAD_REQUEST   FFERRTAG(0xF8,'4','0','0')
 
#define AVERROR_HTTP_UNAUTHORIZED   FFERRTAG(0xF8,'4','0','1')
 
#define AVERROR_HTTP_FORBIDDEN   FFERRTAG(0xF8,'4','0','3')
 
#define AVERROR_HTTP_NOT_FOUND   FFERRTAG(0xF8,'4','0','4')
 
#define AVERROR_HTTP_OTHER_4XX   FFERRTAG(0xF8,'4','X','X')
 
#define AVERROR_HTTP_SERVER_ERROR   FFERRTAG(0xF8,'5','X','X')
 
#define AV_ERROR_MAX_STRING_SIZE   64
 
#define av_err2str(errnum)   av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
 Convenience macro, the return value should be used only directly in function arguments but never stand-alone. More...
 

Functions

int av_strerror (int errnum, char *errbuf, size_t errbuf_size)
 Put a description of the AVERROR code errnum in errbuf. More...
 
static char * av_make_error_string (char *errbuf, size_t errbuf_size, int errnum)
 Fill the provided buffer with a string containing an error string corresponding to the AVERROR code errnum. More...
 

Detailed Description

Macro Definition Documentation

◆ AVERROR

#define AVERROR (   e)    (e)

Definition at line 43 of file error.h.

◆ AVUNERROR

#define AVUNERROR (   e)    (e)

Definition at line 44 of file error.h.

◆ FFERRTAG

#define FFERRTAG (   a,
  b,
  c,
 
)    (-(int)MKTAG(a, b, c, d))

Definition at line 47 of file error.h.

◆ AVERROR_BSF_NOT_FOUND

#define AVERROR_BSF_NOT_FOUND   FFERRTAG(0xF8,'B','S','F')

Bitstream filter not found.

Definition at line 49 of file error.h.

◆ AVERROR_BUG

#define AVERROR_BUG   FFERRTAG( 'B','U','G','!')

Internal bug, also see AVERROR_BUG2.

Definition at line 50 of file error.h.

◆ AVERROR_BUFFER_TOO_SMALL

#define AVERROR_BUFFER_TOO_SMALL   FFERRTAG( 'B','U','F','S')

Buffer too small.

Definition at line 51 of file error.h.

◆ AVERROR_DECODER_NOT_FOUND

#define AVERROR_DECODER_NOT_FOUND   FFERRTAG(0xF8,'D','E','C')

Decoder not found.

Examples
transcoding.c.

Definition at line 52 of file error.h.

◆ AVERROR_DEMUXER_NOT_FOUND

#define AVERROR_DEMUXER_NOT_FOUND   FFERRTAG(0xF8,'D','E','M')

Demuxer not found.

Definition at line 53 of file error.h.

◆ AVERROR_ENCODER_NOT_FOUND

#define AVERROR_ENCODER_NOT_FOUND   FFERRTAG(0xF8,'E','N','C')

Encoder not found.

Definition at line 54 of file error.h.

◆ AVERROR_EOF

#define AVERROR_EOF   FFERRTAG( 'E','O','F',' ')

◆ AVERROR_EXIT

#define AVERROR_EXIT   FFERRTAG( 'E','X','I','T')

Immediate exit was requested; the called function should not be restarted.

Examples
transcode_aac.c.

Definition at line 56 of file error.h.

◆ AVERROR_EXTERNAL

#define AVERROR_EXTERNAL   FFERRTAG( 'E','X','T',' ')

Generic error in an external library.

Definition at line 57 of file error.h.

◆ AVERROR_FILTER_NOT_FOUND

#define AVERROR_FILTER_NOT_FOUND   FFERRTAG(0xF8,'F','I','L')

Filter not found.

Examples
filter_audio.c.

Definition at line 58 of file error.h.

◆ AVERROR_INVALIDDATA

#define AVERROR_INVALIDDATA   FFERRTAG( 'I','N','D','A')

Invalid data found when processing input.

Examples
transcoding.c.

Definition at line 59 of file error.h.

◆ AVERROR_MUXER_NOT_FOUND

#define AVERROR_MUXER_NOT_FOUND   FFERRTAG(0xF8,'M','U','X')

Muxer not found.

Definition at line 60 of file error.h.

◆ AVERROR_OPTION_NOT_FOUND

#define AVERROR_OPTION_NOT_FOUND   FFERRTAG(0xF8,'O','P','T')

Option not found.

Definition at line 61 of file error.h.

◆ AVERROR_PATCHWELCOME

#define AVERROR_PATCHWELCOME   FFERRTAG( 'P','A','W','E')

Not yet implemented in FFmpeg, patches welcome.

Definition at line 62 of file error.h.

◆ AVERROR_PROTOCOL_NOT_FOUND

#define AVERROR_PROTOCOL_NOT_FOUND   FFERRTAG(0xF8,'P','R','O')

Protocol not found.

Definition at line 63 of file error.h.

◆ AVERROR_STREAM_NOT_FOUND

#define AVERROR_STREAM_NOT_FOUND   FFERRTAG(0xF8,'S','T','R')

Stream not found.

Definition at line 65 of file error.h.

◆ AVERROR_BUG2

#define AVERROR_BUG2   FFERRTAG( 'B','U','G',' ')

This is semantically identical to AVERROR_BUG it has been introduced in Libav after our AVERROR_BUG and with a modified value.

Definition at line 70 of file error.h.

◆ AVERROR_UNKNOWN

#define AVERROR_UNKNOWN   FFERRTAG( 'U','N','K','N')

Unknown error, typically from an external library.

Examples
remuxing.c, and transcoding.c.

Definition at line 71 of file error.h.

◆ AVERROR_EXPERIMENTAL

#define AVERROR_EXPERIMENTAL   (-0x2bb2afa8)

Requested feature is flagged experimental. Set strict_std_compliance if you really want to use it.

Definition at line 72 of file error.h.

◆ AVERROR_INPUT_CHANGED

#define AVERROR_INPUT_CHANGED   (-0x636e6701)

Input changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_OUTPUT_CHANGED)

Definition at line 73 of file error.h.

◆ AVERROR_OUTPUT_CHANGED

#define AVERROR_OUTPUT_CHANGED   (-0x636e6702)

Output changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_INPUT_CHANGED)

Definition at line 74 of file error.h.

◆ AVERROR_HTTP_BAD_REQUEST

#define AVERROR_HTTP_BAD_REQUEST   FFERRTAG(0xF8,'4','0','0')

Definition at line 76 of file error.h.

◆ AVERROR_HTTP_UNAUTHORIZED

#define AVERROR_HTTP_UNAUTHORIZED   FFERRTAG(0xF8,'4','0','1')

Definition at line 77 of file error.h.

◆ AVERROR_HTTP_FORBIDDEN

#define AVERROR_HTTP_FORBIDDEN   FFERRTAG(0xF8,'4','0','3')

Definition at line 78 of file error.h.

◆ AVERROR_HTTP_NOT_FOUND

#define AVERROR_HTTP_NOT_FOUND   FFERRTAG(0xF8,'4','0','4')
Examples
http_multiclient.c.

Definition at line 79 of file error.h.

◆ AVERROR_HTTP_OTHER_4XX

#define AVERROR_HTTP_OTHER_4XX   FFERRTAG(0xF8,'4','X','X')

Definition at line 80 of file error.h.

◆ AVERROR_HTTP_SERVER_ERROR

#define AVERROR_HTTP_SERVER_ERROR   FFERRTAG(0xF8,'5','X','X')

Definition at line 81 of file error.h.

◆ AV_ERROR_MAX_STRING_SIZE

#define AV_ERROR_MAX_STRING_SIZE   64

Definition at line 83 of file error.h.

◆ av_err2str

#define av_err2str (   errnum)    av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)

Convenience macro, the return value should be used only directly in function arguments but never stand-alone.

Examples
avio_reading.c, demuxing_decoding.c, encode_video.c, filtering_audio.c, filtering_video.c, http_multiclient.c, muxing.c, remuxing.c, transcode_aac.c, transcoding.c, vaapi_encode.c, and vaapi_transcode.c.

Definition at line 119 of file error.h.

Function Documentation

◆ av_strerror()

int av_strerror ( int  errnum,
char *  errbuf,
size_t  errbuf_size 
)

Put a description of the AVERROR code errnum in errbuf.

In case of failure the global variable errno is set to indicate the error. Even in case of failure av_strerror() will print a generic error message indicating the errnum provided to errbuf.

Parameters
errnumerror code to describe
errbufbuffer to which description is written
errbuf_sizethe size in bytes of errbuf
Returns
0 on success, a negative value if a description for errnum cannot be found

Definition at line 105 of file error.c.

Referenced by audio_read_packet(), av_file_map(), av_make_error_string(), binary_export(), bktr_init(), crypto_seek(), dashenc_delete_file(), ff_connect_parallel(), ff_listen_connect(), ff_log_net_error(), handle_file(), handle_io_open_error(), init(), main(), print_error(), show_error(), write_fragment(), and xml_export().

◆ av_make_error_string()

static char* av_make_error_string ( char *  errbuf,
size_t  errbuf_size,
int  errnum 
)
inlinestatic

Fill the provided buffer with a string containing an error string corresponding to the AVERROR code errnum.

Parameters
errbufa buffer
errbuf_sizesize in bytes of errbuf
errnumerror code to describe
Returns
the buffer in input, filled with the error description
See also
av_strerror()

Definition at line 109 of file error.h.