mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-06 07:40:00 +08:00
avtools: parse loglevel before all the other options.
This way it can be applied to cmdutils too -- e.g. showing the banner and printing startup messages.
This commit is contained in:
35
cmdutils.c
35
cmdutils.c
@ -304,6 +304,41 @@ void parse_options(void *optctx, int argc, char **argv, const OptionDef *options
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Return index of option opt in argv or 0 if not found.
|
||||
*/
|
||||
static int locate_option(int argc, char **argv, const OptionDef *options, const char *optname)
|
||||
{
|
||||
const OptionDef *po;
|
||||
int i;
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
const char *cur_opt = argv[i];
|
||||
|
||||
if (*cur_opt++ != '-')
|
||||
continue;
|
||||
|
||||
po = find_option(options, cur_opt);
|
||||
if (!po->name && cur_opt[0] == 'n' && cur_opt[1] == 'o')
|
||||
po = find_option(options, cur_opt + 2);
|
||||
|
||||
if ((!po->name && !strcmp(cur_opt, optname)) ||
|
||||
(po->name && !strcmp(optname, po->name)))
|
||||
return i;
|
||||
|
||||
if (!po || po->flags & HAS_ARG)
|
||||
i++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void parse_loglevel(int argc, char **argv, const OptionDef *options)
|
||||
{
|
||||
int idx = locate_option(argc, argv, options, "loglevel");
|
||||
if (idx && argv[idx + 1])
|
||||
opt_loglevel("loglevel", argv[idx + 1]);
|
||||
}
|
||||
|
||||
#define FLAGS (o->type == FF_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0
|
||||
int opt_default(const char *opt, const char *arg)
|
||||
{
|
||||
|
Reference in New Issue
Block a user