diff --git a/cmdutils.c b/cmdutils.c index ebbbe7fc37..934fd4c74d 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -834,10 +834,17 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg) }; char *tail; int level; + int flags; int i; + flags = av_log_get_flags(); tail = strstr(arg, "repeat"); - av_log_set_flags(tail ? 0 : AV_LOG_SKIP_REPEATED); + if (tail) + flags &= ~AV_LOG_SKIP_REPEATED; + else + flags |= AV_LOG_SKIP_REPEATED; + + av_log_set_flags(flags); if (tail == arg) arg += 6 + (arg[6]=='+'); if(tail && !*arg)