+m4_define(PROGRAM, para_audiod)
+m4_define(DEFAULT_CONFIG_FILE, ~/.paraslash/audiod.conf)
+[suite audiod]
+version-string = GIT_VERSION()
+[supercommand para_audiod]
+ purpose = connect to para_server, receive, decode and play audio streams
+ [description]
+ para_audiod runs on a host with an audio device and connects
+ para_server to obtain status information and receive the current audio
+ stream. The stream is transformed through any number of filters and
+ then written to the configured output device.
+
+ Moreover, para_audiod listens on a local socket and sends status
+ information to local clients on request. Access to the local socket
+ can be restricted by means of Unix socket credentials, if available.
+ [/description]
+ m4_include(common-option-section.m4)
+ m4_include(help.m4)
+ m4_include(detailed-help.m4)
+ m4_include(version.m4)
+ m4_include(config-file.m4)
+ m4_include(loglevel.m4)
+ m4_include(logfile.m4)
+ m4_include(color.m4)
+ m4_include(log-timing.m4)
+ m4_include(daemon.m4)
+ m4_include(user.m4)
+ m4_include(group.m4)
+ m4_include(priority.m4)
+ m4_include(per-command-options-section.m4)
+ [option force]
+ summary = force startup
+ short_opt = F
+ [help]
+ If this flag is not given, para_audiod refuses to start if the
+ well-known socket file (see the --socket option) already exists
+ because this usually means that para_audiod is already running and
+ listening on that socket. After a crash or if para_audiod received
+ a SIGKILL signal, a stale socket file might remain and you have to
+ use --force once to force startup of para_audiod.
+ [/help]
+ [option mode]
+ summary = select startup mode
+ arg_info = required_arg
+ arg_type = string
+ typestr = mode
+ values = {AUDIOD_ON = "on", AUDIOD_OFF = "off", AUDIOD_STANDBY = "sb"}
+ default_val = on
+ [help]
+ para_audiod supports three modes of operation: On, off and standby
+ (sb). This option selects the mode that should be used at startup. If
+ mode is "on", para_audiiod connects para_server to receive status
+ information. If the server announces the availability of an audio
+ stream, para_audiod downloads, decodes and plays the audio stream
+ according to the given stream I/O options, see below.
+
+ In "standby" mode, para_audiod only receives the status information
+ from para_server but does not download the audio stream.
+
+ In "off" mode, para_audiod does not connect para_server at all,
+ but still listens on the local socket.
+ [/help]
+ [option socket]
+ short_opt = s
+ summary = path to the well-known socket
+ arg_info = required_arg
+ arg_type = string
+ typestr = path
+ [help]
+ para_audiod listens on a "well-known" socket for connections
+ from para_audioc. This socket is a special file in the file system;
+ its location defaults to /var/paraslash/audiod_sock.$hostname.
+
+ para_audioc, the client program used to connect to para_audiod,
+ opens this socket in order to talk to para_audiod. If the default
+ value for para_audiod is changed, para_audioc must be instructed to
+ use also <path> to connect para_audiod.
+ [/help]
+ [option user-allow]
+ summary = allow this user to connect to audiod
+ arg_info = required_arg
+ arg_type = string
+ typestr = username
+ [help]
+ Allow the user identified by username (either a string or a UID) to
+ connect to para_audiod. This option may be given multiple times. If
+ not specified at all, all users are allowed to connect.
+
+ This feature is based on the ability to send unix credentials through
+ local sockets using ancillary data (SCM_CREDENTIALS). Currently it
+ only works on Linux. On other operating systems the option is silently
+ ignored and all local users are allowed to connect.
+ [/help]
+ [option clock-diff-count]
+ summary = sync clock on startup
+ arg_info = required_arg
+ arg_type = uint32
+ typestr = count
+ [help]
+ Check the clock difference between the host running para_server and
+ the local host running para_audiod this many times before starting
+ any stream I/0. Set this to non-zero for non-local setups if the
+ clocks of these two hosts are not synchronized by ntp or similar.
+ [/help]
+ [option Stream-IO-options]
+ summary = Stream I/O options
+ flag ignored
+ [option receiver]
+ short_opt = r
+ summary = select receiver
+ arg_info = required_arg
+ arg_type = string
+ typestr = receiver_spec
+ default_val = http
+ flag multiple
+ [help]
+ This option may be given multiple times, for each audio format
+ separately. If multiple definitions for an audio format are given,
+ the first one is selected.
+
+ The <receiver_spec> consists of an audio format specifier and one or
+ more receiver arguments, separated by a colon.
+
+ The audio format specifier is a regular expression which specifies
+ the set of audio formats for which this option should apply.
+
+ If any receiver options are present, the whole receiver argument must
+ be quoted:
+
+ -r 'mp3:http -i my.host.org -p 8009'
+
+ Since a single dot '.' matches the name of any audio format, specifying
+ '.' instead of 'mp3' above activates the http receiver for all audio
+ formats.
+ [/help]
+ [option filter]
+ short_opt = f
+ summary = specify the filter configuration
+ arg_info = required_arg
+ arg_type = string
+ typestr = filter_spec
+ flag multiple
+ [help]
+ This option may be given multiple times. The <filter_spec< consists
+ of an audio format specifier (see above), the name of the filter,
+ and any options for that filter. Note that order matters.
+
+ The compiled-in defaults apply to all audio formats for which no
+ --filter option was given. These defaults depend on the receiver
+ being used.
+
+ For HTTP streams, only the decoder for the current audio format
+ is activated. UDP and DCCP streams, on the other hand, are sent
+ FEC-encoded by para_server. In order to play such streams, the
+ receiver output must be FEC-decoded first, i.e. fed to the fecdec
+ filter. Therefore the default for UDP and DCCP streams is to activate
+ the fecdec filter, followed by the decoding filter for the audio
+ format.
+
+ Examples:
+
+ --filter 'mp3:mp3dec'
+
+ --filter 'mp3|aac:compress --inertia 5 --damp 2'
+
+ --filter '.:fecdec'
+ [/help]
+ [option writer]
+ short_opt = w
+ summary = specify one or more stream writers
+ arg_info = required_arg
+ arg_type = string
+ typestr = writer_spec
+ flag multiple
+ [help]
+ May be given multiple times, even multiple times for the same audio
+ format. The default is to use the first supported writer. Example:
+
+ --writer 'aac|wma:oss'
+ [/help]
+ [option stream-delay]
+ summary = specify time interval for client sync
+ arg_info = required_arg
+ arg_type = uint32
+ typestr = count
+ [help]
+ Check the clock difference between the host running para_server and
+ the local host running para_audiod this many times before starting
+ any stream I/0. Set this to non-zero for non-local setups if the
+ clocks of these two hosts are not synchronized by ntp or similar.
+ [/help]