[FFmpeg-devel] Allow to force colored output

Etienne Buira etienne.buira.lists
Fri Dec 3 22:21:48 CET 2010


On Fri, Dec 03, 2010 at 06:51:49PM +0100, Michael Niedermayer wrote:
> On Mon, Nov 15, 2010 at 08:03:04AM +0100, Etienne Buira wrote:
> > On Mon, Nov 15, 2010 at 02:07:17AM +0100, Michael Niedermayer wrote:
> > > On Sun, Nov 14, 2010 at 05:09:31PM +0100, Etienne Buira wrote:
> > > > Hope this one is ok, feel free to adapt to your taste.
> > > 
> > > >  doc/fftools-common-opts.texi |    3 ++-
> > > >  libavutil/log.c              |    6 +++---
> > > >  2 files changed, 5 insertions(+), 4 deletions(-)
> > > > 8da2d1b26e1b73c92d454900f4d01e17c15e8266  ffmpeg_allow_to_force_colored_output_hns_w32s.diff
> > > > Index: libavutil/log.c
> > > > ===================================================================
> > > > --- libavutil/log.c	(revision 25751)
> > > > +++ libavutil/log.c	(working copy)
> > > > @@ -55,16 +55,16 @@
> > > >  #if defined(_WIN32) && !defined(__MINGW32CE__)
> > > >          CONSOLE_SCREEN_BUFFER_INFO con_info;
> > > >          con = GetStdHandle(STD_ERROR_HANDLE);
> > > > -        use_color = (con != INVALID_HANDLE_VALUE) && !getenv("NO_COLOR");
> > > > +        use_color = (con != INVALID_HANDLE_VALUE) && (!getenv("NO_COLOR") || getenv("FFMPEG_FORCE_COLOR"));
> > > 
> > > what does this do?
> > > the right side wont even be evaluated if NO_COLOR isnt set
> > 
> > Hi.
> > 
> > This just makes forcing color steps over if both NO_COLOR and
> > FFMPEG_FORCE_COLOR are set, but the priority can be set otherwise
> > dropping this line of diff.
> 
> pong

I start to understand why flies fu^W^Wbikeshedding is such a popular
word down here.

Anyway, this one makes NO_COLOR precedes forcing. If you have
objections, please adjust to your taste or state clearly what is wrong.
-------------- next part --------------
Index: libavutil/log.c
===================================================================
--- libavutil/log.c	(revision 25864)
+++ libavutil/log.c	(working copy)
@@ -62,9 +62,9 @@
             background = attr_orig & 0xF0;
         }
 #elif HAVE_ISATTY
-        use_color= getenv("TERM") && !getenv("NO_COLOR") && isatty(2);
+        use_color= !getenv("NO_COLOR") && (getenv("TERM") && isatty(2) || getenv("FFMPEG_FORCE_COLOR"));
 #else
-        use_color= 0;
+        use_color= getenv("FFMPEG_FORCE_COLOR") && !getenv("NO_COLOR");
 #endif
     }
 
Index: doc/fftools-common-opts.texi
===================================================================
--- doc/fftools-common-opts.texi	(revision 25864)
+++ doc/fftools-common-opts.texi	(working copy)
@@ -84,6 +84,7 @@
 
 By default the program logs to stderr, if coloring is supported by the
 terminal, colors are used to mark errors and warnings. Log coloring
-can be disabled setting the environment variable @env{NO_COLOR}.
+can be disabled setting the environment variable @env{NO_COLOR}, or can
+be forced setting the environment variable @env{FFMPEG_FORCE_COLOR}.
 
 @end table



More information about the ffmpeg-devel mailing list