paraslash.git
14 years agofile writer pre_select() fixes.
Andre Noll [Tue, 5 Jan 2010 05:05:33 +0000 (06:05 +0100)]
file writer pre_select() fixes.

14 years agoalsa: Use new get_btr_* functions.
Andre Noll [Tue, 5 Jan 2010 05:05:11 +0000 (06:05 +0100)]
alsa: Use new get_btr_* functions.

14 years agoAdd get_btr_samplerate() and get_btr_channels().
Andre Noll [Tue, 5 Jan 2010 05:04:04 +0000 (06:04 +0100)]
Add get_btr_samplerate() and get_btr_channels().

These are needed by more than one writer.

14 years agowmadec: Reset converted on each iteration.
Andre Noll [Tue, 5 Jan 2010 02:51:20 +0000 (03:51 +0100)]
wmadec: Reset converted on each iteration.

wmadec does not work at all in btr mode without this fix.

14 years ago[btr] Split btr_del_node() into two functions.
Andre Noll [Tue, 5 Jan 2010 02:50:07 +0000 (03:50 +0100)]
[btr] Split btr_del_node() into two functions.

Also, close filter/receiver nodes in filter.c/recv.c instead of in
each post_select().

14 years agoIntroduce btr_node_status() and add btr support to the file writer.
Andre Noll [Tue, 5 Jan 2010 01:32:21 +0000 (02:32 +0100)]
Introduce btr_node_status() and add btr support to the file writer.

14 years agoAlsa improvement and fixes.
Andre Noll [Mon, 4 Jan 2010 22:11:32 +0000 (23:11 +0100)]
Alsa improvement and fixes.

Wait until pending frames are played.

The old code was buggy because snd_pcm_drain() always fails on a
non-blocking fd. We therefore called snd_pcm_close() while frames
for playback are still availabe, causing the last few frames being
skipped.

14 years agoIntroduce prepare_writer_node().
Andre Noll [Mon, 4 Jan 2010 22:02:42 +0000 (23:02 +0100)]
Introduce prepare_writer_node().

Unused yet.

14 years agoamp filter improvements.
Andre Noll [Mon, 4 Jan 2010 17:37:35 +0000 (18:37 +0100)]
amp filter improvements.

If amp == 0, this filter now splices itself out of the buffer tree.

14 years agostdin: Increase buffer size.
Andre Noll [Mon, 4 Jan 2010 06:28:12 +0000 (07:28 +0100)]
stdin: Increase buffer size.

This seems to make a big difference, the buffer size should definitely
be configurable.

14 years agoAdd btr support for the compress filter.
Andre Noll [Mon, 4 Jan 2010 06:26:56 +0000 (07:26 +0100)]
Add btr support for the compress filter.

14 years agobtr_add_output(): Fix memory leak in case node has no children.
Andre Noll [Sun, 3 Jan 2010 21:45:20 +0000 (22:45 +0100)]
btr_add_output(): Fix memory leak in case node has no children.

14 years agogeneric_filter_pre_select(): Fix off-by-one.
Andre Noll [Sun, 3 Jan 2010 21:44:40 +0000 (22:44 +0100)]
generic_filter_pre_select(): Fix off-by-one.

14 years agoAdd btr support for the amp filter.
Andre Noll [Sun, 3 Jan 2010 21:44:19 +0000 (22:44 +0100)]
Add btr support for the amp filter.

14 years ago[btr:] Add btr_log_tree().
Andre Noll [Sun, 3 Jan 2010 03:12:01 +0000 (04:12 +0100)]
[btr:] Add btr_log_tree().

14 years agoIntroduce and use generic_filter_pre_select().
Andre Noll [Sun, 3 Jan 2010 02:34:53 +0000 (03:34 +0100)]
Introduce and use generic_filter_pre_select().

14 years agoSimplify prepare_filter_node().
Andre Noll [Sun, 3 Jan 2010 02:27:40 +0000 (03:27 +0100)]
Simplify prepare_filter_node().

