Linux, you'll need to have ALSA's development package
libasound2-dev installed.
+ - XREFERENCE(http://downloads.xiph.org/releases/ao/,
+ libao). Needed to build the ao writer (ESD, PulseAudio,...).
+ Debian package: libao-dev.
+
Installation
~~~~~~~~~~~~
We will also have to tell para_audiod that it should receive the
-audio stream from server_host:
+audio stream from server_host via http:
- para_audiod -l info -r 'mp3:http -i server_host'
+ para_audiod -l info -r '.:http -i server_host'
You should now be able to listen to the audio stream once para_server
starts streaming. To activate streaming, execute
-> Create a minimal config for para_audiod for HTTP streams:
c=$HOME/.paraslash/audiod.conf.min; s=server.foo.com
- formats="mp3 ogg aac wma" # remove what you do not have
- for f in $formats; do echo receiver \"$f:http -i $s\"; done > $c
+ echo receiver \".:http -i $s\" > $c
para_audiod --config $c
-------
para_filter -f 'mp3dec --ignore-crc' -f 'compress --damp 1'
For para_audiod, each audio format has its own set of filters. The
-name of the audio format for which the filter should be applied is
-used as the prefix for the filter option. Example:
+name of the audio format for which the filter should be applied can
+be used as the prefix for the filter option. Example:
para_audiod -f 'mp3:prebuffer --duration 300'
+The "mp3" prefix above is actually interpreted as a POSIX extended
+regular expression. Therefore
+
+ para_audiod -f '.:prebuffer --duration 300'
+
+activates the prebuffer filter for all supported audio formats (because
+"." matches all audio formats) while
+
+ para_audiod -f 'wma|ogg:prebuffer --duration 300'
+
+activates it only for wma and ogg streams.
+
Decoders
~~~~~~~~
FEC parameters: The slice size, the number of data slices k, and the
total number of slices n. It is crucial to choose the slice size
such that no fragmentation of network packets takes place because
-FEC only guards against losses and reodering but fails if slices are
+FEC only guards against losses and reordering but fails if slices are
received partially.
FEC decoding in paralash is performed through the fecdec filter which
it through a sound device. It is supported on all platforms and is
always compiled in.
+*AO*. _Libao_ is a cross-platform audio library which supports a wide
+variety of platforms including PulseAudio (gnome), ESD (Enlightened
+Sound Daemon), AIX, Solaris and IRIX. The ao writer plays audio
+through an output plugin of libao.
+
Examples
~~~~~~~~
protocol, only minimal internal state about the connection is
maintained, which means that there is no protection against packet
loss or network congestion. Error checking and correction (if at all)
-are performed in the application.'
+are performed in the application.
*DCCP*. The _Datagram Congestion Control Protocol_ combines the
connection-oriented state maintenance known from TCP with the