diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-04-18 13:10:52 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-04-19 01:54:58 +0200 |
commit | 39aafa5ee90e10382e2f991e4d79d7852231df68 (patch) | |
tree | 8721405e698da72c4fe134c6300394a0de280d43 | |
parent | 17ee7b5515cd1006a1f7ba4a9cced14f6526c1b0 (diff) | |
download | ffmpeg-39aafa5ee90e10382e2f991e4d79d7852231df68.tar.gz |
ffmpeg:Daemon mode, add -d as first option to try it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | ffmpeg.c | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -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(); |