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