paraslash.git
11 years agoAdd some more derived files to .gitignore.
Andre Noll [Sun, 18 Jan 2009 01:19:00 +0000 (02:19 +0100)]
Add some more derived files to .gitignore.

11 years agoMove gengetopt targets to own Makefile.
Andre Noll [Sat, 17 Jan 2009 18:59:35 +0000 (19:59 +0100)]
Move gengetopt targets to own Makefile.

11 years agoMove ggo files to a separate directory.
Andre Noll [Sat, 17 Jan 2009 18:22:14 +0000 (19:22 +0100)]
Move ggo files to a separate directory.

11 years agoMove color logging code to daemon.c and use it also for para_audiod.
Andre Noll [Fri, 16 Jan 2009 18:28:57 +0000 (19:28 +0100)]
Move color logging code to daemon.c and use it also for para_audiod.

This patch also introduces the para_log() function of daemon.c so that
both para_server and para_audiod can use it.

11 years agoRename daemon_init() to daemonize().
Andre Noll [Thu, 15 Jan 2009 23:39:05 +0000 (00:39 +0100)]
Rename daemon_init() to daemonize().

11 years agoImplement colored logging for para_server.
Andre Noll [Thu, 15 Jan 2009 23:19:22 +0000 (00:19 +0100)]
Implement colored logging for para_server.

11 years agoLoglevel adjustments.
Andre Noll [Thu, 15 Jan 2009 23:18:20 +0000 (00:18 +0100)]
Loglevel adjustments.

11 years agoMake the loglevels start at zero.
Andre Noll [Thu, 15 Jan 2009 18:32:47 +0000 (19:32 +0100)]
Make the loglevels start at zero.

We want to use an array of size NUM_LOGLEVELS.

11 years agoPrefix loglevel macros with "LL_".
Andre Noll [Thu, 15 Jan 2009 17:47:53 +0000 (18:47 +0100)]
Prefix loglevel macros with "LL_".

11 years agoNEWS update.
Andre Noll [Thu, 15 Jan 2009 04:21:13 +0000 (05:21 +0100)]
NEWS update.

11 years agopara_fade: Add description of the three modes of operation.
Andre Noll [Thu, 15 Jan 2009 04:20:51 +0000 (05:20 +0100)]
para_fade: Add description of the three modes of operation.

Some other small improvements as well.

11 years agoAdd some missing source code documentation.
Andre Noll [Thu, 15 Jan 2009 03:58:05 +0000 (04:58 +0100)]
Add some missing source code documentation.

11 years agoImprove memory mapping.
Andre Noll [Mon, 12 Jan 2009 18:57:01 +0000 (19:57 +0100)]
Improve memory mapping.

para_mmap(): Do not exit on errors. Fix the only caller in vss.c
accordingly.

mmap_full_file(): Use para_mmap().

11 years agopara_fd_set(): Replace check for invalid fds by an assert().
Andre Noll [Mon, 12 Jan 2009 17:11:52 +0000 (18:11 +0100)]
para_fd_set(): Replace check for invalid fds by an assert().

11 years agoImprove SIGHUP handling for afs.
Andre Noll [Mon, 12 Jan 2009 16:34:19 +0000 (17:34 +0100)]
Improve SIGHUP handling for afs.

Make afs also reload the config file and reopen its log file. The old
code did not honor for example loglevel changes.

11 years agoCosmetics: Rename some functions.
Andre Noll [Mon, 12 Jan 2009 14:52:14 +0000 (15:52 +0100)]
Cosmetics: Rename some functions.

Add "_or_die" suffix to functions that exit on errors.

11 years agoVarious small cleanups and documentation improvements.
Andre Noll [Sun, 11 Jan 2009 23:43:21 +0000 (00:43 +0100)]
Various small cleanups and documentation improvements.

11 years agoMajor udp sender/receiver improvements.
Andre Noll [Sun, 11 Jan 2009 22:18:04 +0000 (23:18 +0100)]
Major udp sender/receiver improvements.