14 years agoIntroduce filter_node->min_iqs.
Andre Noll [Sun, 3 Jan 2010 02:23:03 +0000 (03:23 +0100)]
Introduce filter_node->min_iqs.

14 years ago[btr:] Rename btr_merge().
Andre Noll [Sun, 3 Jan 2010 02:09:01 +0000 (03:09 +0100)]
[btr:] Rename btr_merge().

14 years agoConsolidate decoder code by introducing prepare_filter_node().
Andre Noll [Sun, 3 Jan 2010 02:00:46 +0000 (03:00 +0100)]
Consolidate decoder code by introducing prepare_filter_node().

14 years agobtr support for the wmadec filter.
Andre Noll [Sat, 2 Jan 2010 23:22:56 +0000 (00:22 +0100)]
btr support for the wmadec filter.

14 years ago[btr]: Add btr_merge_to().
Andre Noll [Sat, 2 Jan 2010 23:22:25 +0000 (00:22 +0100)]
[btr]: Add btr_merge_to().

14 years agoAdd buffer tree support for the aacdec filter.
Andre Noll [Sat, 2 Jan 2010 22:03:54 +0000 (23:03 +0100)]
Add buffer tree support for the aacdec filter.

14 years agowrite_common: Introduce and use setup_writer_node().
Andre Noll [Thu, 31 Dec 2009 18:37:29 +0000 (19:37 +0100)]
write_common: Introduce and use setup_writer_node().

This makes para_write with no options work again.

14 years agoalsa: Kill unnecessary -B option.
Andre Noll [Thu, 31 Dec 2009 18:29:24 +0000 (19:29 +0100)]
alsa: Kill unnecessary -B option.

14 years agowrite.c: Fix cut'n'paste typo.
Andre Noll [Thu, 31 Dec 2009 17:39:25 +0000 (18:39 +0100)]
write.c: Fix cut'n'paste typo.

14 years agoAdd btr support to the oggdec filter.
Andre Noll [Thu, 31 Dec 2009 17:38:33 +0000 (18:38 +0100)]
Add btr support to the oggdec filter.

14 years agobtr: Fix a silly warning.
Andre Noll [Thu, 31 Dec 2009 17:37:41 +0000 (18:37 +0100)]
btr: Fix a silly warning.

14 years agoalsa: Defer asking for samplerate/channels until alsa init time.
Andre Noll [Thu, 31 Dec 2009 17:37:20 +0000 (18:37 +0100)]
alsa: Defer asking for samplerate/channels until alsa init time.

14 years agowrite: Parse command line options also in btr mode.
Andre Noll [Thu, 31 Dec 2009 15:18:35 +0000 (16:18 +0100)]
write: Parse command line options also in btr mode.

14 years agoAdd execute handler to struct writer.
Andre Noll [Thu, 31 Dec 2009 15:18:10 +0000 (16:18 +0100)]
Add execute handler to struct writer.

14 years agoalsa: Close writer in post_select() on errors/eof.
Andre Noll [Thu, 31 Dec 2009 15:13:53 +0000 (16:13 +0100)]
alsa: Close writer in post_select() on errors/eof.

14 years agobtr support for the prebuffer filter.
Andre Noll [Thu, 31 Dec 2009 04:28:00 +0000 (05:28 +0100)]
btr support for the prebuffer filter.

14 years agobtr_slice_out_node() cleanup.
Andre Noll [Thu, 31 Dec 2009 04:27:38 +0000 (05:27 +0100)]
btr_slice_out_node() cleanup.

14 years agoAdd btr support for the wav filter.
Andre Noll [Thu, 31 Dec 2009 03:36:23 +0000 (04:36 +0100)]
Add btr support for the wav filter.

14 years agofilter: Make btr mode understand command line options.
Andre Noll [Thu, 31 Dec 2009 03:35:57 +0000 (04:35 +0100)]
filter: Make btr mode understand command line options.

14 years agostdout: Misc cleanups.
Andre Noll [Thu, 31 Dec 2009 03:35:14 +0000 (04:35 +0100)]
stdout: Misc cleanups.

