paraslash.git
10 years agoconfigure: Check for broken snprintf().
Andre Noll [Thu, 11 Feb 2010 21:56:35 +0000 (22:56 +0100)]
configure: Check for broken snprintf().

We rely on a working snprintf implementation at several places, so abort early
of the system has no fully C99 compliant version.

10 years agoalsa: Remove xrun().
Andre Noll [Mon, 8 Feb 2010 13:46:48 +0000 (14:46 +0100)]
alsa: Remove xrun().

This function tried to compute the duration of the underun but never
really worked.  The values were more or less random (up to hundreds
of seconds) and thus of little value.

10 years agoFix a couple of memory leaks.
Andre Noll [Sat, 6 Feb 2010 23:23:47 +0000 (00:23 +0100)]
Fix a couple of memory leaks.

Found by valgrinds memory checker.

10 years agoFix make clean and make install.
Gerrit Renker [Wed, 3 Feb 2010 14:05:33 +0000 (15:05 +0100)]
Fix make clean and make install.

Commit 77aa6680 replaced the hardcoded list of binaries in Makefile.in
by the autoconf macro @executables@. However, the "install" and the
"clean" targets still used the now undefined $(BINARIES) variable. This
caused "make clean" to not remove any executables and "make install"
to fail with

/usr/bin/install -c -s -m 755  /usr/local/bin
/usr/bin/install: missing destination file operand after `/usr/local/bin'
Try `/usr/bin/install --help' for more information.

Fix this bug by using @executables@ rather than $(BINARIES).

10 years agoMerge branch 'maint'
Andre Noll [Sun, 31 Jan 2010 22:25:16 +0000 (23:25 +0100)]
Merge branch 'maint'

Conflicts:
recv_common.c

10 years agorecv: Don't set argv to NULL when parsing receiver args.
Andre Noll [Sun, 31 Jan 2010 22:16:15 +0000 (23:16 +0100)]
recv: Don't set argv to NULL when parsing receiver args.

This leads to error messages like

(null): unrecognized option '--foo'

in case an invalid option was given. Fix it by setting argv[0] to
the receiver name instead.

Thanks to Gerrit Renker for pointing out this bug.

10 years agoMerge remote branch 'fml/next'
Andre Noll [Sat, 30 Jan 2010 21:57:09 +0000 (22:57 +0100)]
Merge remote branch 'fml/next'

10 years agoclient: Remove the buffer tree node on errors.
Andre Noll [Sat, 30 Jan 2010 13:24:17 +0000 (14:24 +0100)]
client: Remove the buffer tree node on errors.

This fixes restarting of the status client task in case para_server is being restarted.

10 years agosched: Add sched_request_barrier_or_min_delay().
Andre Noll [Sat, 30 Jan 2010 13:22:32 +0000 (14:22 +0100)]
sched: Add sched_request_barrier_or_min_delay().

This is what some tasks need, so add this public function to the scheduler.

10 years agoaudiod: Split open_current_receiver().
Andre Noll [Sat, 30 Jan 2010 13:20:19 +0000 (14:20 +0100)]
audiod: Split open_current_receiver().

We need to check whether the current receiver should be opened from both
pre_select() and post_select(). So rename this function to must_start_decoder(),
make it return bool and do not start the decoder there.

This change makes audiod start the decoder as soon as possible.

10 years agoaudiod: Fix time diff log message.
Andre Noll [Sat, 30 Jan 2010 13:15:10 +0000 (14:15 +0100)]
audiod: Fix time diff log message.

The average time diff was always displayed as "+".

10 years agotime.c: tv_convex_combination() fixes.
Andre Noll [Sat, 30 Jan 2010 13:13:35 +0000 (14:13 +0100)]
time.c: tv_convex_combination() fixes.

Fix some typos, make it return zero if both coefficients are zero.

10 years agowma: Defer decoding until two data blocks are available.
Andre Noll [Sat, 30 Jan 2010 13:07:03 +0000 (14:07 +0100)]
wma: Defer decoding until two data blocks are available.