- Reserve some bytes in the udp header for future extensions.
- Simplify udp audio header reading/writing.
- Handle short reads in udp_recv.
- Extended sanity checks for the udp audio header.
- Fix a memory leak in the error path of udp_recv_open().

11 years agofilter_common: Fix error checking.
Andre Noll [Sun, 11 Jan 2009 22:16:01 +0000 (23:16 +0100)]
filter_common: Fix error checking.

task->error being a positive value should not be regarded as
an error condition.

11 years agovss barrier fixes.
Andre Noll [Sun, 11 Jan 2009 16:07:36 +0000 (17:07 +0100)]
vss barrier fixes.

This fixes some problems with --announce_time and --autoplay_delay.

11 years agoserver.c: Init the now timeval early.
Andre Noll [Sun, 11 Jan 2009 16:06:03 +0000 (17:06 +0100)]
server.c: Init the now timeval early.

It is used at least in init_vss() which gets called before schedule().

11 years agoSimplify udp_send.c.
Andre Noll [Sun, 11 Jan 2009 02:34:33 +0000 (03:34 +0100)]
Simplify udp_send.c.

It's enough to loop only once over all targets.

11 years agoAlways respect the data_send_barrier.
Andre Noll [Sun, 11 Jan 2009 02:33:08 +0000 (03:33 +0100)]
Always respect the data_send_barrier.

11 years agoImplement chunk queing for the udp sender.
Andre Noll [Sat, 10 Jan 2009 17:36:59 +0000 (18:36 +0100)]
Implement chunk queing for the udp sender.

11 years agoFix a bug in udp_send_buf().
Andre Noll [Sat, 10 Jan 2009 17:19:15 +0000 (18:19 +0100)]
Fix a bug in udp_send_buf().

In case multiple targets are defined and a write for one of them
fails, the old code would return early rather than continue to send
the chunk to the other targets.

11 years agoAdd chunk_queue infrastructure to the udp sender.
Andre Noll [Sat, 10 Jan 2009 17:15:18 +0000 (18:15 +0100)]
Add chunk_queue infrastructure to the udp sender.

The chunk queue is created and destroyed but not yet used.

11 years agoMake send_queued_chunks() public.
Andre Noll [Sat, 10 Jan 2009 17:03:24 +0000 (18:03 +0100)]
Make send_queued_chunks() public.

The udp sender will start to use it soon. Make it take the fd and
the chunk queue instead of a struct sender_client as the udp sender
does not use struct sender_client.

11 years agoupd_send: Add socket fd to close_on_fork list.
Andre Noll [Sat, 10 Jan 2009 16:56:30 +0000 (17:56 +0100)]
upd_send: Add socket fd to close_on_fork list.

11 years agoupd_send.c: Use write_nonblock() rather than write_all().
Andre Noll [Sat, 10 Jan 2009 16:09:16 +0000 (17:09 +0100)]
upd_send.c: Use write_nonblock() rather than write_all().

To this aim, move write_nonblock() from send_common.c to fd.c.

11 years agoFix an fd leak in udp_send.c.
Andre Noll [Sat, 10 Jan 2009 15:52:54 +0000 (16:52 +0100)]
Fix an fd leak in udp_send.c.

In case mark_fd_nonblocking() fails, the old code leaks an open fd.

11 years agoudp sender: Make ttl configurable.
Andre Noll [Sat, 10 Jan 2009 15:50:43 +0000 (16:50 +0100)]
udp sender: Make ttl configurable.

11 years agoudp sender/receiver improvements.
Andre Noll [Sat, 10 Jan 2009 02:48:55 +0000 (03:48 +0100)]
udp sender/receiver improvements.

11 years agoChange year of copyright from 2008 to 2009.
Andre Noll [Sat, 10 Jan 2009 00:53:18 +0000 (01:53 +0100)]
Change year of copyright from 2008 to 2009.

11 years agoReplace the ortp sender/receiver by the generic udp sender/receiver.
Andre Noll [Sat, 10 Jan 2009 00:37:49 +0000 (01:37 +0100)]
Replace the ortp sender/receiver by the generic udp sender/receiver.