14 years agomp3dec: Fix EOF condition.
Andre Noll [Thu, 31 Dec 2009 03:34:50 +0000 (04:34 +0100)]
mp3dec: Fix EOF condition.

14 years agobuffer tree: Fix btr_splice_out_node().
Andre Noll [Thu, 31 Dec 2009 03:33:58 +0000 (04:33 +0100)]
buffer tree: Fix btr_splice_out_node().

14 years agoAdd execute support to mp3dec filter.
Andre Noll [Thu, 31 Dec 2009 01:16:25 +0000 (02:16 +0100)]
Add execute support to mp3dec filter.

14 years agoAdd btr support to filter code.
Andre Noll [Thu, 31 Dec 2009 01:04:01 +0000 (02:04 +0100)]
Add btr support to filter code.

A bit rough and only the mp3dec filter kind of works. Execute support
for mp3dec is also missing.

14 years agoFirst preparations for btr support in para_filter.
Andre Noll [Wed, 30 Dec 2009 00:38:26 +0000 (01:38 +0100)]
First preparations for btr support in para_filter.

14 years agopara_write: Make check for wav header work with btr.
Andre Noll [Tue, 29 Dec 2009 23:51:21 +0000 (00:51 +0100)]
para_write: Make check for wav header work with btr.

14 years agobuffer_tree: Add code to splice out a node of the buffer tree.
Andre Noll [Tue, 29 Dec 2009 21:53:07 +0000 (22:53 +0100)]
buffer_tree: Add code to splice out a node of the buffer tree.

14 years ago[btr]: Minor improvements and cleanups.
Andre Noll [Tue, 29 Dec 2009 21:51:29 +0000 (22:51 +0100)]
[btr]: Minor improvements and cleanups.

14 years agowrite/alsa: Add btr support.
Andre Noll [Tue, 29 Dec 2009 20:17:18 +0000 (21:17 +0100)]
write/alsa: Add btr support.

Not yet finished.

Supporting btr required some changes in the buffer tree code
as well.

14 years agowrite: Add --buffer-tree option.
Andre Noll [Tue, 29 Dec 2009 00:30:44 +0000 (01:30 +0100)]
write: Add --buffer-tree option.

Not yet used.

14 years agostdin.c: btr preparations.
Andre Noll [Tue, 29 Dec 2009 00:26:24 +0000 (01:26 +0100)]
stdin.c: btr preparations.

14 years agobtr: Make it kind of work for http recv + stdout.
Andre Noll [Mon, 28 Dec 2009 23:42:47 +0000 (00:42 +0100)]
btr: Make it kind of work for http recv + stdout.

14 years agostdout.c: Add a flag to activate buffer tree API.
Andre Noll [Mon, 28 Dec 2009 22:08:20 +0000 (23:08 +0100)]
stdout.c: Add a flag to activate buffer tree API.

Not used yet.

14 years agoFix http_recv.
Andre Noll [Mon, 28 Dec 2009 22:03:31 +0000 (23:03 +0100)]
Fix http_recv.

14 years agoRename buffer tree node field of struct receiver_node.
Andre Noll [Mon, 28 Dec 2009 21:54:30 +0000 (22:54 +0100)]
Rename buffer tree node field of struct receiver_node.

14 years agohttp_recv: Add buffer tree support.
Andre Noll [Mon, 28 Dec 2009 21:51:59 +0000 (22:51 +0100)]
http_recv: Add buffer tree support.

14 years agoAdd btr_bytes_pending().
Andre Noll [Mon, 28 Dec 2009 21:51:23 +0000 (22:51 +0100)]
Add btr_bytes_pending().

14 years agoLink buffer tree code also to audiod.
Andre Noll [Mon, 28 Dec 2009 21:50:51 +0000 (22:50 +0100)]
Link buffer tree code also to audiod.

14 years agoGenerate http_recv.ggo and include buffer_tree option.
Andre Noll [Mon, 28 Dec 2009 21:23:23 +0000 (22:23 +0100)]
Generate http_recv.ggo and include buffer_tree option.

