include(header.m4)
define(CURRENT_PROGRAM,para_audiod)
define(DEFAULT_CONFIG_FILE,~/.paraslash/audiod.conf)
#########################
section "General options"
#########################
include(loglevel.m4)
include(color.m4)
include(config_file.m4)
include(logfile.m4)
include(log_timing.m4)
include(daemon.m4)
include(user.m4)
include(group.m4)
########################
section "Audiod options"
########################
option "force" F
#~~~~~~~~~~~~~~~
"force startup"
flag off
details="
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.
"
option "mode" m
#~~~~~~~~~~~~~~
"startup mode"
string typestr="mode"
default="on"
optional
details="
Para_audiod supports three modes of operation: On, off and
standby (sb). This option selects the mode that should be
used on startup. If para_audiod operates in \"on\" mode, it
will connect to para_server in order to receive its status
information. If para_server announces the availability of an
audio stream, para_audiod will automatically download, decode
and play the audio stream according to the given stream I/O
options, see below.
In \"standby\" mode, para_audiod will only receive the
status information from para_server but will not download
the audio stream.
In \"off\" mode, para_audiod does not connect para_server at
all, but still listens on the local socket for connections.
"
option "socket" s
#~~~~~~~~~~~~~~~~
"well-known socket"
string typestr="filename"
optional
details="
Para_audiod uses a \"well-known\" socket to listen
on for connections from para_audioc. This socket is a
special file in the file system; its location defaults to
/var/paraslash/audiod_sock..
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 \"filename\" for connecting para_audiod.
"
option "user_allow" -
#~~~~~~~~~~~~~~~~~~~~
"allow this uid"
int typestr="uid"
default="-1"
optional
multiple
details="
Allow the user identified by \"uid\" to connect to para_audiod.
May be specified multiple times. If not specified at all,
all users are allowed to connect.
This feature requires unix socket credentials and is currently
only supported on Linux systems. On other operating systems,
the option is silently ignored and all local users are allowed
to connect to para_audiod.
"
option "clock_diff_count" -
#~~~~~~~~~~~~~~~~~~~~~~~~~~
"sync clock on startup"
int typestr="count"
default="0"
optional
details="
Check the clock difference between the host running para_server
and the local host running para_audiod that 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.
"
#############################
section "Stream I/O options"
#############################
option "receiver" r
#~~~~~~~~~~~~~~~~~~
"select receiver"
string typestr="receiver_spec"
default="http"
optional
multiple
details="
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.
"
option "no_default_filters" D
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Configure filters manually"
flag off
details = "
If (and only if) this option is set, the --filter options
(see below) take effect. Otherwise, the compiled-in defaults
apply. These defaults depend on the receiver being used as
described below.
For http streams, only a single filter per audio format,
the decoder for that format, is activated. On the other hand,
since udp and dccp streams are sent fec-encoded by para_server,
the client side must feed the output of the receiver into
the fecdec filter first. Therefore the default for udp and
dccp streams is to activate the fecdec filter, followed by
the appropriate decoder.
You must give this option if you want to use any other filter,
for example the amp or the compress filter.
"
option "filter" f
#~~~~~~~~~~~~~~~~
"Use non-default filters"
string typestr="filter_spec"
optional
multiple
dependon="no_default_filters"
details="
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.
Examples:
--filter 'mp3:mp3dec'
--filter 'mp3|aac:compress --inertia 5 --damp 2'
--filter '.:fecdec'
"
option "writer" w
#~~~~~~~~~~~~~~~~
"Specify stream writer."
string typestr="writer_spec"
optional
multiple
details="
May be given multiple times, even multiple times for the same
audio format. Default value is \"alsa\" for all supported
audio formats. Example:
--writer 'aac|wma:oss'
"
option "stream_delay" -
#~~~~~~~~~~~~~~~~~~~~~~
"time for client sync"
int typestr="milliseconds"
default="200"
optional
details="
Add the given amount of milliseconds to the stream start time
announced by para_server and do not send data to the writer
before that time (modulo clock difference).
This is useful mainly for syncronizing the audio output of
different clients.
"