The ortp code was broken for quite some time. The new code is smaller and
we drop the dependency on libortp.

11 years agoMerge commit 'meins/master'
Andre Noll [Fri, 9 Jan 2009 00:16:44 +0000 (01:16 +0100)]
Merge commit 'meins/master'

11 years agoFix typo in fade.ggo.
Andre Noll [Thu, 8 Jan 2009 14:35:34 +0000 (15:35 +0100)]
Fix typo in fade.ggo.

11 years agoaudiod: Implement --config-file option.
Andre Noll [Sun, 14 Dec 2008 12:03:48 +0000 (13:03 +0100)]
audiod: Implement --config-file option.

11 years agoaudiod: Include help for receivers/filter/writers in help output.
Andre Noll [Sun, 7 Dec 2008 11:21:48 +0000 (12:21 +0100)]
audiod: Include help for receivers/filter/writers in help output.

11 years agoMake functions for printing recv/filter/write help public.
Andre Noll [Sun, 7 Dec 2008 10:16:43 +0000 (11:16 +0100)]
Make functions for printing recv/filter/write help public.

So that these functions can also be used by audiod.

11 years agopara_afh: Accept more than one input file in info mode.
Andre Noll [Sun, 7 Dec 2008 09:45:33 +0000 (10:45 +0100)]
para_afh: Accept more than one input file in info mode.

11 years agoFix a typo in audiod.ggo.
Andre Noll [Sun, 7 Dec 2008 09:44:28 +0000 (10:44 +0100)]
Fix a typo in audiod.ggo.

11 years agoNEWS update.
Andre Noll [Sat, 6 Dec 2008 16:56:58 +0000 (17:56 +0100)]
NEWS update.

11 years agoImprove help/man page of para_recv.
Andre Noll [Sat, 6 Dec 2008 16:56:08 +0000 (17:56 +0100)]
Improve help/man page of para_recv.

11 years agoMerge commit 'meins/master'
Andre Noll [Sat, 6 Dec 2008 14:36:46 +0000 (15:36 +0100)]
Merge commit 'meins/master'

11 years agoAdd missing __printf_2_3 to all para_log functions.
Andre Noll [Sat, 6 Dec 2008 13:50:10 +0000 (14:50 +0100)]
Add missing __printf_2_3 to all para_log functions.

11 years agoRemove the .purpose and .help args from struct ggo_help.
Andre Noll [Sat, 6 Dec 2008 13:42:28 +0000 (14:42 +0100)]
Remove the .purpose and .help args from struct ggo_help.

11 years agoImprove help/man page of para_write.
Andre Noll [Sat, 6 Dec 2008 13:37:03 +0000 (14:37 +0100)]
Improve help/man page of para_write.

11 years agoImprove help/man page of para_filter.
Andre Noll [Sat, 6 Dec 2008 11:09:17 +0000 (12:09 +0100)]
Improve help/man page of para_filter.

This patch makes para_filter to tie together the help texts from
all its filters.

11 years agoNEWS update.
Andre Noll [Tue, 2 Dec 2008 17:02:08 +0000 (18:02 +0100)]
NEWS update.

11 years agoconfigure.ac: Fix $filter_cmdline_objs and $audiod_cmdline_objs.
Andre Noll [Tue, 2 Dec 2008 17:01:49 +0000 (18:01 +0100)]
configure.ac: Fix $filter_cmdline_objs and $audiod_cmdline_objs.

A previous patch added the new mp3dec_filter_cmdline object at
the wrong place.

11 years agoFix another gcc warning caused by PARA_MAX().
Andre Noll [Mon, 1 Dec 2008 20:54:35 +0000 (21:54 +0100)]
Fix another gcc warning caused by PARA_MAX().

Clean up ogg_compute_chunk_table() while we're at it.

11 years agoFix PARA_MAX().
Andre Noll [Mon, 1 Dec 2008 20:50:11 +0000 (21:50 +0100)]
Fix PARA_MAX().

Gimme that bag. Yes, the brown one. Quick.

