recv: Use buffer tree API unconditionally.
[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>