From 8fb566fdf839206584b1dec7da2eb9c9540108fa Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 12 May 2011 15:15:07 +0200 Subject: [PATCH] ffmpeg: get rid of the 'q' key schizofrenia SIGINT for quitting should be enough for everybody. --- Changelog | 1 + configure | 2 -- ffmpeg.c | 39 +++------------------------------------ 3 files changed, 4 insertions(+), 38 deletions(-) diff --git a/Changelog b/Changelog index 3d3fe6eb57..f78150e03e 100644 --- a/Changelog +++ b/Changelog @@ -8,6 +8,7 @@ version : - 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 126a6b551c..d527ed1974 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 1c1be7c193..1def5426af 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -66,9 +66,6 @@ #include #endif -#if HAVE_KBHIT -#include -#endif #include #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();