This avoids buffer underruns caused by frames that span two blocks.

10 years agoAdd buffer tree support for the osx writer.
Andre Noll [Wed, 27 Jan 2010 11:56:06 +0000 (12:56 +0100)]
Add buffer tree support for the osx writer.

Fix makes paraslash build again on Max OS.

10 years agoaudiod: Request a minimal delay if the status buffer tree node is in error state.
Andre Noll [Sat, 23 Jan 2010 13:29:57 +0000 (14:29 +0100)]
audiod: Request a minimal delay if the status buffer tree node is in error state.

This happens during startup and causes a large delay.

10 years ago[btr] Complete source code documentation.
Andre Noll [Tue, 19 Jan 2010 11:38:29 +0000 (12:38 +0100)]
[btr] Complete source code documentation.

10 years ago[btr] Add more documentation.
Andre Noll [Tue, 19 Jan 2010 01:44:40 +0000 (02:44 +0100)]
[btr] Add more documentation.

10 years agoconfigure.ac: Remove some unused AC_SUBST() exports.
Andre Noll [Tue, 19 Jan 2010 00:54:29 +0000 (01:54 +0100)]
configure.ac: Remove some unused AC_SUBST() exports.

10 years agoconfigure: Don't mention the list of supported senders/receivers.
Andre Noll [Tue, 19 Jan 2010 00:38:28 +0000 (01:38 +0100)]
configure: Don't mention the list of supported senders/receivers.

It is the constant list http, dccp, udp.

10 years agoDon't hardcode the list of executables in Makefile.in.
Andre Noll [Tue, 19 Jan 2010 00:21:32 +0000 (01:21 +0100)]
Don't hardcode the list of executables in Makefile.in.

Just export the list via the $all_executables variable from configure.ac. Rename it to
$ececutables while we're at it and remove two unused variables in configure.ac.

10 years agoBuild para_audiod unconditionally.
Andre Noll [Mon, 18 Jan 2010 23:53:52 +0000 (00:53 +0100)]
Build para_audiod unconditionally.

The wma decoder will always be build, so the case of no supported
audio files can not happen.

10 years agoRemove some unused error codes.
Andre Noll [Mon, 18 Jan 2010 23:36:15 +0000 (00:36 +0100)]
Remove some unused error codes.

10 years agoDon't use ENAVAIL.
Andre Noll [Mon, 18 Jan 2010 09:52:32 +0000 (10:52 +0100)]
Don't use ENAVAIL.

NetBSD doesn't know it, and the error text does not fit well. So replace
it by a paraslash error message.

10 years agoFix some format string warnings on x86_64.
Andre Noll [Mon, 18 Jan 2010 09:28:33 +0000 (10:28 +0100)]
Fix some format string warnings on x86_64.

10 years agoMerge branch 'master' into next
Andre Noll [Sun, 17 Jan 2010 20:36:41 +0000 (21:36 +0100)]
Merge branch 'master' into next

Conflicts:
stdin.c

10 years agoMerge branch 'maint'
Andre Noll [Sun, 17 Jan 2010 20:32:19 +0000 (21:32 +0100)]
Merge branch 'maint'

10 years agoMerge remote branch 'athcx/maint' into maint
Andre Noll [Sun, 17 Jan 2010 20:32:11 +0000 (21:32 +0100)]
Merge remote branch 'athcx/maint' into maint

10 years ago[btr]: Avoid a gcc warning.
Andre Noll [Sun, 17 Jan 2010 20:30:27 +0000 (21:30 +0100)]
[btr]: Avoid a gcc warning.

Although the warning
warning: 'brs[1]' may be used uninitialized in this function
is clearly bogus, it can't hurt to assert that i == 2 which also makes the warning to away.

10 years ago[btr] Only print debug message if we're really increasing the wrap buffer.
Andre Noll [Sun, 17 Jan 2010 12:29:05 +0000 (13:29 +0100)]
[btr] Only print debug message if we're really increasing the wrap buffer.

