[FFmpeg-devel] [PATCH 3/5] avutil/log: fix detecting console mode on Win32

Marton Balint cus at passwd.hu
Sun Feb 2 23:15:32 EET 2020


A redirected stderr can still have a valid handle.

Signed-off-by: Marton Balint <cus at passwd.hu>
---
 libavutil/log.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavutil/log.c b/libavutil/log.c
index 64950016e8..6374050770 100644
--- a/libavutil/log.c
+++ b/libavutil/log.c
@@ -124,7 +124,10 @@ static void check_color_terminal(void)
 {
 #if defined(_WIN32) && HAVE_SETCONSOLETEXTATTRIBUTE && HAVE_GETSTDHANDLE
     CONSOLE_SCREEN_BUFFER_INFO con_info;
+    DWORD dummy;
     con = GetStdHandle(STD_ERROR_HANDLE);
+    if (con != INVALID_HANDLE_VALUE && !GetConsoleMode(con, &dummy))
+        con = INVALID_HANDLE_VALUE;
     use_color = (con != INVALID_HANDLE_VALUE) && !getenv("AV_LOG_FORCE_NOCOLOR");
     if (use_color) {
         GetConsoleScreenBufferInfo(con, &con_info);
-- 
2.16.4



More information about the ffmpeg-devel mailing list