14 years agorecv: Init and teardown btr node.
Andre Noll [Mon, 28 Dec 2009 21:09:34 +0000 (22:09 +0100)]
recv: Init and teardown btr node.

14 years agoAdd option for activating new buffer tree code to para_recv and para_write.
Andre Noll [Mon, 28 Dec 2009 20:58:11 +0000 (21:58 +0100)]
Add option for activating new buffer tree code to para_recv and para_write.

ATM this option is ignored.

14 years agoAdd a struct buffer_tree pointer to struct receiver_node.
Andre Noll [Mon, 28 Dec 2009 20:51:11 +0000 (21:51 +0100)]
Add a struct buffer_tree pointer to struct receiver_node.

14 years agoLink buffer_tree.o into para_recv and para_write.
Andre Noll [Mon, 28 Dec 2009 20:40:31 +0000 (21:40 +0100)]
Link buffer_tree.o into para_recv and para_write.

14 years agoAdd buffer_tree.h.
Andre Noll [Mon, 28 Dec 2009 20:33:29 +0000 (21:33 +0100)]
Add buffer_tree.h.

14 years ago[btr]: Minor documentation improvements.
Andre Noll [Mon, 28 Dec 2009 20:13:57 +0000 (21:13 +0100)]
[btr]: Minor documentation improvements.

14 years ago[btr]: Rename buffer_queue to input_queue.
Andre Noll [Sat, 26 Dec 2009 14:54:57 +0000 (15:54 +0100)]
[btr]: Rename buffer_queue to input_queue.

14 years agoFirst implementation of the buffer tree code.
Andre Noll [Sat, 26 Dec 2009 14:52:31 +0000 (15:52 +0100)]
First implementation of the buffer tree code.

14 years agonew codename, reset version to git
Andre Noll [Tue, 22 Dec 2009 13:00:54 +0000 (14:00 +0100)]
new codename, reset version to git

14 years agothe paraslash-0.4.1 release tarball
Andre Noll [Tue, 22 Dec 2009 12:57:29 +0000 (13:57 +0100)]
the paraslash-0.4.1 release tarball

14 years agoparaslash 0.4.1 v0.4.1
Andre Noll [Tue, 22 Dec 2009 12:55:10 +0000 (13:55 +0100)]
paraslash 0.4.1

14 years agoMinor documentation improvements.
Andre Noll [Tue, 22 Dec 2009 08:17:37 +0000 (09:17 +0100)]
Minor documentation improvements.

14 years agoAdd -lm to the audiod ldflags.
Andre Noll [Mon, 21 Dec 2009 18:27:10 +0000 (19:27 +0100)]
Add -lm to the audiod ldflags.

Depending on the set of installed (optional) libraries, para_audiod gets or
does not get automatically linked against the math library. However, we always
need this lib as the wma decoder is always supported and uses trigonometric
functions.

If -lm is not automatically included, linking fails with many errors of the form

imdct.c:79: error: 'cos_16' undeclared here (not in a function)

Fix this problem by explicitely adding -lm to audiod's ldflags, just as we
do for para_filter as well.

14 years ago__aligned is already defined on NetBSD.
Andre Noll [Mon, 21 Dec 2009 18:21:13 +0000 (19:21 +0100)]
__aligned is already defined on NetBSD.

Use __a_aligned in analogy to __a_unused which was introduced since __unused is
already defined on MacOS. This fixes the warning

gcc-compat.h:5:1: warning: "__aligned" redefined
In file included from /usr/include/regex.h:77,
 from daemon.c:9:
/usr/include/sys/cdefs.h:202:1: warning: this is the location of the previous definition

on NetBSD and has the additional advantage that it keeps working even if the
NetBSD people decide to redefine __aligned.

14 years agoFix another gcc warning on older Mac OS.
Andre Noll [Mon, 21 Dec 2009 13:30:34 +0000 (14:30 +0100)]
Fix another gcc warning on older Mac OS.

