new function: set_stream_fds()
[paraslash.git] / server.ggo
index a7db080ae51c6c1e5b5244187acc8aca386aa94d..dd4e91ac476714581ad47f2df47f276dd8501d1e 100644 (file)
@@ -1,42 +1,44 @@
 section "General options"
-option "loglevel" l "set loglevel (0-6)" int typestr="level" default="4" no
-option "port" p "port to listen on" int typestr="portnumber" default="2990" no
+option "loglevel" l "set loglevel (0-6)" int typestr="level" default="4" optional
+option "port" p "port to listen on" int typestr="portnumber" default="2990" optional
 option "daemon" d "run as background daemon" flag off
-option "user" u "run as user 'name'. para_server does not need any special privileges. If started as root (EUID == 0) this option must be given at the command line (not in the configuration file) so that para_server can drop the root privileges right after parsing the command line options, but before parsing the configuration file. In this case, real/effective/saved UID are all set to the UID of 'username'. As the configuration file is read afterwards, those options that have a default value depending on the UID (e.g. the home directory for the configuration file) are computed by using the uid of 'username'. This option has no effect if para_server ist started as a non-root user (i.e.  EUID != 0)" string typestr="name" no
+option "user" u "run as user 'name'. para_server does not need any special privileges. If started as root (EUID == 0) this option must be given at the command line (not in the configuration file) so that para_server can drop the root privileges right after parsing the command line options, but before parsing the configuration file. In this case, real/effective/saved UID are all set to the UID of 'username'. As the configuration file is read afterwards, those options that have a default value depending on the UID (e.g. the home directory for the configuration file) are computed by using the uid of 'username'. This option has no effect if para_server ist started as a non-root user (i.e.  EUID != 0)" string typestr="name" optional
 
 section "Configuration files"
-option "logfile" L "(default=stdout/stderr)" string typestr="filename" no
-option "config_file" c "(default='~/.paraslash/server.conf'" string typestr="filename" no
-option "user_list" - "(default='~/.paraslash/server.users')" string typestr="filename" no
+option "logfile" L "(default=stdout/stderr)" string typestr="filename" optional
+option "config_file" c "(default='~/.paraslash/server.conf'" string typestr="filename" optional
+option "user_list" - "(default='~/.paraslash/server.users')" string typestr="filename" optional
 
-section "Options concerning the audio file sender"
+section "audio file sender"
 option "autoplay" a "start playing on startup" flag off
-option "announce_time" A "Delay betweeen announcing the stream and sending data" int typestr="milliseconds" default="300" no
-option "dbtool" D "(default=first available that works)" string typestr="name_of_dbtool" no
-
-section "Mysql database tool options"
-option "mysql_host" - "mysql server" string default="localhost" no
-option "mysql_port" - "where mysql is listening" int default="3306" no
-option "mysql_user" - "default value: username from /etc/passwd" string no
-option "mysql_passwd" - "(required)" string no
-option "mysql_database" - "name of mysql database" string default="paraslash" no
-option "mysql_audio_file_dir"  - "dir to search for audio files (required)" string no
-option "mysql_default_score" - "scoring rule to use if stream definition does not contain explicit score definition" string default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))" no
-
-
-
-section "Random database tool options"
-option "random_dbtool_dir" - "dir to search for files to be streamed" string default="/home/music" no
-
-section "Http sender options"
-option "http_port" - "tcp port for http streaming" int typestr="portnumber" default="8000" no
+option "announce_time" A "Delay betweeen announcing the stream and sending data" int typestr="milliseconds" default="300" optional
+option "selector" S "(default=random)" string typestr="name" optional
+
+section "mysql selector:"
+option "mysql_host" - "mysql server" string default="localhost" optional
+option "mysql_port" - "where mysql is listening" int default="3306" optional
+option "mysql_user" - "default value: username from /etc/passwd" string optional
+option "mysql_passwd" - "(required)" string optional
+option "mysql_database" - "name of mysql database" string default="paraslash" optional
+option "mysql_audio_file_dir"  - "dir to search for audio files (required)" string optional
+option "mysql_default_score" - "scoring rule to use if stream definition does not contain explicit score definition" string default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))" optional
+
+section "random selector"
+option "random_dir" - "dir to search for audio files" string default="/home/music" optional
+
+section "http sender"
+option "http_port" - "tcp port for http streaming" int typestr="portnumber" default="8000" optional
 option "http_default_deny" - "deny connections from hosts which are not explicitly allowed" flag off
-option "http_access" - "Add given host/network to access control list (whitelist if http_default_deny was given, blacklist otherwise) before opening the tcp port. This option can be given multiple times. Example: '192.168.0.0/24' whitelists/blacklists the 256 hosts 192.168.0.x" string typestr="a.b.c.d/n" no multiple
+option "http_access" - "Add given host/network to access control list (whitelist if http_default_deny was given, blacklist otherwise) before opening the tcp port. This option can be given multiple times. Example: '192.168.0.0/24' whitelists/blacklists the 256 hosts 192.168.0.x" string typestr="a.b.c.d/n" optional multiple
 option "http_no_autostart" - "do not open tcp port on server startup" flag off
-option "http_max_clients" - "maximal simultaneous connections, non-positive value means unlimited" int typestr="number" default="-1" no
+option "http_max_clients" - "maximal simultaneous connections, non-positive value means unlimited" int typestr="number" default="-1" optional
+
+section "dccp sender"
+option "dccp_port" - "port for dccp streaming" int typestr="portnumber" default="5001" optional
 
-section "Ortp sender options"
-option "ortp_target" - "Add given host/port to the list of targets. This option can be given multiple times. Example: '224.0.1.38:1500' instructs the ortp sender to send to udp port 1500 on host 224.0.1.38 (unassigned ip in the Local Network Control Block 224.0.0/24). This is useful for LAN-streaming." string typestr="a.b.c.d:p" no multiple
+section "ortp sender"
+option "ortp_target" - "Add given host/port to the list of targets. This option can be given multiple times. Example: '224.0.1.38:1500' instructs the ortp sender to send to udp port 1500 on host 224.0.1.38 (unassigned ip in the Local Network Control Block 224.0.0/24). This is useful for LAN-streaming." string typestr="a.b.c.d:p" optional multiple
 option "ortp_no_autostart" - "do not start to send automatically" flag off
-option "ortp_default_port" - "default udp port if not specified" int typestr="portnumber" default="1500" no
-option "ortp_header_interval" H "time between extra header sends" int typestr="milliseconds" default="2000" no
+option "ortp_default_port" - "default udp port if not specified" int typestr="portnumber" default="1500" optional
+option "ortp_header_interval" H "time between extra header sends" int typestr="milliseconds" default="2000" optional
+option "ortp_jitter_compensation" j "non-zero values enable ortp's adaptive jitter compensation" int typestr="milliseconds" default="400" optional