roard(1) RoarAudio sound server

SYNOPSIS

roard [OPTIONS]...

DESCRIPTION

roard is the most common RoarAudio sound server. The RoarAudio sound server is the central component in a RoarAudio setup. It mixes up different audio streams from it's clients to send them to it's outputs. Such outputs include soundcards, monitoring clients, streaming servers and more.

GENERAL OPTIONS

NOTE: This list is incomplete!

--help
Print some help text.

--daemon
Go into background after startup.

--realtime
Ask for higher priority. May be used multiple times.

--memlock LEVEL
Sets default memory locking level to LEVEL.

Valid levels are:

none
No memory is locked at all.

low
Only very few (important) objects are locked in memory.

medium
Few (important) objects are locked in memory.

high
Many objects are locked in memory.

nearlyall
All known objects are locked in memory.

nearlyallsys
All known objects are locked in memory but also pages provided by the system like stack and heap.

allcur
All currently used pages are locked in memory.

all
All pages (including future allocated pages) are locked in memory.

default
Use defaults (the default).

A higher memlock level may result in memory allocations problems at runtime and even segfauls on some systems. (VM killed processes). Check your current system limits before altering this value.

--watchdog
Enable watchdog. This will terminate the daemon if something bad happened and it halted.

--watchdog-time TIME
Set watchdog time to TIME (in ms).

--pidfile PIDFILE
Asks the server to use the given pidfile. This is recommended.

--sysclocksync
Messure exact audio clock frequency based on system time. obsolete.

SERVER INFO

--location LOC
Sets lion-readable location of server. Examples: livingroom, room 32

--description DESC
Sets lion-readable description of server. Examples: Stereo, UKW Transmitter

--contact CONTACT
Sets contact information for the server.

--serial SERIAL
Sets the serial number for this device or server. This is normally only used by embedded systems.

--uiurl UIURL
Sets the URL of the user interface for this device or server. This is normally only used by embedded systems. It is common to set this to a URL of type HTTP but all protocols are considered valid. This includes ssh, telnet and others.

STARTUP AND SHUTDOWN

--start
Start a new server.

--stop
Stop the currently running server. See also --shutdown.

--restart
Stop the currently running server and start up a new server.

--shutdown
Terminates the currently running server after last client has quit. This is the most clean way to shutdown a running server as it does not kick any clients. This option must not be confused with --terminate.

--terminate
Auto terminates the new server after last client has quit. This option must not be confused with --shutdown.

--script-postdown S
Run script S after server shutdown. The script is passed to a shell. Any shell feature can be used within the string.

STANDBY MODE

--standby
Start in standby mode.

--auto-standby
Go into standby mode if no streams are active.

LOGGING

--verbose
Increment the verbosity level. Can be used multiple times.

--log-syslog
Log to syslog.

PLUGINS

--plugin-load FILENAME
Load the given plugin.

--plugin-args ARGS
Arguments for the plugin. (must be given before the --plugin-load).

--list-plugins
List loaded plugins.

SECURITY

--chroot DIR
Chroots to the given directory. This improves the security. This normally needs root privileg's.

USER AND GROUPS

--setgid
Sets GroupID to the audio group as specified via -G.

--setuid
Sets UserID to the audio user as specified via -U.

-G GROUP
Sets the group for the UNIX Domain Socket, (default: audio) You need the permittions to change the GID.

-U USER
Sets the user for the UNIX Domain Socket, (default: do not set) You need the permittions to change the UID (normally only root has).

AUTH OPTIONS

The following options control the access rights of connections. Some of them take an access level. The access level is one from the following list:
none
This is used to disable an authentication method.

idented
Used internally. Should not be used.

conctl
The client is only allowed to do some basic operations only affecting it's own connection.

guest
Guest access (read only). The client may list resources but not alter them.

user
Normal user. The client may create and alter most resources.

pwruser
Power User. The client can create and alter all resources and do all operation but operations which would break the POSIX right system. The user is not allowed to control the server itself like terminating it or alter (system) resources with the rights of the user runnung roard.

This is the access level a fully trusted user in a multi user setup should have.

all
The client can do everything. This includes operations which may alter system resources (like files) with the rights of the user running roard.

This accesslevel should be given to the user in case of a single user setup or root or some administrator in a multi user setup.

--guest-acclev ACCESSLEVEL
Sets the access level for guest connections. Set to "none" to disable guest access.

--trust-acclev ACCESSLEVEL
Sets the access level for clients authenticated by trust auth. Set to "none" to disable trust auth.

--trust-root
Trust root user.

--no-trust-root
Do not trust root user.

--authfile-gen FILE
Generate a new authfile with a fresh cookie.

--authfile-load FILE
Load all keys from a given authfile.

--authfile-type TYPE
Sets the type for the authfile.

--authfile-acclev ACCLEV
Sets the access level for the given authfile.

--new-authfile
Add another authfile.

AUDIO OPTIONS

--rate RATE, -R RATE
Set server sample rate.

--bits BITS, -B BITS
Set server bits.

--chans CHANNELS, -C CHANNELS
Set server channels.

--aiprofile PROFILE
Use a existing audio profile.

