cmdutils: preserve unchanged log flags when setting AV_LOG_SKIP_REPEATED

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
tue46wsdgxfjrt 2014-02-27 16:36:09 -08:00 committed by Michael Niedermayer
parent b217dc91bf
commit 262ea965e7
1 changed files with 8 additions and 1 deletions

View File

@ -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)