add configure options for libfaad
[paraslash.git] / server.ggo
1 section "General options"
2 #~~~~~~~~~~~~~~~~~~~~~~~~
3
4 option "loglevel" l
5 #~~~~~~~~~~~~~~~~~~
6
7 "set loglevel (0-6)"
8
9         int typestr="level"
10         default="4"
11         optional
12
13 option "port" p
14 #~~~~~~~~~~~~~~
15
16 "listening port"
17
18         int typestr="portnumber"
19         default="2990"
20         optional
21
22 option "daemon" d
23 #~~~~~~~~~~~~~~~~
24
25 "run as background daemon"
26
27         flag off
28
29 option "user" u
30 #~~~~~~~~~~~~~~
31
32 "run as user 'name'. para_server does not
33 need any special privileges. If started as
34 root (EUID == 0) this option must be given at
35 the command line (not in the configuration
36 file) so that para_server can drop the root
37 privileges right after parsing the command
38 line options, but before parsing the
39 configuration file. In this case,
40 real/effective/saved UID are all set to the
41 UID of 'username'. As the configuration file
42 is read afterwards, those options that have a
43 default value depending on the UID (e.g. the
44 directory for the configuration file) are
45 computed by using the uid of 'username'.
46 This option has no effect if para_server is
47 started as a non-root user (i.e.  EUID != 0)"
48
49         string typestr="name"
50         optional
51
52
53 option "group" g
54 #~~~~~~~~~~~~~~~
55
56 "set group id to according to 'group'. This
57 option is silently ignored if EUID != 0.
58 Otherwise, real/effective GID and the saved
59 set-group ID are all set to the GID given by
60 'group'. Must not be given in the config file."
61
62         string typestr="groupname"
63         optional
64
65
66
67 section "Configuration files"
68 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69
70
71 option "logfile" L
72 #~~~~~~~~~~~~~~~~~
73
74 "(default=stdout/stderr)"
75
76         string typestr="filename"
77         optional
78
79 option "config_file" c
80 #~~~~~~~~~~~~~~~~~~~~~
81
82 "(default='~/.paraslash/server.conf'"
83
84         string typestr="filename"
85         optional
86
87 option "user_list" -
88 #~~~~~~~~~~~~~~~~~~~
89
90 "(default='~/.paraslash/server.users')"
91
92         string typestr="filename"
93         optional
94
95
96
97 section "audio file sender"
98 #~~~~~~~~~~~~~~~~~~~~~~~~~~
99
100
101 option "autoplay" a
102 #~~~~~~~~~~~~~~~~~~
103
104 "start playing on startup"
105
106         flag off
107
108 option "announce_time" A
109 #~~~~~~~~~~~~~~~~~~~~~~~
110
111 "Delay betweeen announcing the stream and sending data"
112
113         int typestr="milliseconds"
114         default="300"
115         optional
116
117
118 option "selector" S
119 #~~~~~~~~~~~~~~~~~~
120
121 "(default=random)"
122
123         string typestr="name"
124         optional
125
126
127
128 section "mysql selector:"
129 #~~~~~~~~~~~~~~~~~~~~~~~~
130
131
132 option "mysql_host" -
133 #~~~~~~~~~~~~~~~~~~~~
134
135 "mysql server"
136
137         string typestr="ip or hostname"
138         default="localhost"
139         optional
140
141 option "mysql_port" -
142 #~~~~~~~~~~~~~~~~~~~~
143
144 "where mysql is listening"
145
146         int typestr="portnumber"
147         default="3306"
148         optional
149
150
151 option "mysql_user" -
152 #~~~~~~~~~~~~~~~~~~~~
153
154 "default value: username from /etc/passwd"
155
156         string typestr="username"
157         optional
158
159 option "mysql_passwd" -
160 #~~~~~~~~~~~~~~~~~~~~~~
161
162 "(required)"
163
164         string
165         optional
166
167 option "mysql_database" -
168 #~~~~~~~~~~~~~~~~~~~~~~~~
169
170 "name of mysql database"
171
172         string
173         default="paraslash"
174         optional
175
176 option "mysql_audio_file_dir"  -
177 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
178
179 "dir to search for audio files (required)"
180
181         string typestr="dirname"
182         optional
183
184 option "mysql_default_score" -
185 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
186
187 "scoring rule to use if stream definition
188 does not contain explicit score definition"
189
190         string
191         default="(LASTPLAYED() / 1440 - 1000 / (LASTPLAYED() + 1) - sqrt(NUMPLAYED()))"
192         optional
193
194
195
196
197 section "random selector"
198 #~~~~~~~~~~~~~~~~~~~~~~~~
199
200
201 option "random_dir" -
202 #~~~~~~~~~~~~~~~~~~~~
203
204 "dir to search for audio files"
205         string typestr="dirname"
206         default="/home/music"
207         optional
208
209
210
211
212 section "http sender"
213 #~~~~~~~~~~~~~~~~~~~~
214
215
216 option "http_port" -
217 #~~~~~~~~~~~~~~~~~~~
218
219 "tcp port for http streaming"
220
221         int typestr="portnumber"
222         default="8000"
223         optional
224
225 option "http_default_deny" -
226 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
227
228 "deny connections from hosts which are not
229 explicitly allowed"
230
231         flag off
232
233 option "http_access" -
234 #~~~~~~~~~~~~~~~~~~~~~
235
236 "Add given host/network to access control
237 list (whitelist if http_default_deny was
238 given, blacklist otherwise) before opening
239 the tcp port. This option can be given
240 multiple times. Example: '192.168.0.0/24'
241 whitelists/blacklists the 256 hosts
242 192.168.0.x"
243
244         string typestr="a.b.c.d/n"
245         optional
246         multiple
247
248 option "http_no_autostart" -
249 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
250
251 "do not open tcp port on server startup"
252
253         flag off
254
255 option "http_max_clients" -
256 #~~~~~~~~~~~~~~~~~~~~~~~~~~
257
258 "maximal simultaneous connections,
259 non-positive value means unlimited"
260
261         int typestr="number"
262         default="-1"
263         optional
264
265
266
267
268 section "dccp sender"
269 #~~~~~~~~~~~~~~~~~~~~
270
271
272 option "dccp_port" -
273 #~~~~~~~~~~~~~~~~~~~
274
275 "port for dccp streaming"
276
277         int typestr="portnumber"
278         default="5001"
279         optional
280
281
282
283
284 section "ortp sender"
285 #~~~~~~~~~~~~~~~~~~~~
286
287 option "ortp_target" -
288 #~~~~~~~~~~~~~~~~~~~~~
289
290 "Add given host/port to the list of targets.
291 This option can be given multiple times.
292 Example: '224.0.1.38:1500' instructs the ortp
293 sender to send to udp port 1500 on host
294 224.0.1.38 (unassigned ip in the Local
295 Network Control Block 224.0.0/24). This is
296 useful for LAN-streaming."
297
298         string typestr="a.b.c.d:p"
299         optional
300         multiple
301
302 option "ortp_no_autostart" -
303 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
304
305 "do not start to send automatically"
306
307         flag off
308
309 option "ortp_default_port" -
310 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
311
312 "default udp port if not specified"
313
314         int typestr="portnumber"
315         default="1500"
316         optional
317
318 option "ortp_header_interval" H
319 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
320
321 "time between extra header sends"
322
323         int typestr="milliseconds"
324         default="2000"
325         optional
326
327 option "ortp_jitter_compensation" j
328 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
329
330 "non-zero values enable ortp's adaptive
331 jitter compensation"
332
333         int typestr="milliseconds"
334         default="400"
335         optional