GENERAL STREAM OPTIONS

--stream-flags
Sets default flags for a given stream directions. Examples: play=-meta, bidir=+antiecho

DRIVER OPTIONS

--list-driver
Shows a list of all available drivers.

--driver, -d
This option is obsolete. Use -o instead.

--device, -D
This option is obsolete. Use -O instead.

--odriver, -o
Set the output driver. To get a list of all drivers use --list-driver.

--odevice, -O
Set the device for the output driver. Possible devices depends on the driver. They may be a path to a device node or a hostname. Use --list-driver to get a hint.

-oO
Sets options for the new stream. See STREAM OPTIONS.

-oN
Adds another output.

-oP
Marks the output primary.

SOURCE OPTIONS

--list-sources
List all supported sources.

--source, -s
Adds a source of the given type.

-S
Sets the device or filename for the source. Type may depend on the source type.

-sO
Sets options for the current source.

-sN
Adds another source.

-sP
Marks the source as primary. If the source reaches EOF roard will quit automatically.

HARDWARE MIXER OPTIONS

--list-mixers
List all supported hardware mixers.

--mixer, -m
Add a hardware mixer of given type.

-M
Sets the device used for the hardware mixer.

-mO
Sets options for the hardware mixer. See MIXER OPTIONS.

-mN
Adds another hardware mixer.

-mP
Marks the mixer primary.

CODEC FILTER

--list-cf
List all supported codecfilters and codecs.

MIDI OPTIONS

--midi-no-console
Disable console based MIDI synth.

--midi-console-enable
Enables console based MIDI synth.

--midi-console
Sets device for MIDI console. Example: /dev/console

--ssynth-enable
Enables simple software synth.

--ssynth-disable
Disables simple software synth.

LIGHT CONTROL OPTIONS

--light-channels
Sets the number of light channels. Examples: 512, 1024

RADIO DATA SYSTEM OPTIONS

--rds-pi
Sets the Programme Identification (PI).

--rds-ps
Sets the Programme Service Name (PS).

--rds-pty
Sets the Programme Type (PTY).

--rds-tp
Sets the Traffic Programme (TP) flag

--rds-ct
Enables sending of RDS Clock Time (CT).

X11 OPTIONS

--x11-display, --display
Sets the display to use.

--x11
Enable X11 support.

NETWORK OPTIONS

--tcp, -t
Sets defaults for TCP/IP Socket.

-4, -6
Use IPv4 or IPv6 mode.

-64
Try to downgrade IPv6 sockets into IPv4 sockets.

--unix, -u
Sets defaults for UNIX Domain Socket.

--decnet, -n
Sets defaults for DECnet Socket.

--port, -p
Sets the port the server should listen on.

--bind, -b, --sock
Sets the hostname or path the server should listen on.

--list-proto
List supported protocols.

--proto
Sets the protocol used for the listening socket.

--proto-dir, --proto-rate, --proto-bits, --proto-codec, --proto-chans, --proto-aiprofile
Set stream parameters for protocols needing stream options. Defaults to server defaults.

--list-profiles
List supported profiles.

--proto-profile Use the given profile for the listening socket.

--new-sock
Adds a new listening socket.

--no-listen
Do not listen for new clients (only useful for relaing, impleys --terminate).

--client-fh FH
Expects a client on the given FH. This may be useful with --no-listen.

--close-fh FH
Close the given FH. This is not useful for endusers but used internaly.

--jumbo-mtu
Sets the MTU for Jambo Packets.

OPENSLP OPTIONS

--slp
Enable OpenSLP support.

STREAM OPTIONS

rate
Sets the sample rate.

channels
Sets the number of channels.

bits
Sets the number of bits per sample.

codec
Sets the codec.

blocks
Sets the number of memory blocks that sould be used by the devices. Most devices only support a few values or don't support this option at all. If this option or the specifyed value is not supported by the device this is not handled as fatal error.

blocksize
Sets the size of the memory blocks used by the device. Most devices only support a few values or don't support this option at all. If this option or the specifyed value is not supported by the device this is not handled as fatal error.

meta
Sets the meta flag.

sync
Sets the sync flag.

primary
Marks this stream as primary.

cleanmeta
Sets the cleanmeta flag.

autoconf
Sets the autoconf flag. This flag is not supported by all drivers. If the flag is set and the devices does not support this there is no fatal error if the device could be opend with defaults.

Example:
rate=44100,bits=16,channels=2,codec=pcm,sync

MIXER OPTIONS

primary
Makes this stream as primary.

autoconf
Sets the autoconf flag.

passmixer
Sets the passmixer flag.

name
Sets the name for the device.

subs
Sets list of subdevices. This is driver specific.

ENVIRONMENT VARIABLES

HOME
The users home directory.

ROAR_SERVER
The address of the listening server. This may be in form of host:port for TCP/IP connections and /path/to/sock for UNIX Domain Sockets.

ROAR_DRIVER
The driver to select. Same as -d.

ROAR_DEVICE
The device to select. Same as -D.

BUGS

There are lots of bugs...

HISTORY

For history information see RoarAudio(7).