]> git.sesse.net Git - x264/commitdiff
Windows: restore previous console title after encoding
authorFiona Glaser <fiona@x264.com>
Sat, 5 Feb 2011 09:16:49 +0000 (01:16 -0800)
committerFiona Glaser <fiona@x264.com>
Mon, 7 Feb 2011 05:26:45 +0000 (21:26 -0800)
MSDN docs claim that SetConsoleTitle's effect is reverted when the process terminates, but this doesn't always work properly.
Accordingly, manually revert the console title at the end of encoding.

x264.c

diff --git a/x264.c b/x264.c
index aa4e7eaac17b08f7a45944c742dc7297c35edd3f..4a0f379b9ba0fc9cbe274db23e12b8ab076faca2 100644 (file)
--- a/x264.c
+++ b/x264.c
@@ -45,6 +45,7 @@
 #ifdef _WIN32
 #include <windows.h>
 #else
+#define GetConsoleTitle(t,n)
 #define SetConsoleTitle(t)
 #endif
 
@@ -1640,6 +1641,9 @@ static int encode( x264_param_t *param, cli_opt_t *opt )
     double  duration;
     double  pulldown_pts = 0;
     int     retval = 0;
+    char    UNUSED originalCTitle[200] = "";
+
+    GetConsoleTitle( originalCTitle, sizeof(originalCTitle) );
 
     opt->b_progress &= param->i_log_level < X264_LOG_DEBUG;
     i_update_interval = param->i_frame_total ? x264_clip3( param->i_frame_total / 1000, 1, 10 ) : 10;
@@ -1798,5 +1802,7 @@ fail:
                  (double) i_file * 8 / ( 1000 * duration ) );
     }
 
+    SetConsoleTitle( originalCTitle );
+
     return retval;
 }