Rename struct audio format to audio_format_handler
[paraslash.git] / README
diff --git a/README b/README
index 872a0fa..017bc0c 100644 (file)
--- a/README
+++ b/README
@@ -8,23 +8,25 @@ It contains the following programs:
 
 - para_server (obligatory):
 
-       This server listens on a tcp port and accepts commands such as
-       play, stop, pause, next. However, there are many more commands.
+       This server supports audio streaming of mp3, ogg vorbis and
+       aac files.  It listens on a tcp port and accepts commands
+       such as play, stop, pause, next from authenticated clients.
 
-       For audio streaming, at least one sender must be activated.
-       At the moment, paraslash contains two internal senders:
+       The audio stream may be sent over the network by three
+       different senders:
 
        The http sender is recommended for public streams that can
        be played by any player like mpg123, xmms, winamp...
 
+       The dccp sender is experimental and requires kernel support
+       for the rather new datagram congestion control protocol.
+
        The ortp sender is recommended for LAN streaming and for
        private streams that require authentication.
 
        It is possible to activate more than one sender simultaneously.
-       All senders have the same set of commands that allow to
-       control the access permissions of the stream.
 
-       para_server needs an  "audio file selector" to work, mainly
+       para_server needs an "audio file selector" to work, mainly
        to determine which song to stream next. There are three
        selectors available: random, playlist and mysql. The former
        chooses audio files randomly and  playlist can handle, well,
@@ -40,45 +42,45 @@ It contains the following programs:
 
 - para_recv (optional)
 
-       A command line http/ortp stream grabber.
+       A command line http/dccp/rtp stream grabber.
 
 - para_filter (optional)
 
-       An filter program that converts from stdin and writes to
+       A filter program that converts from stdin and writes to
        stdout. This one is independent from the rest of paraslash,
        so it might be useful also for different purposes.
 
-       para_filter combines an mp3 decoder an oggvorbis decoder
+       para_filter combines several decoders (mp3, oggvorbis, aac)
        and a volume normalzer. New filters can be added easily due
        to the modular design. If more than one filter is specified,
        the given filters are 'piped' together in-memory, i.e. without
        calling any of the read(2)/write(2)/select(2) etc. functions.
 
-- para_play (optional)
+- para_write (obligatory)
 
-       A small wav/raw player for alsa.
+       A modular audio stream writer. It supports a simple file
+       writer output plugin and an optional wav/raw player for alsa.
        Debian package: libasound2-dev
 
 - para_audiod (optional, but recommended):
 
-       The local daemon that starts playback and collects information
-       from para_server to be forwarded to local clients.
-
-       para_audiod reads the audio stream from the network if
-       para_server indicates that there is a stream available. It may
-       be sent through any of the supported filters (see para_filter
-       above) before the result is fed to the output software
-       (default: para_play) which must be capable of reading from
-       stdin, but is not restricted otherwise.
+       The local daemon that collects information from para_server. It
+       starts an appropriate receiver, filter and player as soon
+       as para_server announces the availability (and the type) of
+       an audio stream. para_audiod listens on a local socket and
+       sends status information about para_server and para_audiod
+       to local clients on request.
 
 - para_audioc (optional, but recommended)
 
-       A small client that can talk to para_audiod. Used to control
-       para_audiod and to receive status info. It can also be used to
-       grab the stream at any point in the filter chain. para_audioc
-       is needed by para_gui, para_sdl_gui and para_krell, see below.
+       The client program which talks with para_audiod. Used to
+       control para_audiod, to receive status info, or to grab the
+       stream at any point in the filter chain.
+
+       para_audioc (hence para_audiod) is needed by para_gui,
+       para_sdl_gui and para_krell, see below.
 
-- para_gui (optional, but recommended):
+- para_gui (optional):
 
        Themable ncurses-based gui. It calls para_audioc and presents
        the obtained information in an ncurses window. para_gui
@@ -128,11 +130,8 @@ REQUIREMENTS:
 ~~~~~~~~~~~~~
 In any case you need
 
-       - gcc, the gnu compiler collection (shipped with distro): gcc-3
-       or newer is prefered, but gcc-2.95 is still supported. Note
-       that gcc-2.95 may spit out many warnings like unused function
-       parameters and missing initializers. These are all harmless
-       and may be ignored.
+       - gcc, the gnu compiler collection (shipped with distro): gcc-3.3
+       or newer is required.
 
        - openssl (needed by server, client): usually shipped with
        distro, but you might have to install the "development"
@@ -161,15 +160,19 @@ make sure to install the corresponding development package as well.
 If you want to stream ogg vorbis files you'll need:
 
        - libogg, libvorbis, libvorbisfile, and a command line ogg vorbis
-               player, e.g. para_filter or ogg123.
+       decoder, e.g. para_filter or ogg123.
 
                http://www.xiph.org/downloads/
 
 Debian packages: libogg-dev libvorbis-dev
 
-Note that para_audiod still works even if neither mp3 nor ogg support
-was compiled in. You'll have to use the --no_default_filters option
-in this case (and e.g. "mpg123 -" as the stream write command).
+For aac files (m4a) you'll need libfaad. Get it at
+
+       http://www.audiocoding.com/modules/wiki/?page=AAC
+
+Note that para_audiod still works even if no audio file support was
+compiled in. You'll have to use the --no_default_filters option in this
+case (and e.g. "mpg123 -" as the stream write command for mp3 streams).
 
 If you intend to use the optional ortp streamer:
 
@@ -210,12 +213,6 @@ LICENSE:
 ~~~~~~~~
 Distribution of paraslash is covered by the GNU GPL. See file COPYING.
 
-LIMITATIONS:
-~~~~~~~~~~~~
-The mysql selector assumes that the basenames of your audio files are
-unique. If this is not the case, don't use this selector, rename your
-files, or create your own one.
-
 THE AUTHOR:
 ~~~~~~~~~~~
 Author: Andre Noll <maan@systemlinux.org>