oggdec_parse_config(): Add some sanity checks.
[paraslash.git] / audiod.ggo
1 #########################
2 section "General options"
3 #########################
4
5 text "
6         These options are identical to their counterparts in para_server
7         and are discussed in detail there.
8 "
9
10 option "loglevel" l
11 #~~~~~~~~~~~~~~~~~~
12 "set loglevel (1-6)"
13 int typestr="level"
14 default="4"
15 optional
16
17 option "logfile" L
18 #~~~~~~~~~~~~~~~~~
19 "where to write log output"
20 string typestr="filename"
21 optional
22
23 option "daemon" d
24 #~~~~~~~~~~~~~~~~
25 "run as background daemon"
26 flag off
27 dependon="logfile"
28
29 option "user" u
30 #~~~~~~~~~~~~~~
31 "run as the given user"
32 string typestr="name"
33 optional
34
35 option "group" g
36 #~~~~~~~~~~~~~~~
37 "set group id"
38 string typestr="group"
39 optional
40
41 ########################
42 section "Audiod options"
43 ########################
44
45 option "force" F
46 #~~~~~~~~~~~~~~~
47 "force startup"
48 flag off
49 details="
50         If this flag is not given, para_audiod refuses to start if the
51         well-known socket file (see the --socket option) already exists
52         because this usually means that para_audiod is already running
53         and listening on that socket. After a crash or if para_audiod
54         received a SIGKILL signal, a stale socket file might remain and
55         you have to use --force once to force startup of para_audiod.
56 "
57
58 option "mode" m
59 #~~~~~~~~~~~~~~
60 "startup mode"
61 string typestr="mode"
62 default="on"
63 optional
64 details="
65         Para_audiod supports three modes of operation: On, off and
66         standby (sb).  This option selects the mode that should be
67         used on startup. If para_audiod operates in \"on\" mode, it
68         will connect to para_server in order to receive its status
69         information. If para_server announces the availability of an
70         audio stream, para_audiod will automatically download, decode
71         and play the audio stream according to the given stream I/O
72         options, see below.
73
74         In \"standby\" mode, para_audiod will only receive the
75         status information from para_server but will not download
76         the audio stream.
77
78         In \"off\" mode, para_audiod does not connect para_server at
79         all, but still listens on the local socket for connections.
80 "
81
82 option "socket" s
83 #~~~~~~~~~~~~~~~~
84 "well-known socket"
85 string typestr="filename"
86 optional
87 details="
88         Para_audiod uses a \"well-known\" socket to listen
89         on for connections from para_audioc. This socket is a
90         special file in the file system; its location defaults to
91         /var/paraslash/audiod_sock.<host_name>.
92
93         para_audioc, the client program used to connect to para_audiod,
94         opens this socket in order to talk to para_audiod.  If the
95         default value for para_audiod is changed, para_audioc must be
96         instructed to use also \"filename\" for connecting para_audiod.
97 "
98
99 option "user_allow" -
100 #~~~~~~~~~~~~~~~~~~~~
101 "allow thus uid"
102 int typestr="uid"
103 default="-1"
104 optional
105 multiple
106 details="
107         Allow the user identified by \"uid\" to connect to para_audiod.
108         May be specified multiple times. If not specified at all,
109         all users are allowed to connect.
110
111         This feature requires unix socket credentials and is currently
112         only supported on Linux systems. On other operating systems,
113         the option is silently ignored and all local users are allowed
114         to connect to para_audiod.
115 "
116
117 option "clock_diff_count" -
118 #~~~~~~~~~~~~~~~~~~~~~~~~~~
119 "sync clock on startup"
120 int typestr="count"
121 default="0"
122 optional
123 details="
124         Check the clock difference between the host running para_server
125         and the local host running para_audiod that many times before
126         starting any stream I/0. Set this to non-zero for non-local
127         setups if the clocks of these two hosts are not syncronized
128         by ntp or similar.
129 "
130
131 #############################
132 section "Stream I/O options"
133 #############################
134
135 option "receiver" r
136 #~~~~~~~~~~~~~~~~~~
137 "select receiver"
138 string typestr="receiver_spec"
139 default="http"
140 optional
141 multiple
142 details="
143         This option may be given multiple times, once for each
144         supported audio format. The \"receiver_spec\" consists of
145         an audio format and the receiver name, separated by a colon,
146         and any options for that receiver, seperated by whitespace.
147         If any receiver options are present, the whole receiver
148         argument must be quoted.
149
150         Example:
151
152                 -r 'mp3:http -i my.host.org -p 8009'
153 "
154
155
156 option "no_default_filters" D
157 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~
158 "Configure filters manually"
159 flag off
160 details="
161         If (and only if) this option is set, the --filter options
162         (see below) take effect.  Otherwise, the compiled-in default
163         filters mp3dec, oggdec and aacdec are activated for mp3, ogg,
164         aac streams respectively.
165 "
166
167 option "filter" f
168 #~~~~~~~~~~~~~~~~
169 "Use non-default filters"
170 string typestr="filter_spec"
171 optional
172 multiple
173 dependon="no_default_filters"
174 details="
175         This option may be given multiple times. The \"filter_spec\"
176         consists of an audio format, the name of the filter, and any
177         options for that filter. Mote that order matters.
178
179         Examples:
180
181                 --filter 'mp3:mp3dec'
182
183                 --filter 'mp3:compress --inertia 5 --damp 2'
184
185 "
186
187 option "writer" w
188 #~~~~~~~~~~~~~~~~
189 "Specify stream writer."
190 string typestr="writer_spec"
191 optional
192 multiple
193 details="
194         May be given multiple times, even multiple times for the same
195         audio format.  Default value is \"alsa\" for all supported
196         audio formats. Example:
197
198                 --writer 'aac:osx'
199
200 "
201
202 option "stream_delay" -
203 #~~~~~~~~~~~~~~~~~~~~~~
204 "time for client sync"
205 int typestr="milliseconds"
206 default="200"
207 optional
208 details="
209         Add the given amount of milliseconds to the stream start time
210         announced by para_server and do not send data to the writer
211         before that time (modulo clock difference).
212
213         This is useful mainly for syncronizing the audio output of
214         different clients.
215 "