10 years ago[btr] Documentation update.
Andre Noll [Sun, 17 Jan 2010 12:27:46 +0000 (13:27 +0100)]
[btr] Documentation update.

10 years agoaudiod cleanups.
Andre Noll [Fri, 15 Jan 2010 20:41:06 +0000 (21:41 +0100)]
audiod cleanups.

It's pointless to change the scheduler's timeout during post_select().

10 years ago[btr] Add more documentation.
Andre Noll [Fri, 15 Jan 2010 19:22:27 +0000 (20:22 +0100)]
[btr] Add more documentation.

10 years agoclient: Fix a memory leak in client_post_select().
Andre Noll [Fri, 15 Jan 2010 19:21:57 +0000 (20:21 +0100)]
client: Fix a memory leak in client_post_select().

10 years agosched: Reset the descriptor sets on timeouts.
Andre Noll [Fri, 15 Jan 2010 19:21:13 +0000 (20:21 +0100)]
sched: Reset the descriptor sets on timeouts.

This is certainly not neccessary on linux, but it does not hurt
and is clearly more portable.

10 years agoalsa: Replace check for pending frames on eof by a barrier.
Andre Noll [Fri, 15 Jan 2010 19:19:30 +0000 (20:19 +0100)]
alsa: Replace check for pending frames on eof by a barrier.

The old code could lead to a an endless loop where the alsa writer
would never be unscheduled.

10 years ago[btr] Add more documentation.
Andre Noll [Fri, 15 Jan 2010 06:59:54 +0000 (07:59 +0100)]
[btr] Add more documentation.

10 years ago[btr] Add more documentation.
Andre Noll [Fri, 15 Jan 2010 06:41:19 +0000 (07:41 +0100)]
[btr] Add more documentation.

10 years agostdin/stdout cleanup.
Andre Noll [Fri, 15 Jan 2010 06:06:56 +0000 (07:06 +0100)]
stdin/stdout cleanup.

para_client was the last user of the non-btr code in stdin.[ch]
and stdout.[ch]. Remove this unused code and update the documentation.

10 years agobtr support for para_client.
Andre Noll [Fri, 15 Jan 2010 05:46:03 +0000 (06:46 +0100)]
btr support for para_client.

The use of the client code in audiod requires a node to be inserted
as the _parent_ of some existing node, which was not neccessary
before. Therefore a new btrn pointer for the child node is added to
struct btr_node_description and btr_new_node() is adjusted accordingly.

The patch also adds a small helper sched_request_barrier() to
the scheduler.

10 years ago[btr] log message cleanups.
Andre Noll [Thu, 14 Jan 2010 22:59:05 +0000 (23:59 +0100)]
[btr] log message cleanups.

10 years ago[btr] Add a comment to btr_pool_available().
Andre Noll [Thu, 14 Jan 2010 22:58:00 +0000 (23:58 +0100)]
[btr] Add a comment to btr_pool_available().

10 years ago[btr] btr_node_status(): Node pointer should never be NULL.
Andre Noll [Thu, 14 Jan 2010 22:57:22 +0000 (23:57 +0100)]
[btr] btr_node_status(): Node pointer should never be NULL.

10 years agofilter.h: Document that the ->close method need not be provided.
Andre Noll [Thu, 14 Jan 2010 22:49:57 +0000 (23:49 +0100)]
filter.h: Document that the ->close method need not be provided.

10 years agoaudiod: Add a paranoia check to close_writers().
Andre Noll [Thu, 14 Jan 2010 22:48:24 +0000 (23:48 +0100)]
audiod: Add a paranoia check to close_writers().

10 years agoAdd documentation of struct btr_node and btr_pool.
Andre Noll [Thu, 14 Jan 2010 22:24:24 +0000 (23:24 +0100)]
Add documentation of struct btr_node and btr_pool.

