# HG changeset patch # User albeu # Date 1035297137 0 # Node ID 813dff319582033d1ed2b63b586adb9beeef1ba4 # Parent d19b80288fd11595858de5d46cc7fd7a30692fd0 New feature to let mplayer read commands from a file. Mostly useful with a fifo. Turn it one with -input file=/path/. diff -r d19b80288fd1 -r 813dff319582 input/input.c --- a/input/input.c Tue Oct 22 14:16:32 2002 +0000 +++ b/input/input.c Tue Oct 22 14:32:17 2002 +0000 @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -308,6 +309,9 @@ static char* js_dev = NULL; +static char* in_file = NULL; +static int in_file_fd = -1; + static int mp_input_print_key_list(config_t* cfg); static int mp_input_print_cmd_list(config_t* cfg); @@ -319,6 +323,7 @@ { "keylist", mp_input_print_key_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL }, { "cmdlist", mp_input_print_cmd_list, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL }, { "js-dev", &js_dev, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL }, + { "file", &in_file, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL }, { NULL, NULL, 0, 0, 0, 0, NULL} }; @@ -1282,6 +1287,19 @@ } #endif + if(in_file) { + struct stat st; + if(stat(in_file,&st)) + mp_msg(MSGT_INPUT,MSGL_ERR,"Can't stat %s: %s\n",in_file,strerror(errno)); + else { + in_file_fd = open(in_file,S_ISFIFO(st.st_mode) ? O_RDWR : O_RDONLY); + if(in_file_fd >= 0) + mp_input_add_cmd_fd(in_file_fd,1,NULL,(mp_close_func_t)close); + else + mp_msg(MSGT_INPUT,MSGL_ERR,"Can't open %s: %s\n",in_file,strerror(errno)); + } + } + } void