11 years agoMerge commit 'fml/master'
Andre Noll [Mon, 1 Dec 2008 20:19:17 +0000 (21:19 +0100)]
Merge commit 'fml/master'

11 years agomp3dec: Only proceed decoding if at least 16K are available.
Andre Noll [Mon, 1 Dec 2008 20:18:41 +0000 (21:18 +0100)]
mp3dec: Only proceed decoding if at least 16K are available.

This is safe because the output buffer size is at least 32K.

11 years agoAdd command line support for mp3dec.
Andre Noll [Mon, 1 Dec 2008 20:16:21 +0000 (21:16 +0100)]
Add command line support for mp3dec.

ATM, --ignore-crc and --bufsize are the only supported options.

11 years agoReplace MAX, MIN, ABS macros by type-checking variants.
Andre Noll [Mon, 1 Dec 2008 15:51:37 +0000 (16:51 +0100)]
Replace MAX, MIN, ABS macros by type-checking variants.

Taken from the Linux kernel. These macros also evaluate each parameter
only once. Fix up all resulting gcc warnings.

11 years agoMerge commit 'meins/next'
Andre Noll [Mon, 1 Dec 2008 14:02:26 +0000 (15:02 +0100)]
Merge commit 'meins/next'

11 years agonew codename, reset version to git
Andre Noll [Mon, 1 Dec 2008 12:59:00 +0000 (13:59 +0100)]
new codename, reset version to git

11 years agothe paraslash-0.3.3 release tarball
Andre Noll [Mon, 1 Dec 2008 12:51:46 +0000 (13:51 +0100)]
the paraslash-0.3.3 release tarball

11 years agoparaslash 0.3.3 v0.3.3
Andre Noll [Mon, 1 Dec 2008 12:49:33 +0000 (13:49 +0100)]
paraslash 0.3.3

11 years agoInclude portable_io.h only when needed.
Andre Noll [Sun, 30 Nov 2008 23:26:57 +0000 (00:26 +0100)]
Include portable_io.h only when needed.

11 years agowav_filter: Use the functions from portable_io.h for writing the wav header.
Andre Noll [Sun, 30 Nov 2008 23:21:16 +0000 (00:21 +0100)]
wav_filter: Use the functions from portable_io.h for writing the wav header.

11 years agoRename filter_chain.c to filter_common.c.
Andre Noll [Sun, 30 Nov 2008 22:11:45 +0000 (23:11 +0100)]
Rename filter_chain.c to filter_common.c.

11 years agoRename filter source files.
Andre Noll [Sun, 30 Nov 2008 20:45:38 +0000 (21:45 +0100)]
Rename filter source files.

Some filters already had the _filter postfix, others had not. Rename
the latter just to be consistent.

11 years agoMerge branch 'master' into next
Andre Noll [Sun, 30 Nov 2008 20:15:29 +0000 (21:15 +0100)]
Merge branch 'master' into next

11 years agoCreate list of supported filters via autoconf.
Andre Noll [Sun, 30 Nov 2008 20:15:15 +0000 (21:15 +0100)]
Create list of supported filters via autoconf.

This allows to get rid of some CPP cruft in filter.h.

11 years agoconfigure.ac: Remove unused variable filter_filters.
Andre Noll [Sun, 30 Nov 2008 17:30:00 +0000 (18:30 +0100)]
configure.ac: Remove unused variable filter_filters.

11 years agoconfigure.ac: Remove amp_filter from set of executables.
Andre Noll [Sun, 30 Nov 2008 17:26:17 +0000 (18:26 +0100)]
configure.ac: Remove amp_filter from set of executables.

It is not an executable.

11 years agoMake filter config parsers return int.
Andre Noll [Sun, 30 Nov 2008 16:41:50 +0000 (17:41 +0100)]
Make filter config parsers return int.

This way, we can distinguish between syntax errors and invalid config
values (failed sanity checks).

11 years agooggdec_filter.ggo: Add more documentation.
Andre Noll [Sun, 30 Nov 2008 14:24:58 +0000 (15:24 +0100)]
oggdec_filter.ggo: Add more documentation.