10 years ago[btr] Fix btr_get_input_queue_size().
Andre Noll [Thu, 14 Jan 2010 21:58:54 +0000 (22:58 +0100)]
[btr] Fix btr_get_input_queue_size().

We must take care of wrap buffers when computing the input queue size.

10 years agoIntroduce btr_node_description.
Andre Noll [Thu, 14 Jan 2010 03:19:59 +0000 (04:19 +0100)]
Introduce btr_node_description.

As the number of arguments to btr_new_node() grows, the code becomes
hard to read, especially since some callers must set many of the
arguments to NULL.

Using a pointer to a struct has the additional advantage that adding
new parameters does no longer require to touch all callers.

10 years agofile_write: Use para_open() and set the fd to non-blocking mode.
Andre Noll [Thu, 14 Jan 2010 00:19:12 +0000 (01:19 +0100)]
file_write: Use para_open() and set the fd to non-blocking mode.

10 years ago[btr] Fix merge_input_pool().
Andre Noll [Wed, 13 Jan 2010 23:11:46 +0000 (00:11 +0100)]
[btr] Fix merge_input_pool().

This function contained the following bug: wbr, buf1 and sz1 could
be used without being initialized. This was sometimes hitting the
assertion (buf1 && buf2).

Fix this by initializing these variables at the top.

10 years agoSkip btr suffix from {pre,post}_select_btr().
Andre Noll [Wed, 13 Jan 2010 22:39:32 +0000 (23:39 +0100)]
Skip btr suffix from {pre,post}_select_btr().

Everything uses btr now, so there's no need for a suffix any more.
Update the documentation a bit.

10 years agoKill unused writer_node_group code.
Andre Noll [Wed, 13 Jan 2010 22:31:17 +0000 (23:31 +0100)]
Kill unused writer_node_group code.

10 years agofile_write: Use sched_min_delay().
Andre Noll [Wed, 13 Jan 2010 22:17:58 +0000 (23:17 +0100)]
file_write: Use sched_min_delay().

10 years agofile_write: Kill ->fd of struct private_file_write_data.
Andre Noll [Wed, 13 Jan 2010 22:16:01 +0000 (23:16 +0100)]
file_write: Kill ->fd of struct private_file_write_data.

Also, simplify the logic in file_write_post_select_btr() a bit.

10 years agofile_write: Kill non-btr code.
Andre Noll [Wed, 13 Jan 2010 22:08:30 +0000 (23:08 +0100)]
file_write: Kill non-btr code.

Also, don't free the config on close.

10 years agooss fixes and cleanups.
Andre Noll [Wed, 13 Jan 2010 21:40:23 +0000 (22:40 +0100)]
oss fixes and cleanups.

- Kill ->samplerate and ->channels of struct private_oss_write_data.
- Don't invalidate the config on close().
- Simplify oss_pre_select_btr().

10 years agooss: Kill non-btr code.
Andre Noll [Wed, 13 Jan 2010 21:01:55 +0000 (22:01 +0100)]
oss: Kill non-btr code.

10 years agoalsa: Kill non-btr code.
Andre Noll [Wed, 13 Jan 2010 20:57:50 +0000 (21:57 +0100)]
alsa: Kill non-btr code.

10 years agowrite: Kill non-btr mode.
Andre Noll [Wed, 13 Jan 2010 20:46:28 +0000 (21:46 +0100)]
write: Kill non-btr mode.

Yes, this breaks the build on Macs. Sue me.

10 years agoMake writers remove btr node on errors.
Andre Noll [Wed, 13 Jan 2010 20:44:35 +0000 (21:44 +0100)]
Make writers remove btr node on errors.

This is what receivers/filters do as well.

10 years agofilter_common: Use sched_min_delay() helper.
Andre Noll [Wed, 13 Jan 2010 06:40:45 +0000 (07:40 +0100)]
filter_common: Use sched_min_delay() helper.

10 years agoclient.c: Add comment on the supervisor task.
Andre Noll [Wed, 13 Jan 2010 06:39:57 +0000 (07:39 +0100)]
client.c: Add comment on the supervisor task.

