mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-19 05:40:56 +00:00
Make ffserver use parse_options().
Patch by Stefano Sabatini stefano sabatini-lala poste it Originally committed as revision 13219 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
cad2af9760
commit
5a635bc729
73
ffserver.c
73
ffserver.c
@ -59,6 +59,8 @@
|
||||
static const char program_name[] = "FFserver";
|
||||
static const int program_birth_year = 2000;
|
||||
|
||||
static const OptionDef options[];
|
||||
|
||||
/* maximum number of simultaneous HTTP connections */
|
||||
#define HTTP_MAX_CONNECTIONS 2000
|
||||
|
||||
@ -288,6 +290,7 @@ static int rtp_new_av_stream(HTTPContext *c,
|
||||
static const char *my_program_name;
|
||||
static const char *my_program_dir;
|
||||
|
||||
static const char *config_filename;
|
||||
static int ffserver_debug;
|
||||
static int ffserver_daemon;
|
||||
static int no_launch;
|
||||
@ -4303,17 +4306,6 @@ static int parse_ffconfig(const char *filename)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void show_help(void)
|
||||
{
|
||||
printf("usage: ffserver [-L] [-h] [-f configfile]\n"
|
||||
"Hyper fast multi format Audio/Video streaming server\n"
|
||||
"\n"
|
||||
"-L show license\n"
|
||||
"-h show help\n"
|
||||
"-f configfile use configfile instead of /etc/ffserver.conf\n"
|
||||
);
|
||||
}
|
||||
|
||||
static void handle_child_exit(int sig)
|
||||
{
|
||||
pid_t pid;
|
||||
@ -4339,10 +4331,38 @@ static void handle_child_exit(int sig)
|
||||
need_to_start_children = 1;
|
||||
}
|
||||
|
||||
static void opt_show_license(void)
|
||||
{
|
||||
show_license();
|
||||
exit(0);
|
||||
}
|
||||
|
||||
static void opt_debug()
|
||||
{
|
||||
ffserver_debug = 1;
|
||||
ffserver_daemon = 0;
|
||||
}
|
||||
|
||||
static void opt_show_help(void)
|
||||
{
|
||||
printf("usage: ffserver [options]\n"
|
||||
"Hyper fast multi format Audio/Video streaming server\n");
|
||||
printf("\n");
|
||||
show_help_options(options, "Main options:\n", 0, 0);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
static const OptionDef options[] = {
|
||||
{ "h", 0, {(void*)opt_show_help}, "show help" },
|
||||
{ "L", 0, {(void*)opt_show_license}, "show license" },
|
||||
{ "n", OPT_BOOL, {(void *)&no_launch }, "enable no-launch mode" },
|
||||
{ "d", 0, {(void*)opt_debug}, "enable debug mode" },
|
||||
{ "f", HAS_ARG | OPT_STRING, {(void*)&config_filename }, "use configfile instead of /etc/ffserver.conf", "configfile" },
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *config_filename;
|
||||
int c;
|
||||
struct sigaction sigact;
|
||||
|
||||
av_register_all();
|
||||
@ -4355,32 +4375,7 @@ int main(int argc, char **argv)
|
||||
my_program_dir = getcwd(0, 0);
|
||||
ffserver_daemon = 1;
|
||||
|
||||
for(;;) {
|
||||
c = getopt(argc, argv, "ndLh?f:");
|
||||
if (c == -1)
|
||||
break;
|
||||
switch(c) {
|
||||
case 'L':
|
||||
show_license();
|
||||
exit(0);
|
||||
case '?':
|
||||
case 'h':
|
||||
show_help();
|
||||
exit(0);
|
||||
case 'n':
|
||||
no_launch = 1;
|
||||
break;
|
||||
case 'd':
|
||||
ffserver_debug = 1;
|
||||
ffserver_daemon = 0;
|
||||
break;
|
||||
case 'f':
|
||||
config_filename = optarg;
|
||||
break;
|
||||
default:
|
||||
exit(2);
|
||||
}
|
||||
}
|
||||
parse_options(argc, argv, options, NULL);
|
||||
|
||||
putenv("http_proxy"); /* Kill the http_proxy */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user