FFmpeg
Modules | Macros | Functions
Logging Facility

Modules

 Logging Constants
 

Macros

#define AV_LOG_C(x)   ((x) << 8)
 Sets additional colors for extended debugging sessions. More...
 
#define AV_LOG_SKIP_REPEATED   1
 Skip repeated messages, this requires the user app to use av_log() instead of (f)printf as the 2 would otherwise interfere and lead to "Last message repeated x times" messages below (f)printf messages with some bad luck. More...
 
#define AV_LOG_PRINT_LEVEL   2
 Include the log severity in messages originating from codecs. More...
 

Functions

void av_log (void *avcl, int level, const char *fmt,...) av_printf_format(3
 Send the specified message to the log if the level is less than or equal to the current av_log_level. More...
 
void void av_log_once (void *avcl, int initial_level, int subsequent_level, int *state, const char *fmt,...) av_printf_format(5
 Send the specified message to the log once with the initial_level and then with the subsequent_level. More...
 
void void void av_vlog (void *avcl, int level, const char *fmt, va_list vl)
 Send the specified message to the log if the level is less than or equal to the current av_log_level. More...
 
int av_log_get_level (void)
 Get the current log level. More...
 
void av_log_set_level (int level)
 Set the log level. More...
 
void av_log_set_callback (void(*callback)(void *, int, const char *, va_list))
 Set the logging callback. More...
 
void av_log_default_callback (void *avcl, int level, const char *fmt, va_list vl)
 Default logging callback. More...
 
const char * av_default_item_name (void *ctx)
 Return the context name. More...
 
AVClassCategory av_default_get_category (void *ptr)
 
void av_log_format_line (void *ptr, int level, const char *fmt, va_list vl, char *line, int line_size, int *print_prefix)
 Format a line of log the same way as the default callback. More...
 
int av_log_format_line2 (void *ptr, int level, const char *fmt, va_list vl, char *line, int line_size, int *print_prefix)
 Format a line of log the same way as the default callback. More...
 
void av_log_set_flags (int arg)
 
int av_log_get_flags (void)
 

Detailed Description

Macro Definition Documentation

◆ AV_LOG_C

#define AV_LOG_C (   x)    ((x) << 8)

Sets additional colors for extended debugging sessions.

av_log(ctx, AV_LOG_DEBUG|AV_LOG_C(134), "Message in purple\n");

Requires 256color terminal support. Uses outside debugging is not recommended.

Definition at line 222 of file log.h.

◆ AV_LOG_SKIP_REPEATED

#define AV_LOG_SKIP_REPEATED   1

Skip repeated messages, this requires the user app to use av_log() instead of (f)printf as the 2 would otherwise interfere and lead to "Last message repeated x times" messages below (f)printf messages with some bad luck.

Also to receive the last, "last repeated" line if any, the user app must call av_log(NULL, AV_LOG_QUIET, "%s", ""); at the end

Definition at line 370 of file log.h.

◆ AV_LOG_PRINT_LEVEL

#define AV_LOG_PRINT_LEVEL   2

Include the log severity in messages originating from codecs.

Results in messages such as: [rawvideo @ 0xDEADBEEF] [error] encode did not produce valid pts

Definition at line 378 of file log.h.

Function Documentation

◆ av_log()

void av_log ( void *  avcl,
int  level,
const char *  fmt,
  ... 
)

Send the specified message to the log if the level is less than or equal to the current av_log_level.

By default, all logging messages are sent to stderr. This behavior can be altered by setting a different logging callback function.

See also
av_log_set_callback
Parameters
avclA pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct or NULL if general log.
levelThe importance level of the message expressed using a Logging Constant.
fmtThe format string (printf-compatible) that specifies how subsequent arguments are converted to output.

◆ av_log_once()

void void av_log_once ( void *  avcl,
int  initial_level,
int  subsequent_level,
int state,
const char *  fmt,
  ... 
)

Send the specified message to the log once with the initial_level and then with the subsequent_level.

By default, all logging messages are sent to stderr. This behavior can be altered by setting a different logging callback function.

See also
av_log
Parameters
avclA pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct or NULL if general log.
initial_levelimportance level of the message expressed using a Logging Constant for the first occurance.
subsequent_levelimportance level of the message expressed using a Logging Constant after the first occurance.
fmtThe format string (printf-compatible) that specifies how subsequent arguments are converted to output.
statea variable to keep trak of if a message has already been printed this must be initialized to 0 before the first use. The same state must not be accessed by 2 Threads simultaneously.

◆ av_vlog()

void void void av_vlog ( void *  avcl,
int  level,
const char *  fmt,
va_list  vl 
)

Send the specified message to the log if the level is less than or equal to the current av_log_level.

By default, all logging messages are sent to stderr. This behavior can be altered by setting a different logging callback function.

See also
av_log_set_callback
Parameters
avclA pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct.
levelThe importance level of the message expressed using a Logging Constant.
fmtThe format string (printf-compatible) that specifies how subsequent arguments are converted to output.
vlThe arguments referenced by the format string.

Definition at line 431 of file log.c.

Referenced by ass_log(), av_log(), av_log_once(), libdav1d_log_callback(), missing_feature_sample(), print_log(), rtmp_log(), vs2av_log(), X264_log(), and XAVS_log().

◆ av_log_get_level()

int av_log_get_level ( void  )

◆ av_log_set_level()

void av_log_set_level ( int  level)

Set the log level.

See also
Logging Constants
Parameters
levelLogging level

Definition at line 447 of file log.c.

Referenced by check_keyboard_interaction(), LLVMFuzzerTestOneInput(), main(), opt_default(), opt_loglevel(), test_av_parse_color(), test_av_parse_time(), and test_av_small_strptime().

◆ av_log_set_callback()

void av_log_set_callback ( void(*)(void *, int, const char *, va_list)  callback)

Set the logging callback.

Note
The callback must be thread safe, even if the application does not use threads itself as some codecs are multithreaded.
See also
av_log_default_callback
Parameters
callbackA logging function with a compatible signature.

Definition at line 462 of file log.c.

Referenced by init_count_warnings(), init_report(), main(), reset_count_warnings(), show_buildconf(), show_help(), show_help_default(), and show_version().

◆ av_log_default_callback()

void av_log_default_callback ( void *  avcl,
int  level,
const char *  fmt,
va_list  vl 
)

Default logging callback.

It prints the message to stderr, optionally colorizing it.

Parameters
avclA pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct.
levelThe importance level of the message expressed using a Logging Constant.
fmtThe format string (printf-compatible) that specifies how subsequent arguments are converted to output.
vlThe arguments referenced by the format string.

Definition at line 353 of file log.c.

Referenced by log_callback(), log_callback_report(), and reset_count_warnings().

◆ av_default_item_name()

const char* av_default_item_name ( void *  ctx)

Return the context name.

Parameters
ctxThe AVClass context
Returns
The AVClass class_name

Definition at line 237 of file log.c.

Referenced by av_parse_cpu_caps(), item_name(), of_parse_group_token(), opt_abort_on(), opt_cpucount(), and vs2av_log().

◆ av_default_get_category()

AVClassCategory av_default_get_category ( void *  ptr)

Definition at line 242 of file log.c.

◆ av_log_format_line()

void av_log_format_line ( void *  ptr,
int  level,
const char *  fmt,
va_list  vl,
char *  line,
int  line_size,
int print_prefix 
)

Format a line of log the same way as the default callback.

Parameters
linebuffer to receive the formatted line
line_sizesize of the buffer
print_prefixused to store whether the prefix must be printed; must point to a persistent integer initially set to 1

Definition at line 335 of file log.c.

Referenced by log_callback(), and log_callback_report().

◆ av_log_format_line2()

int av_log_format_line2 ( void *  ptr,
int  level,
const char *  fmt,
va_list  vl,
char *  line,
int  line_size,
int print_prefix 
)

Format a line of log the same way as the default callback.

Parameters
linebuffer to receive the formatted line; may be NULL if line_size is 0
line_sizesize of the buffer; at most line_size-1 characters will be written to the buffer, plus one null terminator
print_prefixused to store whether the prefix must be printed; must point to a persistent integer initially set to 1
Returns
Returns a negative value if an error occurred, otherwise returns the number of characters that would have been written for a sufficiently large buffer, not including the terminating null character. If the return value is not less than line_size, it means that the log message was truncated to fit the buffer.

Definition at line 341 of file log.c.

Referenced by av_log_format_line(), and call_log_format_line2().

◆ av_log_set_flags()

void av_log_set_flags ( int  arg)

Definition at line 452 of file log.c.

Referenced by main(), and opt_loglevel().

◆ av_log_get_flags()

int av_log_get_flags ( void  )

Definition at line 457 of file log.c.

Referenced by opt_loglevel().

AV_LOG_DEBUG
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
Definition: log.h:201
ctx
AVFormatContext * ctx
Definition: movenc.c:48
AV_LOG_C
#define AV_LOG_C(x)
Sets additional colors for extended debugging sessions.
Definition: log.h:222
av_log
#define av_log(a,...)
Definition: tableprint_vlc.h:27