10 years agomp3dec: Don't check for bad data delay on errors.
Andre Noll [Wed, 13 Jan 2010 06:37:00 +0000 (07:37 +0100)]
mp3dec: Don't check for bad data delay on errors.

10 years agomp3dec does not need --buffer_tree.
Andre Noll [Wed, 13 Jan 2010 06:35:38 +0000 (07:35 +0100)]
mp3dec does not need --buffer_tree.

10 years agostdin: Avoid overrun errors.
Andre Noll [Wed, 13 Jan 2010 06:33:50 +0000 (07:33 +0100)]
stdin: Avoid overrun errors.

Request a timeout of 100ms if the buffer pool is full rather
than returning an error.

10 years agoalsa: Ignore errors from the btr query.
Andre Noll [Wed, 13 Jan 2010 06:16:32 +0000 (07:16 +0100)]
alsa: Ignore errors from the btr query.

Just use default values in case samplerate and channels can not
be obtained from parent nodes of the buffer tree.

10 years agoconfigure.ac: para_client needs time.o.
Andre Noll [Wed, 13 Jan 2010 06:14:50 +0000 (07:14 +0100)]
configure.ac: para_client needs time.o.

10 years agoalsa: Always write as much as possible.
Andre Noll [Wed, 13 Jan 2010 03:58:54 +0000 (04:58 +0100)]
alsa: Always write as much as possible.

No need to play games with snd_pcm_avail_update().

10 years agoalsa: Increase timeout on eof to 20ms.
Andre Noll [Wed, 13 Jan 2010 03:58:19 +0000 (04:58 +0100)]
alsa: Increase timeout on eof to 20ms.

10 years agoKill fields buf, loaded and output_error of struct receiver node.
Andre Noll [Wed, 13 Jan 2010 01:54:02 +0000 (02:54 +0100)]
Kill fields buf, loaded and output_error of struct receiver node.

10 years agoudp_recv: Kill non-btr code.
Andre Noll [Wed, 13 Jan 2010 01:39:46 +0000 (02:39 +0100)]
udp_recv: Kill non-btr code.

10 years agodccp_recv: Kill non-btr code.
Andre Noll [Wed, 13 Jan 2010 01:34:31 +0000 (02:34 +0100)]
dccp_recv: Kill non-btr code.

10 years agohttp_recv: Kill non-btr code.
Andre Noll [Wed, 13 Jan 2010 01:30:02 +0000 (02:30 +0100)]
http_recv: Kill non-btr code.

10 years agorecv: Use buffer tree API unconditionally.
Andre Noll [Wed, 13 Jan 2010 01:22:55 +0000 (02:22 +0100)]
recv: Use buffer tree API unconditionally.

This allows to kill the -B option.

10 years agoAdd btr support for the dccp receiver.
Andre Noll [Wed, 13 Jan 2010 01:17:30 +0000 (02:17 +0100)]
Add btr support for the dccp receiver.

10 years agoRemove ->shutdown of struct receiver.
Andre Noll [Tue, 12 Jan 2010 23:33:47 +0000 (00:33 +0100)]
Remove ->shutdown of struct receiver.

All three shutdown functions are stubs.

10 years agoaudiod: Make mode switching (on, off, sb) work again.
Andre Noll [Tue, 12 Jan 2010 23:23:54 +0000 (00:23 +0100)]
audiod: Make mode switching (on, off, sb) work again.

It is not sufficient to set the task status to an error value. We
also have to remove the btr node from the buffer tree.

10 years agofilter.h: Kill some unused fields of struct filter_node.
Andre Noll [Tue, 12 Jan 2010 07:14:19 +0000 (08:14 +0100)]
filter.h: Kill some unused fields of struct filter_node.

10 years agofilter: Remove allocation of filter buffers.
Andre Noll [Tue, 12 Jan 2010 07:12:44 +0000 (08:12 +0100)]
filter: Remove allocation of filter buffers.

