From patchwork Wed Mar 21 14:20:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tobias Rapp X-Patchwork-Id: 8070 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp5194019jad; Wed, 21 Mar 2018 07:21:05 -0700 (PDT) X-Google-Smtp-Source: AG47ELsPz6tw6ufxcCcvyKFM46Voq4opeqA4Vdd8IlQbS+ldvwQLj0LLTXLzG/VjSo53iIKoVJI8 X-Received: by 10.223.182.2 with SMTP id f2mr15259600wre.117.1521642065085; Wed, 21 Mar 2018 07:21:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521642065; cv=none; d=google.com; s=arc-20160816; b=xfSwbnUxMdsj6cttCRLSX/SKmVqR7BJn2v3tJXCEfOEnR8LEKJbmI/BG46i5lPhn2R fMDb0rqWevRXwkA/pXx2GwX0LJE4ChT4BX/cIci1zO85P3OKudcWR4flBwI0tOxXaK+T JDUavLpGc9WthYjNly/ROy0OQgoluhtb23o+cizG8y194G6EZLqjLPsFOhVGTuiMvgnM H16uOtiIaI9Ty/mkUDMkPzJC9X70P6+UT2arspA/uUhmBgGGk0ih69HnTwHxlQ9tbcWq th9UawLkK3Kd/2iCY8IpijLK5mJGV/MFySGvPGJe5kTIncoDXxyMBv2c24zdVrscKXK0 ZLjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:delivered-to:arc-authentication-results; bh=nsKZ3GaprvqOPx+Ck+wfGxfBXH0ID8Q+dz7twLeCVAE=; b=ffOhzNhCnMuW7XxhNpegbLJ8oSHyzp6TDotdLdMRdxmIvE7XSQFXIROQDHR2XC3gJp XhrLngQdTkHRNUZjGcDS04oqS++ThjR1wpUWOw/bOdp6Rn4hsv4CCFzhHAHtYC9uZEaa AtVzHXyU5WxvgzMTenqedmHG5l6S4G4z5TVikptsM+WGtTH4TikxrzX4noc58FuLuKye Ps2SI1kBzmrlbNyO30I850SlUMBfbMdLc18QykvSt3j21UybB5ATugzRFzGyuTw1FcFK PaUEYLpNayzZSakq7a7DUn8zmICOePBL1Dx3XmnX5JLFQDOLUSf1MVSZVq9lTU+9IIpq wX4Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e131si2889931wmg.242.2018.03.21.07.21.04; Wed, 21 Mar 2018 07:21:05 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D6E8C689ABD; Wed, 21 Mar 2018 16:20:47 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mx01.mail.netstorage.at (mx01.mail.netstorage.at [89.207.144.13]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 439776806BC for ; Wed, 21 Mar 2018 16:20:42 +0200 (EET) Received: from p1002.netstorage.at (p1002.netstorage.at [89.207.146.186]) by mx01.mail.netstorage.at (Postfix) with ESMTPS id E19C5A0037 for ; Wed, 21 Mar 2018 15:20:30 +0100 (CET) Received: from mailix (noaport.de [46.237.252.213]) by p1002.netstorage.at (Postfix) with ESMTPA id 83BF3818B9 for ; Wed, 21 Mar 2018 15:20:30 +0100 (CET) Received: from frogstar-a.kuhnle.local (frogstar-a.kuhnle.local [192.168.0.26]) by mailix with ESMTPA ; Wed, 21 Mar 2018 15:20:30 +0100 From: Tobias Rapp To: ffmpeg-devel@ffmpeg.org Date: Wed, 21 Mar 2018 15:20:30 +0100 Message-Id: <1521642030-22067-1-git-send-email-t.rapp@noa-archive.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1521017723-28753-1-git-send-email-t.rapp@noa-archive.com> References: <1521017723-28753-1-git-send-email-t.rapp@noa-archive.com> X-PPP-Message-ID: <20180321142030.28874.65735@p1002.netstorage.at> X-PPP-Vhost: noa-archive.com X-NetStorage-MailScanner-Information: Please contact the ISP for more information X-NetStorage-MailScanner-ID: E19C5A0037.A21A9 X-NetStorage-MailScanner: Found to be clean X-NetStorage-MailScanner-SpamCheck: not spam (whitelisted), SpamAssassin (nicht zwischen gespeichert, Wertung=-0.5, benoetigt 6, autolearn=not spam, BAYES_00 -0.50) X-NetStorage-MailScanner-From: t.rapp@noa-archive.com X-Spam-Status: No Subject: [FFmpeg-devel] [PATCH v2] fftools/cmdutils: add support for level flag in loglevel option parser X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Allows to manage the AV_LOG_PRINT_LEVEL flag as a prefix to the loglevel option value, similar to the existing AV_LOG_SKIP_REPEATED flag. Signed-off-by: Tobias Rapp --- doc/fftools-common-opts.texi | 11 +++++++---- fftools/cmdutils.c | 26 +++++++++++++++++++------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/doc/fftools-common-opts.texi b/doc/fftools-common-opts.texi index 185ec21..9b6bc44 100644 --- a/doc/fftools-common-opts.texi +++ b/doc/fftools-common-opts.texi @@ -168,14 +168,17 @@ The returned list cannot be assumed to be always complete. ffmpeg -sinks pulse,server=192.168.0.4 @end example -@item -loglevel [repeat+]@var{loglevel} | -v [repeat+]@var{loglevel} +@item -loglevel [repeat+][level+]@var{loglevel} | -v [repeat+][level+]@var{loglevel} Set the logging level used by the library. Adding "repeat+" indicates that repeated log output should not be compressed to the first line and the "Last message repeated n times" line will be omitted. "repeat" can also be used alone. -If "repeat" is used alone, and with no prior loglevel set, the default -loglevel will be used. If multiple loglevel parameters are given, using -'repeat' will not change the loglevel. +Adding "level+" indicates that log output should add a @code{[level]} prefix to +each message line. This can be used as an alternative to log coloring, e.g. when +dumping the log to file. +If "repeat" and/or "level" is used alone, and with no prior loglevel set, the +default loglevel will be used. If multiple loglevel parameters are given, using +'repeat'/'level' will not change the loglevel. @var{loglevel} is a string or a number containing one of the following values: @table @samp @item quiet, -8 diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 708a849..51fa88c 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -888,16 +888,28 @@ int opt_loglevel(void *optctx, const char *opt, const char *arg) flags = av_log_get_flags(); tail = strstr(arg, "repeat"); - if (tail) + if (tail == arg) { flags &= ~AV_LOG_SKIP_REPEATED; - else + arg += 6 + (arg[6] == '+'); + if (!*arg) { + av_log_set_flags(flags); + return 0; + } + } else { flags |= AV_LOG_SKIP_REPEATED; - + } + tail = strstr(arg, "level"); + if (tail == arg) { + flags |= AV_LOG_PRINT_LEVEL; + arg += 5 + (arg[5] == '+'); + if (!*arg) { + av_log_set_flags(flags); + return 0; + } + } else { + flags &= ~AV_LOG_PRINT_LEVEL; + } av_log_set_flags(flags); - if (tail == arg) - arg += 6 + (arg[6]=='+'); - if(tail && !*arg) - return 0; for (i = 0; i < FF_ARRAY_ELEMS(log_levels); i++) { if (!strcmp(log_levels[i].name, arg)) {