Fixes
wmadec_filter.c: In function 'wma_decode_superframe':
wmadec_filter.c:1182: warning: format '%zd' expects type 'signed size_t', but argument 6 has type 'int'

14 years agoMerge commit 'meins/master'
Andre Noll [Mon, 21 Dec 2009 10:45:02 +0000 (11:45 +0100)]
Merge commit 'meins/master'

14 years agowma: Fix two gcc warnings on Slow Leopard:
Andre Noll [Mon, 21 Dec 2009 10:35:43 +0000 (11:35 +0100)]
wma: Fix two gcc warnings on Slow Leopard:

Fixes

wma_common.c: In function 'search_pattern':
wma_common.c:41: warning: format '%u' expects type 'unsigned int', but argument 5 has type 'long int'
wma_common.c: In function 'find_audio_stream_info':
wma_common.c:59: warning: format '%0x' expects type 'unsigned int', but argument 4 has type 'long int'

The cast is neccessary because the type of a pointer difference is
implementation-defined...

14 years agoMerge branch 'maint'
Andre Noll [Sun, 20 Dec 2009 18:49:55 +0000 (19:49 +0100)]
Merge branch 'maint'

14 years agoaudiod: Invalidate the current audio format when closing the receiver.
Andre Noll [Sun, 20 Dec 2009 18:49:46 +0000 (19:49 +0100)]
audiod: Invalidate the current audio format when closing the receiver.

This avoids restarting the same receiver immediately as it causes audiod to
wait until the audio format status item is received again.

14 years agorecv_pattern(): Improve error diagnostics.
Andre Noll [Sun, 20 Dec 2009 18:46:05 +0000 (19:46 +0100)]
recv_pattern(): Improve error diagnostics.

It is good to know the string that was received, or the reason why nothing was
received.

14 years agoDoxyfile: Do not extract local structures.
Andre Noll [Sun, 20 Dec 2009 15:37:35 +0000 (16:37 +0100)]
Doxyfile: Do not extract local structures.

The generated documentation is already large enough. Let's focus on documenting
the important structures.

14 years agoDoxyfile: Predefine HAVE_UCRED.
Andre Noll [Sun, 20 Dec 2009 15:35:56 +0000 (16:35 +0100)]
Doxyfile: Predefine HAVE_UCRED.

Otherwise only the dummy functions are included in the documentation.

14 years agoNEWS update.
Andre Noll [Sun, 20 Dec 2009 15:34:59 +0000 (16:34 +0100)]
NEWS update.

14 years agoAdd missing description of struct coef_vlc_table.
Andre Noll [Sun, 20 Dec 2009 15:24:23 +0000 (16:24 +0100)]
Add missing description of struct coef_vlc_table.

14 years agoAdd documentation of struct vlc.
Andre Noll [Sun, 20 Dec 2009 15:23:56 +0000 (16:23 +0100)]
Add documentation of struct vlc.

14 years agowmadata.h: Remove unused member max_level from struct coef_vlc_table.
Andre Noll [Sun, 20 Dec 2009 15:03:53 +0000 (16:03 +0100)]
wmadata.h: Remove unused member max_level from struct coef_vlc_table.

14 years agoclient.h: Cosmetics.
Andre Noll [Sun, 20 Dec 2009 14:57:29 +0000 (15:57 +0100)]
client.h: Cosmetics.

14 years agostring.c: Add missing documentation.
Andre Noll [Sun, 20 Dec 2009 12:10:08 +0000 (13:10 +0100)]
string.c: Add missing documentation.

14 years agoAdd some missing FEC documentation.
Andre Noll [Sun, 20 Dec 2009 11:37:21 +0000 (12:37 +0100)]
Add some missing FEC documentation.

14 years agoAdd more documentation.
Andre Noll [Sat, 19 Dec 2009 20:04:56 +0000 (21:04 +0100)]
Add more documentation.

This adds documentation of load_afd(), aft_init(), enum play_mode, and enum
afs_server_code.

14 years agoMerge branch 'maint'
Andre Noll [Sat, 19 Dec 2009 15:50:39 +0000 (16:50 +0100)]
Merge branch 'maint'

