|
@@ -66,6 +66,7 @@ AVDictionary *swr_opts;
|
|
|
AVDictionary *format_opts, *codec_opts, *resample_opts;
|
|
AVDictionary *format_opts, *codec_opts, *resample_opts;
|
|
|
|
|
|
|
|
static FILE *report_file;
|
|
static FILE *report_file;
|
|
|
|
|
+static int report_file_level = AV_LOG_DEBUG;
|
|
|
int hide_banner = 0;
|
|
int hide_banner = 0;
|
|
|
|
|
|
|
|
void init_opts(void)
|
|
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_default_callback(ptr, level, fmt, vl);
|
|
|
av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix);
|
|
av_log_format_line(ptr, level, fmt, vl2, line, sizeof(line), &print_prefix);
|
|
|
va_end(vl2);
|
|
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);
|
|
static void (*program_exit)(int ret);
|
|
@@ -926,6 +929,13 @@ static int init_report(const char *env)
|
|
|
av_free(filename_template);
|
|
av_free(filename_template);
|
|
|
filename_template = val;
|
|
filename_template = val;
|
|
|
val = NULL;
|
|
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 {
|
|
} else {
|
|
|
av_log(NULL, AV_LOG_ERROR, "Unknown key '%s' in FFREPORT\n", key);
|
|
av_log(NULL, AV_LOG_ERROR, "Unknown key '%s' in FFREPORT\n", key);
|
|
|
}
|
|
}
|