]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/log.c
asf: split ASFContext into muxer and demuxer parts.
[ffmpeg] / libavutil / log.c
index ec16c67ad84bdc5ef4b0d92868746ed51dc0c8e2..6c9e76aa24bf9f63d3e42cc1ad7d4889f22e03c1 100644 (file)
@@ -55,16 +55,17 @@ static void colored_fputs(int level, const char *str){
 #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_NOCOLOR");
         if (use_color) {
             GetConsoleScreenBufferInfo(con, &con_info);
             attr_orig  = con_info.wAttributes;
             background = attr_orig & 0xF0;
         }
 #elif HAVE_ISATTY
-        use_color= getenv("TERM") && !getenv("NO_COLOR") && isatty(2);
+        use_color= !getenv("NO_COLOR") && !getenv("FFMPEG_FORCE_NOCOLOR") &&
+            (getenv("TERM") && isatty(2) || getenv("FFMPEG_FORCE_COLOR"));
 #else
-        use_color= 0;
+        use_color= getenv("FFMPEG_FORCE_COLOR") && !getenv("NO_COLOR") && !getenv("FFMPEG_FORCE_NOCOLOR");
 #endif
     }
 
@@ -86,7 +87,7 @@ void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl)
     static int print_prefix=1;
     static int count;
     static char line[1024], prev[1024];
-    static int detect_repeats;
+    static int is_atty;
     AVClass* avc= ptr ? *(AVClass**)ptr : NULL;
     if(level>av_log_level)
         return;
@@ -107,13 +108,13 @@ void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl)
     print_prefix= line[strlen(line)-1] == '\n';
 
 #if HAVE_ISATTY
-    if(!detect_repeats) detect_repeats= isatty(2) ? 1 : -1;
+    if(!is_atty) is_atty= isatty(2) ? 1 : -1;
 #endif
 
     if(print_prefix && (flags & AV_LOG_SKIP_REPEATED) && !strcmp(line, prev)){
         count++;
-        if(detect_repeats==1)
-        fprintf(stderr, "    Last message repeated %d times\r", count);
+        if(is_atty==1)
+            fprintf(stderr, "    Last message repeated %d times\r", count);
         return;
     }
     if(count>0){