From 39aafa5ee90e10382e2f991e4d79d7852231df68 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <michaelni@gmx.at> Date: Mon, 18 Apr 2011 13:10:52 +0200 Subject: [PATCH] ffmpeg:Daemon mode, add -d as first option to try it. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> --- ffmpeg.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ffmpeg.c b/ffmpeg.c index 06c8bed2f0c..94d3ede8310 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -235,6 +235,7 @@ static int audio_volume = 256; static int exit_on_error = 0; static int using_stdin = 0; static int verbose = 1; +static int daemon = 0; static int thread_count= 1; static int q_pressed = 0; static int64_t video_size = 0; @@ -444,7 +445,8 @@ static void term_exit(void) { av_log(NULL, AV_LOG_QUIET, ""); #if HAVE_TERMIOS_H - tcsetattr (0, TCSANOW, &oldtty); + if(!daemon) + tcsetattr (0, TCSANOW, &oldtty); #endif } @@ -461,6 +463,7 @@ sigterm_handler(int sig) static void term_init(void) { #if HAVE_TERMIOS_H + if(!daemon){ struct termios tty; tcgetattr (0, &tty); @@ -478,6 +481,7 @@ static void term_init(void) tcsetattr (0, TCSANOW, &tty); signal(SIGQUIT, sigterm_handler); /* Quit (POSIX). */ + } #endif signal(SIGINT , sigterm_handler); /* Interrupt (ANSI). */ @@ -496,6 +500,9 @@ static int read_key(void) struct timeval tv; fd_set rfds; + if(daemon) + return -1; + FD_ZERO(&rfds); FD_SET(0, &rfds); tv.tv_sec = 0; @@ -4266,6 +4273,10 @@ static int opt_preset(const char *opt, const char *arg) return 0; } +static void log_callback_null(void* ptr, int level, const char* fmt, va_list vl) +{ +} + static const OptionDef options[] = { /* main options */ #include "cmdutils_common_opts.h" @@ -4409,6 +4420,14 @@ int main(int argc, char **argv) av_log_set_flags(AV_LOG_SKIP_REPEATED); + if(argc>1 && !strcmp(argv[1], "-d")){ + daemon=1; + verbose=-1; + av_log_set_callback(log_callback_null); + argc--; + argv++; + } + avcodec_register_all(); #if CONFIG_AVDEVICE avdevice_register_all(); -- GitLab