From 4c97a6fafadc478465e584c691455a19d9c9ee66 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 16 Jun 2009 23:09:03 +0000 Subject: Move opt_loglevel() from ffmpeg.c to cmdutils.c. Originally committed as revision 19209 to svn://svn.ffmpeg.org/ffmpeg/trunk --- cmdutils.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'cmdutils.c') diff --git a/cmdutils.c b/cmdutils.c index bca7034fa7..3a84a14826 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -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; -- cgit v1.2.3