[FFmpeg-cvslog] ffmpeg: get rid of the 'q' key schizofrenia

Anton Khirnov git at videolan.org
Sat May 14 02:29:48 CEST 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu May 12 15:15:07 2011 +0200| [8fb566fdf839206584b1dec7da2eb9c9540108fa] | committer: Anton Khirnov

ffmpeg: get rid of the 'q' key schizofrenia

SIGINT for quitting should be enough for everybody.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8fb566fdf839206584b1dec7da2eb9c9540108fa
---

 Changelog |    1 +
 configure |    2 --
 ffmpeg.c  |   39 +++------------------------------------
 3 files changed, 4 insertions(+), 38 deletions(-)

diff --git a/Changelog b/Changelog
index 3d3fe6e..f78150e 100644
--- a/Changelog
+++ b/Changelog
@@ -8,6 +8,7 @@ version <next>:
 - fft and imdct optimizations for AVX (Sandy Bridge) processors
 - DPX image encoder
 - SMPTE 302M AES3 audio decoder
+- Remove support for quitting ffmpeg with 'q', ctrl+c should be used.
 
 
 version 0.7_beta1:
diff --git a/configure b/configure
index 126a6b5..d527ed1 100755
--- a/configure
+++ b/configure
@@ -1069,7 +1069,6 @@ HAVE_LIST="
     inet_aton
     inline_asm
     isatty
-    kbhit
     ldbrx
     libdc1394_1
     libdc1394_2
@@ -2792,7 +2791,6 @@ check_func  ${malloc_prefix}posix_memalign      && enable posix_memalign
 check_func  setrlimit
 check_func  strerror_r
 check_func  strtok_r
-check_func_headers conio.h kbhit
 check_func_headers io.h setmode
 check_func_headers lzo/lzo1x.h lzo1x_999_compress
 check_lib2 "windows.h psapi.h" GetProcessMemoryInfo -lpsapi
diff --git a/ffmpeg.c b/ffmpeg.c
index 1c1be7c..1def542 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -66,9 +66,6 @@
 #include <sys/select.h>
 #endif
 
-#if HAVE_KBHIT
-#include <conio.h>
-#endif
 #include <time.h>
 
 #include "cmdutils.h"
@@ -229,7 +226,6 @@ static int exit_on_error = 0;
 static int using_stdin = 0;
 static int verbose = 1;
 static int thread_count= 1;
-static int q_pressed = 0;
 static int64_t video_size = 0;
 static int64_t audio_size = 0;
 static int64_t extra_size = 0;
@@ -440,19 +436,9 @@ static void term_init(void)
 #endif
 }
 
-/* read a key without blocking */
-static int read_key(void)
-{
-#if HAVE_KBHIT
-    if(kbhit())
-        return(getch());
-#endif
-    return -1;
-}
-
 static int decode_interrupt_cb(void)
 {
-    return q_pressed || (q_pressed = read_key() == 'q');
+    return received_sigterm;
 }
 
 static int ffmpeg_exit(int ret)
@@ -1894,7 +1880,6 @@ static int transcode(AVFormatContext **output_files,
     AVInputStream *ist, **ist_table = NULL;
     AVInputFile *file_table;
     char error[1024];
-    int key;
     int want_sdp = 1;
     uint8_t no_packet[MAX_FILES]={0};
     int no_packet_count=0;
@@ -2456,14 +2441,8 @@ static int transcode(AVFormatContext **output_files,
         print_sdp(output_files, nb_output_files);
     }
 
-    if (!using_stdin && verbose >= 0) {
-#if HAVE_KBHIT
-        fprintf(stderr, "Press [q] to stop encoding\n");
-#else
+    if (verbose >= 0)
         fprintf(stderr, "Press ctrl-c to stop encoding\n");
-#endif
-        avio_set_interrupt_cb(decode_interrupt_cb);
-    }
     term_init();
 
     timer_start = av_gettime();
@@ -2477,15 +2456,6 @@ static int transcode(AVFormatContext **output_files,
     redo:
         ipts_min= 1e100;
         opts_min= 1e100;
-        /* if 'q' pressed, exits */
-        if (!using_stdin) {
-            if (q_pressed)
-                break;
-            /* read_key() returns 0 on EOF */
-            key = read_key();
-            if (key == 'q')
-                break;
-        }
 
         /* select the stream that we must read now by looking at the
            smallest output pts */
@@ -4372,10 +4342,7 @@ int main(int argc, char **argv)
 #endif
     av_register_all();
 
-#if HAVE_ISATTY
-    if(isatty(STDIN_FILENO))
-        avio_set_interrupt_cb(decode_interrupt_cb);
-#endif
+    avio_set_interrupt_cb(decode_interrupt_cb);
 
     init_opts();
 



More information about the ffmpeg-cvslog mailing list