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