11 years agooggdec_parse_config(): Add some sanity checks.
Andre Noll [Sun, 30 Nov 2008 14:23:46 +0000 (15:23 +0100)]
oggdec_parse_config(): Add some sanity checks.

11 years agowav: Only create wav header if there is output available.
Andre Noll [Sun, 30 Nov 2008 14:13:35 +0000 (15:13 +0100)]
wav: Only create wav header if there is output available.

Due to recent changes to filter_chain.c, the convert functions of all
activated filters are called even if there is no output availabe since
the ogg vorbis decoder needs this.

However, this change broke the wav filter: wav_convert() is now called
even if the previous filter (e.g. oggdec) has not yet determined the
format of the input stream.

This caused the wav filter to write out an invalid wav header with 0
channels. Fix it by not doing anything unless wav_convert() gets called
with non-empty input.

11 years agopara_server: Reformat help text of the --afs_database_dir option.
Andre Noll [Sun, 30 Nov 2008 00:18:01 +0000 (01:18 +0100)]
para_server: Reformat help text of the --afs_database_dir option.

This caused help2man to create a badly formated man page.

11 years agoAdd -Wmissing-noreturn to compiler flags.
Andre Noll [Sat, 29 Nov 2008 21:45:45 +0000 (22:45 +0100)]
Add -Wmissing-noreturn to compiler flags.

And mark all exit functions of gui.c with __noreturn.

11 years agoFix -Wdeclaration-after-statement warnings.
Andre Noll [Sat, 29 Nov 2008 21:20:47 +0000 (22:20 +0100)]
Fix -Wdeclaration-after-statement warnings.

This option is new in gcc-4, so do not activate it by default.

11 years agoImplement aac meta info support.
Andre Noll [Sat, 29 Nov 2008 20:26:53 +0000 (21:26 +0100)]
Implement aac meta info support.

11 years agoAvoid "no connection to para_server" message is server is stopped.
Andre Noll [Sat, 29 Nov 2008 13:34:22 +0000 (14:34 +0100)]
Avoid "no connection to para_server" message is server is stopped.

11 years agofilter: Call the convert function even if the input buffer is empty.
Andre Noll [Fri, 28 Nov 2008 23:58:03 +0000 (00:58 +0100)]
filter: Call the convert function even if the input buffer is empty.

At least the ogg vorbis decoder might still produce output in this
case.

11 years agoerror.h cleanups.
Andre Noll [Fri, 28 Nov 2008 23:05:29 +0000 (00:05 +0100)]
error.h cleanups.

11 years agoMerge commit 'fml/master'
Andre Noll [Fri, 28 Nov 2008 21:29:43 +0000 (22:29 +0100)]
Merge commit 'fml/master'

11 years agoafh_common.c: Add missing source code documentation.
Andre Noll [Fri, 28 Nov 2008 21:29:14 +0000 (22:29 +0100)]
afh_common.c: Add missing source code documentation.

Document afh_get_chunk() and make_taginfo().

11 years agowrite.h: Cosmetics.
Andre Noll [Fri, 28 Nov 2008 21:04:54 +0000 (22:04 +0100)]
write.h: Cosmetics.

11 years agooggdec: Keep decoding on imput EOF.
Andre Noll [Fri, 28 Nov 2008 20:56:29 +0000 (21:56 +0100)]
oggdec: Keep decoding on imput EOF.

This bug causes the last chunk of the input not written out under
certain circumstances.

11 years agoafh.c: Skip emtpy chunks.
Andre Noll [Fri, 28 Nov 2008 20:02:26 +0000 (21:02 +0100)]
afh.c: Skip emtpy chunks.

11 years agoFix a gcc warning in alsa_open() on x86_64.
Andre Noll [Fri, 28 Nov 2008 12:38:13 +0000 (13:38 +0100)]
Fix a gcc warning in alsa_open() on x86_64.

alsa_write.c:136: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'

11 years agoGet rid of a gcc warning on recent Ubuntu systems.
Andre Noll [Fri, 28 Nov 2008 12:07:08 +0000 (13:07 +0100)]
Get rid of a gcc warning on recent Ubuntu systems.

