Merge branch 't/misc'
authorAndre Noll <maan@systemlinux.org>
Sun, 30 Mar 2014 16:31:57 +0000 (18:31 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 30 Mar 2014 16:42:30 +0000 (18:42 +0200)
Various fixes, improvements, cleanups. Cooking since 2014-02-22.

* t/misc: (29 commits)
  build: Don't link with -lreadline if readline was not found.
  audiod: Skip NULL pointer check in compute_time_diff().
  audiod: Make compute_time_diff() return void.
  com_stat(): Remove pointless uptime variable.
  gcrypt: Fix gcc warning on Ubuntu Lucid.
  flac: Try to link also without -logg.
  version.c: Fix comment of version_single_line().
  doxygen: Expand all macros, in particular config.h.
  recv_common.c: Improve documentation of check_receiver_arg().
  audiod: get_time_string() comment fix.
  configure: Really print opus audio file handler if opus lib was found.
  Overhaul doxygen main page.
  afs.h: Don't try to list all supported audio formats.
  Change copyright year to 2014.
  Add link to sideband.h in doxygen main page.
  Doxify error2.c and add GPL header.
  Add -Wdeclaration-after-statement.
  Add some missing includes.
  Makefile.real: Add clean2 to the list of phony targets.
  mood.c: Fix a trivial whitespace issue.
  ...

30 files changed:
1  2 
NEWS
acl.c
afs.c
alsa_mix.c
audioc.c
audiod.c
audiod_command.c
client_common.c
command.c
configure.ac
crypt.c
crypt.h
crypt_backend.h
dccp_recv.c
dccp_send.c
error.h
fade.c
gcrypt.c
http_recv.c
http_send.c
m4/gengetopt/fade.m4
net.c
net.h
oss_mix.c
para.h
send_common.c
server.c
udp_recv.c
udp_send.c
vss.c

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,25 -1,10 +1,29 @@@
  NEWS
  ====
  
 ----------------------------------
 -0.5.2 (???) "orthogonal interior"
 ----------------------------------
 +---------------------------------------------
 +0.5.2 (to be announced) "orthogonal interior"
 +---------------------------------------------
  
- network code are the highlights of this release.
 +The new sync filter, the AES_CTR128 stream cipher and the overhauled
-       - Improvements to para_fade: the new set mode, multi-channal
++network code are the highlights of this release. It also includes a
++fair number of smaller fixes and improvements not mentioned here.
 +
 +      - The new sync filter synchronizes playback between multiple
 +        clients.
 +      - Connections between para_server and para_client are now
 +        encrypted by means of AES rather than RC4 if both sides
 +        support it. RC4 is still available as a fallback. This
 +        feature is fully transparent, i.e. no command line options
 +        are necessary, and a client linked against openssl can
 +        speak with a server linked against libgcrypt and vice versa.
 +      - Major cleanup of the networking subsystem.
++      - Improvements to para_fade: the new set mode, multi-channel
 +        initial volumes, better error logging.
++      - The man pages of para_audiod, para_filter, para_recv, and
++        para_write contain the relevant options for receivers, filters,
++        writers. This broke in 0.5.0.
 +      - Improved user manual.
        - Minor fixes to avoid clang warnings.
  
  ------------------------------------------
diff --cc acl.c
Simple merge
diff --cc afs.c
Simple merge
diff --cc alsa_mix.c
Simple merge
diff --cc audioc.c
Simple merge
diff --cc audiod.c
Simple merge
Simple merge
diff --cc client_common.c
Simple merge
diff --cc command.c
Simple merge
diff --cc configure.ac
Simple merge
diff --cc crypt.c
Simple merge
diff --cc crypt.h
Simple merge
diff --cc crypt_backend.h
Simple merge
diff --cc dccp_recv.c
Simple merge
diff --cc dccp_send.c
Simple merge
diff --cc error.h
Simple merge
diff --cc fade.c
Simple merge
diff --cc gcrypt.c
Simple merge
diff --cc http_recv.c
Simple merge
diff --cc http_send.c
Simple merge
Simple merge
diff --cc net.c
Simple merge
diff --cc net.h
Simple merge
diff --cc oss_mix.c
Simple merge
diff --cc para.h
Simple merge
diff --cc send_common.c
Simple merge
diff --cc server.c
+++ b/server.c
@@@ -6,65 -6,34 +6,36 @@@
  
  /** \file server.c Paraslash's main server. */
  
  /**
-  * \mainpage Starting points for getting an overview:
+  * \mainpage Main data structures:
   *
-  *    - The main programs: \ref server.c, \ref audiod.c, \ref client.c,
-  *      \ref audioc.c, \ref afh.c, \ref play.c,
   *    - Server: \ref server_command, \ref sender,
-  *    - Audio file selector: \ref audio_format_handler, \ref afs_table,
-  *    - Client: \ref receiver, \ref receiver_node, \ref filter,
-  *      \ref filter_node, \ref writer_node.
-  *
-  *
-  * The gory details, listed by topic:
-  *
-  *    - Audio format handlers: \ref send_common.c \ref mp3_afh.c,
-  *      \ref ogg_afh.c, \ref aac_afh.c, \ref wma_afh.c, \ref spx_afh.c
-  *    - Decoders: \ref mp3dec_filter.c, \ref oggdec_filter.c,
-  *      \ref aacdec_filter.c, \ref wmadec_filter.c, spxdec_filter.c,
-  *      \ref flacdec_filter.c,
-  *    - Volume normalizer: \ref compress_filter.c,
-  *    - Output: \ref alsa_write.c, \ref osx_write.c, \ref oss_write.c,
-  *    - http: \ref http_recv.c, \ref http_send.c,
-  *    - udp: \ref udp_recv.c, \ref udp_send.c,
-  *    - dccp: \ref dccp_recv.c, \ref dccp_send.c,
-  *    - Audio file selector: \ref afs.c, \ref aft.c, \ref mood.c,
-  *    - Afs structures: \ref afs_table, \ref audio_file_data,
-  *      \ref afs_info \ref afh_info,
-  *    - Afs tables: \ref aft.c, \ref mood.c, \ref playlist.c,
-  *      \ref attribute.c, \ref score.c,
-  *    - The virtual streaming system: \ref vss.c, \ref chunk_queue.c.
-  *
-  * Lower levels:
-  *
-  *    - Scheduling: \ref sched.c, \ref sched.h,
-  *    - Networking: \ref net.c,
-  *    - File descriptors: \ref fd.c,
-  *    - Signals: \ref signal.c,
-  *    - Daemons: \ref daemon.c,
-  *    - Strings: \ref string.c, \ref string.h,
+  *    - Audio file selector: \ref afs_info, \ref afs_table,
+  *    - Audio format handler: \ref audio_format_handler, \ref afh_info
+  *    - Receivers/filters/writers: \ref receiver, \ref receiver_node,
+  *      \ref filter, \ref filter_node, \ref writer_node, \ref writer.
+  *
+  * Selected APIs:
+  *
+  *    - Scheduling: \ref sched.h,
+  *    - Buffer trees: \ref buffer_tree.h,
+  *    - Sideband API: \ref sideband.h,
+  *    - Crypto: \ref crypt.h, \ref crypt_backend.h,
+  *    - Error subsystem: \ref error.h, \ref error2.c,
+  *    - Inter process communication: \ref ipc.h,
+  *    - Forward error correction: \ref fec.h,
+  *    - Daemons: \ref daemon.h,
+  *    - Mixer API: \ref mix.h,
+  *    - Interactive sessions: \ref interactive.h,
+  *    - File descriptors: \ref fd.h,
+  *    - Signals: \ref signal.h,
+  *    - Networking: \ref net.h,
   *    - Time: \ref time.c,
-  *    - Spawning processes: \ref exec.c,
-  *    - Inter process communication: \ref ipc.c,
-  *    - Blob tables: \ref blob.c,
-  *    - The error subsystem: \ref error.h.
-  *    - Access control for paraslash senders: \ref acl.c, \ref acl.h.
-  *    - Internal crypto API: \ref crypt.h.
-  *    - interactive sessions (libreadline): \ref interactive.c.
-  *
-  * Low-level data structures:
-  *
-  *    - Doubly linked lists: \ref list.h,
-  *    - Ring buffer: \ref ringbuffer.c, \ref ringbuffer.h,
-  *    - openssl: \ref crypt.c
-  *    - libgcrypt: \ref gcrypt.c
-  *    - Forward error correction: \ref fec.c.
+  *    - Doubly linked lists: \ref list.h.
   */
  
 +#include <netinet/in.h>
 +#include <sys/socket.h>
  #include <signal.h>
  #include <regex.h>
  #include <osl.h>
diff --cc udp_recv.c
Simple merge
diff --cc udp_send.c
Simple merge
diff --cc vss.c
Simple merge