|
|
|
@ -66,6 +66,7 @@ AVDictionary *swr_opts; |
|
|
|
|
AVDictionary *format_opts, *codec_opts, *resample_opts; |
|
|
|
|
|
|
|
|
|
static FILE *report_file; |
|
|
|
|
static int report_file_level = AV_LOG_DEBUG; |
|
|
|
|
int hide_banner = 0; |
|
|
|
|
|
|
|
|
|
void init_opts(void) |
|
|
|
@ -104,8 +105,10 @@ static void log_callback_report(void *ptr, int level, const char *fmt, va_list v |
|
|
|
|
av_log_default_callback(ptr, level, fmt, vl); |
|
|
|
|
av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix); |
|
|
|
|
va_end(vl2); |
|
|
|
|
fputs(line, report_file); |
|
|
|
|
fflush(report_file); |
|
|
|
|
if (report_file_level >= level) { |
|
|
|
|
fputs(line, report_file); |
|
|
|
|
fflush(report_file); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void (*program_exit)(int ret); |
|
|
|
@ -926,6 +929,13 @@ static int init_report(const char *env) |
|
|
|
|
av_free(filename_template); |
|
|
|
|
filename_template = val; |
|
|
|
|
val = NULL; |
|
|
|
|
} else if (!strcmp(key, "level")) { |
|
|
|
|
char *tail; |
|
|
|
|
report_file_level = strtol(val, &tail, 10); |
|
|
|
|
if (*tail) { |
|
|
|
|
av_log(NULL, AV_LOG_FATAL, "Invalid report file level\n"); |
|
|
|
|
exit_program(1); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
av_log(NULL, AV_LOG_ERROR, "Unknown key '%s' in FFREPORT\n", key); |
|
|
|
|
} |
|
|
|
|