fchdir() is marked with warn_unused_result which produces a
warning in the error path of para_opendir(). However, we really
want to ignore the return value in this particular case, so introduce
a rather ugly fix to avoid the warning.

11 years agoCheck return value of write() in generic_signal_handler().
Andre Noll [Fri, 28 Nov 2008 12:04:30 +0000 (13:04 +0100)]
Check return value of write() in generic_signal_handler().

Abort if we could not write the signal number to the pipe (which
should never happen).

11 years agopara_write: Fix --bufsize.
Andre Noll [Tue, 25 Nov 2008 23:33:55 +0000 (00:33 +0100)]
para_write: Fix --bufsize.

The given value means kilobytes, rather than bytes. Add checks
for invalid values of the buffer size.

11 years agoalsa: Log info about the number of bytes per frame.
Andre Noll [Tue, 25 Nov 2008 23:28:45 +0000 (00:28 +0100)]
alsa: Log info about the number of bytes per frame.

11 years agoalsa: Improve chunk timings.
Andre Noll [Tue, 25 Nov 2008 23:27:55 +0000 (00:27 +0100)]
alsa: Improve chunk timings.

And get rid of magic constants.

11 years agopara_write: Fix --initial-delay.
Andre Noll [Tue, 25 Nov 2008 20:34:57 +0000 (21:34 +0100)]
para_write: Fix --initial-delay.

11 years agoREQUIREMENTS: Fix dead link to faad lib.
Andre Noll [Tue, 25 Nov 2008 17:22:03 +0000 (18:22 +0100)]
REQUIREMENTS: Fix dead link to faad lib.

11 years agoREADME.afs: Minor improvments and clarifications.
Andre Noll [Sat, 22 Nov 2008 22:24:38 +0000 (23:24 +0100)]
README.afs: Minor improvments and clarifications.

11 years agowrite_common.h: Kill an unused function declaration.
Andre Noll [Sat, 22 Nov 2008 21:36:48 +0000 (22:36 +0100)]
write_common.h: Kill an unused function declaration.

11 years agoMinor documentation improvements.
Andre Noll [Sat, 22 Nov 2008 21:36:22 +0000 (22:36 +0100)]
Minor documentation improvements.

11 years agoBetter error diagnostics for the mp3 decoder.
Andre Noll [Sat, 22 Nov 2008 20:37:34 +0000 (21:37 +0100)]
Better error diagnostics for the mp3 decoder.

11 years agohttp_recv: Fix reading of the HTTP OK message pattern.
Andre Noll [Sat, 22 Nov 2008 16:49:39 +0000 (17:49 +0100)]
http_recv: Fix reading of the HTTP OK message pattern.

This bug leads to sound artefacts at the beginning of the
stream caused by calling recv_pattern() with a buffer size
larger than the HTTP OK message.

It may thus happen that the buffer used by recv_pattern() contains
not only the HTTP OK message but also the beginning of the stream.
Since that buffer is discarded by recv_pattern(), the first few
bytes of the stream are lost if this happens.

Fix it by passing the exact length of the HTTP OK message to
recv_pattern().

11 years agoFix an off-by-one bug in recv_pattern().
Andre Noll [Sat, 22 Nov 2008 16:38:16 +0000 (17:38 +0100)]
Fix an off-by-one bug in recv_pattern().

The current code in recv_pattern() allocates a buffer of size
bufsize + 1 and calls recv_buffer() with bufsize as the size
parameter. However, recv_buffer() reserves the last byte of the
buffer for storing the terminating NULL byte, so that at most
bufsize - 1 characters are read.

Fix it by passing bufsize + 1 (the real size of the buffer)
to recv_buffer().

11 years agogui: Add the amplification value to output.
Andre Noll [Sun, 16 Nov 2008 19:20:56 +0000 (20:20 +0100)]
gui: Add the amplification value to output.

11 years agoNo need to check the return value of para_strdup().
Andre Noll [Sun, 16 Nov 2008 00:22:45 +0000 (01:22 +0100)]
No need to check the return value of para_strdup().