Move opt_loglevel() from ffmpeg.c to cmdutils.c.

Originally committed as revision 19209 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Stefano Sabatini 2009-06-16 23:09:03 +00:00
parent 77ddf4df94
commit 4c97a6fafa
3 changed files with 40 additions and 35 deletions

View File

@ -213,6 +213,41 @@ int opt_default(const char *opt, const char *arg){
return 0;
}
int opt_loglevel(const char *opt, const char *arg)
{
const struct { const char *name; int level; } const log_levels[] = {
{ "quiet" , AV_LOG_QUIET },
{ "panic" , AV_LOG_PANIC },
{ "fatal" , AV_LOG_FATAL },
{ "error" , AV_LOG_ERROR },
{ "warning", AV_LOG_WARNING },
{ "info" , AV_LOG_INFO },
{ "verbose", AV_LOG_VERBOSE },
{ "debug" , AV_LOG_DEBUG },
};
char *tail;
int level;
int i;
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++) {
if (!strcmp(log_levels[i].name, arg)) {
av_log_set_level(log_levels[i].level);
return 0;
}
}
level = strtol(arg, &tail, 10);
if (*tail) {
fprintf(stderr, "Invalid loglevel \"%s\". "
"Possible levels are numbers or:\n", arg);
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++)
fprintf(stderr, "\"%s\"\n", log_levels[i].name);
exit(1);
}
av_log_set_level(level);
return 0;
}
void set_context_opts(void *ctx, void *opts_ctx, int flags)
{
int i;

View File

@ -50,6 +50,11 @@ extern struct SwsContext *sws_opts;
*/
int opt_default(const char *opt, const char *arg);
/**
* Sets the libav* libraries log level.
*/
int opt_loglevel(const char *opt, const char *arg);
/**
* Parses a string and returns its corresponding value as a double.
* Exits from the application if the string cannot be correctly

View File

@ -2354,41 +2354,6 @@ static int opt_me_threshold(const char *opt, const char *arg)
return 0;
}
static int opt_loglevel(const char *opt, const char *arg)
{
const struct { const char *name; int level; } const log_levels[] = {
{ "quiet" , AV_LOG_QUIET },
{ "panic" , AV_LOG_PANIC },
{ "fatal" , AV_LOG_FATAL },
{ "error" , AV_LOG_ERROR },
{ "warning", AV_LOG_WARNING },
{ "info" , AV_LOG_INFO },
{ "verbose", AV_LOG_VERBOSE },
{ "debug" , AV_LOG_DEBUG },
};
char *tail;
int level;
int i;
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++) {
if (!strcmp(log_levels[i].name, arg)) {
av_log_set_level(log_levels[i].level);
return 0;
}
}
level = strtol(arg, &tail, 10);
if (*tail) {
fprintf(stderr, "Invalid loglevel \"%s\". "
"Possible levels are numbers or:\n", arg);
for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++)
fprintf(stderr, "\"%s\"\n", log_levels[i].name);
av_exit(1);
}
av_log_set_level(level);
return 0;
}
static int opt_verbose(const char *opt, const char *arg)
{
verbose = parse_number_or_die(opt, arg, OPT_INT64, -10, 10);