14 years agoaudiod: Avoid starting the wrong decoder on server restarts.
Andre Noll [Sat, 19 Dec 2009 15:50:28 +0000 (16:50 +0100)]
audiod: Avoid starting the wrong decoder on server restarts.

If para_server is restarted and starts streaming using another audio format than
the one used before the restart, para_audiod might end up starting the decoder
associated with the old audio format.

Fix this by invalidating current_audio_format_num in close_stat_pipe() which is
called when the server goes away.

14 years agofecdec: Fix a double-free bug in clear_group().
Andre Noll [Sat, 19 Dec 2009 15:47:20 +0000 (16:47 +0100)]
fecdec: Fix a double-free bug in clear_group().

We must make sure fg->data isn't freed twice.

14 years agowmadec: Improve documentation of struct private_wmadec_data.
Andre Noll [Sat, 19 Dec 2009 15:40:42 +0000 (16:40 +0100)]
wmadec: Improve documentation of struct private_wmadec_data.

14 years agoDo not include dependency files if make command goals contain "clean".
Andre Noll [Sat, 19 Dec 2009 13:14:45 +0000 (14:14 +0100)]
Do not include dependency files if make command goals contain "clean".

Calling "make clean2" was particularly annoying because it first regenerated the
dependency files it is supposed to remove.

Unfortunately, this patch breaks multiple goals if one of them matches "clean".
For example "make clean all" does no longer work. But as this can easily be worked
around by calling "make clean && make all", we don't care.

14 years agoMerge remote branch 'fml/master'
Andre Noll [Sat, 19 Dec 2009 12:18:49 +0000 (13:18 +0100)]
Merge remote branch 'fml/master'

14 years agoMerge branch 'maint'
Andre Noll [Sat, 19 Dec 2009 12:15:39 +0000 (13:15 +0100)]
Merge branch 'maint'

Conflicts:
osx_write.c

14 years agohttp_send: Send http OK message earlier.
Andre Noll [Sat, 19 Dec 2009 12:13:53 +0000 (13:13 +0100)]
http_send: Send http OK message earlier.

Without this change, the http OK message is sent just when the vss is about to start
streaming, i.e. at the end of the announce interval. This might be too late and sometimes
causes the client to not receive the first chunk(s).

Fix this bug by adding the client file descriptor to the write fd set in http_preselect()
in case we received the get request (or something else) so that the following call
to select() will return immediately. The http OK message (or an error message) will
then be sent much earlier.

14 years agoNEWS update
Andre Noll [Sat, 19 Dec 2009 11:54:31 +0000 (12:54 +0100)]
NEWS update

14 years agoImplement --log-timing for server and audiod.
Andre Noll [Sat, 19 Dec 2009 11:54:08 +0000 (12:54 +0100)]
Implement --log-timing for server and audiod.

This adds another option to include milliseconds in the output of each log message.

14 years agoAvoid unnecessary regeneration of dependencies.
Andre Noll [Sat, 19 Dec 2009 00:19:18 +0000 (01:19 +0100)]
Avoid unnecessary regeneration of dependencies.

Change depend.sh so that it can handles foo.cmdline.h and cmdline/foo.cmdline.h
dependencies correctly. This way we no longer need to depend on $(cmdline_generated).

14 years agoMakefile.in: Fix typo in definition of all_objs.
Andre Noll [Fri, 18 Dec 2009 22:14:06 +0000 (23:14 +0100)]
Makefile.in: Fix typo in definition of all_objs.

Due to this typo, the all_objs variable did not contain the audiod objects which
could cause gcc to miscompile para_audiod.

14 years agoMerge branch 'maint'
Andre Noll [Thu, 10 Dec 2009 13:50:03 +0000 (14:50 +0100)]
Merge branch 'maint'

Conflicts:

osx_write.c

14 years agoosx_write: Make it compile on Snow Leopard.
Andre Noll [Wed, 9 Dec 2009 17:00:56 +0000 (18:00 +0100)]
osx_write: Make it compile on Snow Leopard.