fn->buf is not used any more.

10 years agofecdec: Kill some dead code.
Andre Noll [Tue, 12 Jan 2010 06:52:02 +0000 (07:52 +0100)]
fecdec: Kill some dead code.

fn->btrn is never NULL.

10 years agoKill unused filter_node->fc.
Andre Noll [Tue, 12 Jan 2010 06:30:59 +0000 (07:30 +0100)]
Kill unused filter_node->fc.

10 years agofilter/audiod: Be nice to filters without close method.
Andre Noll [Tue, 12 Jan 2010 06:25:40 +0000 (07:25 +0100)]
filter/audiod: Be nice to filters without close method.

10 years agoKill unused struct filter_chain.
Andre Noll [Tue, 12 Jan 2010 06:17:43 +0000 (07:17 +0100)]
Kill unused struct filter_chain.

10 years agoMore oggdec cleanups.
Andre Noll [Tue, 12 Jan 2010 06:12:58 +0000 (07:12 +0100)]
More oggdec cleanups.

10 years agoKill unused struct filter_callbacks.
Andre Noll [Tue, 12 Jan 2010 06:05:00 +0000 (07:05 +0100)]
Kill unused struct filter_callbacks.

Stream grabbing doesn't work with callbacks any more.

10 years agoKill global close_filters().
Andre Noll [Tue, 12 Jan 2010 06:03:18 +0000 (07:03 +0100)]
Kill global close_filters().

This allows to skip the leading underscore from audiod's
_close_filters().

10 years agoKill filter->convert.
Andre Noll [Tue, 12 Jan 2010 05:55:44 +0000 (06:55 +0100)]
Kill filter->convert.

Its last user was filter_postselect().

10 years agoKill unused filter_post_select().
Andre Noll [Tue, 12 Jan 2010 05:54:53 +0000 (06:54 +0100)]
Kill unused filter_post_select().

10 years agomp3dec: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 05:43:48 +0000 (06:43 +0100)]
mp3dec: Kill non-btr code.

10 years agoaacdec: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 05:37:13 +0000 (06:37 +0100)]
aacdec: Kill non-btr code.

10 years agooggdec: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 05:31:44 +0000 (06:31 +0100)]
oggdec: Kill non-btr code.

10 years agoprebuffer: Use new sched helper functions.
Andre Noll [Tue, 12 Jan 2010 05:26:49 +0000 (06:26 +0100)]
prebuffer: Use new sched helper functions.

10 years agoPrebuffer: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 05:25:52 +0000 (06:25 +0100)]
Prebuffer: Kill non-btr code.

10 years agowmadec: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 03:36:37 +0000 (04:36 +0100)]
wmadec: Kill non-btr code.

10 years agoFecdec: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 03:33:23 +0000 (04:33 +0100)]
Fecdec: Kill non-btr code.

10 years agofilter: Print meaningful error message if no filter options are given.
Andre Noll [Tue, 12 Jan 2010 03:28:02 +0000 (04:28 +0100)]
filter: Print meaningful error message if no filter options are given.

10 years agoamp: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 03:11:09 +0000 (04:11 +0100)]
amp: Kill non-btr code.

10 years agowav_filter: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 01:11:22 +0000 (02:11 +0100)]
wav_filter: Kill non-btr code.

10 years agocompress: Kill non-btr code.
Andre Noll [Tue, 12 Jan 2010 01:03:53 +0000 (02:03 +0100)]
compress: Kill non-btr code.

10 years agofilter: Remove non-btr code.
Andre Noll [Tue, 12 Jan 2010 00:47:47 +0000 (01:47 +0100)]
filter: Remove non-btr code.

This paves the street for further filter cleanups which will finally
result in the removal of struct filter_chain.

10 years agoaudiod.h: Remove unused slot_info->fc.
Andre Noll [Tue, 12 Jan 2010 00:43:30 +0000 (01:43 +0100)]
audiod.h: Remove unused slot_info->fc.