drop_privileges_or_die(): Check return value of setuid().
[paraslash.git] / FEATURES
index 17d5051c81647e982e4c713ca09e65b36eb503d0..d054dfd1f1e01e989ea5dfd62b86dcebdc18505f 100644 (file)
--- a/FEATURES
+++ b/FEATURES
@@ -1,85 +1,27 @@
 Features
 ========
 
-configurable audio streaming software
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-       para_server streams binary audio data (mp3/ogg files) over
-       local or remote networks. It contains two built-in streamers:
-       the http streamer and the ortp streamer.
-
-       para_audiod runs on the client side and connects to
-       para_server. The audio stream is read back and sent through
-       any of paraslash's filters (mp3 decoder, ogg vorbis decoder,
-       volume normalizer,...) and the resulting stream is written to
-       an external program's standard in, usually an audio player,
-       like para_play that uses alsa. It is possible to grab the
-       stream at any position in the filter chain.
-
-       The receiving/filtering software is also available as
-       standalone command line tool: para_recv grabs the http or ortp
-       stream and writes to stdout; para_filter reads from stdin,
-       converts the stream according to the given --filter command
-       line options and writes the transformed stream to stdout.
-
-configurable audio file selectors:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-       There are three audio file selectors (aka "database tools")
-       available:
-
-               - random
-               - plm (playlist manager)
-               - mysql
-
-       The first two of these are rather simple, and they are always
-       supported. They allow streaming of randomly selected files
-       or files given by a playlist respectively.
-
-       The (optional) mysql selector is more involved. It manages
-       statistics on your audio files and audio file selection is
-       done by sending a user-defined sql-query to the mysql server.
-       This allows rather sophisticated configurations and is
-       explained in detail in README.mysql.
-
-       It is possible to switch between all supported selectors at
-       any time.
-
-small memory footprint:
-~~~~~~~~~~~~~~~~~~~~~~~
-       paraslash is lightweight. The stripped binary of para_server
-       with all its features compiled in (mysql/random dbtool,
-       mp3/ogg support, http/ortp support) is about 110K on i386
-       under Linux. para_audiod is even smaller.
-
-command line interface, including shell:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-       para_client without arguments starts interactive (shell)
-       mode. Otherwise, command is sent to para_server directly
-       and output is dumped to stdout. This can be used by any
-       scripting language to produce user interfaces with very little
-       programming effort.
-
-authentication/encryption via openssl:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-       All connections between para_server and para_client are
-       encrypted by default.  For each user of paraslash you must
-       create a public/secret key pair for authentication/encryption.
-
-various user interfaces and utilities:
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-       o para_gui. Curses based interface, displays information in a
-       curses window and can be used to easily control para_server
-       and para_audiod.
-
-       o para_sdl_gui. Shows pictures (on a per song basis) and
-       other information about the current audio file. Can be used
-       as a screen saver.
-
-       o para_krell. A gkrellm2 plugin that shows small pics and is
-       able to launch 27 different commands by clicking on the image.
-
-       o para_slider. User-friendly stream creator for people who
-       don't like their keyboard.
-
-       o para_dbadm. Simple curses interface for changing attributes.
-
-       o para_fade. Simple volume fader and alarm clock.
+------------------------------------------------------------------------------
+
+       * Runs on Linux, Mac OS, FreeBSD, NetBSD, Solaris and probably other
+         Unixes
+       * Mp3, ogg vorbis, aac(m4a) support
+       * Local or remote http, dccp, and udp network audio streaming
+       * IPv6 support
+       * Forward error correction allows receivers to recover from packet losses
+       * Volume normalizer
+       * Stream grabbing at any point in the filter chain
+       * Stand-alone command line receiver/decoder/normalizer/player
+       * Stand-alone audio format handler utility
+       * Sophisticated audio file selector
+       * Small memory footprint
+       * Command line interface for easy scripting in high-level languages
+       * RSA user authentication
+       * Encrypted communications
+       * GPL licensed
+       * Written in C
+       * Well documented
+       * Complete API-Reference
+       * Easily extendible due to its modular design
+       * Curses-based gui
+       * Volume fader and alarm clock