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