paraslash.git
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.

14 years agoFix two gcc warnings on MAC OS.
Andre Noll [Mon, 7 Dec 2009 17:43:26 +0000 (18:43 +0100)]
Fix two gcc warnings on MAC OS.

This fixes:

wma_common.c:41: warning: format '%zd' expects type 'signed size_t', but argument 5 has type 'int'
wma_common.c:59: warning: format '%0zx' expects type 'size_t', but argument 4 has type 'int'

14 years agoFix codename.
Andre Noll [Mon, 7 Dec 2009 17:10:22 +0000 (18:10 +0100)]
Fix codename.

It was misspelled and we already had eternity in 0.1.5.

14 years agoMerge commit 'meins/master'
Andre Noll [Mon, 7 Dec 2009 17:07:21 +0000 (18:07 +0100)]
Merge commit 'meins/master'

14 years agoMerge branch 'maint'
Andre Noll [Mon, 7 Dec 2009 17:06:55 +0000 (18:06 +0100)]
Merge branch 'maint'

Conflicts:

Makefile.in
NEWS
web/index.in.html

14 years agonew codename, reset version to git
Andre Noll [Mon, 7 Dec 2009 17:01:07 +0000 (18:01 +0100)]
new codename, reset version to git

14 years agothe paraslash-0.3.6 release tarball
Andre Noll [Mon, 7 Dec 2009 16:56:41 +0000 (17:56 +0100)]
the paraslash-0.3.6 release tarball

14 years agoparaslash 0.3.6 v0.3.6
Andre Noll [Mon, 7 Dec 2009 16:54:46 +0000 (17:54 +0100)]
paraslash 0.3.6

14 years agoNEWS update.
Andre Noll [Sun, 6 Dec 2009 14:17:31 +0000 (15:17 +0100)]
NEWS update.

14 years agoafh: Implement --human option.
Andre Noll [Sun, 6 Dec 2009 14:17:22 +0000 (15:17 +0100)]
afh: Implement --human option.

During debugging or when analyzing corrupt audio files, it is somethimes
handy to look at the chunk table. This option makes it much easier for the
human eye to spot e.g. huge chunks of an audio file which are sometimes
caused by incomplete downloads.

14 years agoMerge branch 'maint'
Andre Noll [Wed, 2 Dec 2009 06:43:18 +0000 (07:43 +0100)]
Merge branch 'maint'

Conflicts:
Makefile.in
NEWS

14 years agoNEWS update.
Andre Noll [Wed, 2 Dec 2009 06:41:27 +0000 (07:41 +0100)]
NEWS update.

Add release notes for the upcoming 0.3.6 release.

14 years agoChange codename.
Andre Noll [Wed, 2 Dec 2009 06:40:37 +0000 (07:40 +0100)]
Change codename.

As there will be another 0.3.x release, we need a new codename.

14 years agoMerge branch 'maint'
Andre Noll [Mon, 30 Nov 2009 22:51:01 +0000 (23:51 +0100)]
Merge branch 'maint'

14 years agofecdec: Wait until the second FEC group is complete.
Andre Noll [Mon, 30 Nov 2009 22:50:48 +0000 (23:50 +0100)]
fecdec: Wait until the second FEC group is complete.

Currently the fecdec filter starts writing output as soon as the first slice of the
second group arrives. This makes the logic in fecdec_filter.c quite convoluted
and does not help much to avoid buffer underruns.

Waiting for completion of the second group simplifies the code quite a bit and
adds more more buffering to the fecdec filter which should make buffer underruns
less likely.

14 years agoalsa_write: Print duration of buffer undderuns.
Andre Noll [Mon, 30 Nov 2009 22:40:05 +0000 (23:40 +0100)]
alsa_write: Print duration of buffer undderuns.

Idea taken from aplay.

14 years agowma: Use smaller chunks.
Andre Noll [Mon, 30 Nov 2009 22:38:51 +0000 (23:38 +0100)]
wma: Use smaller chunks.

This avoids buffer underuns in case the stream is started in the middle of the file.

14 years agoMerge branch 'maint'
Andre Noll [Fri, 27 Nov 2009 19:55:16 +0000 (20:55 +0100)]
Merge branch 'maint'

14 years agoFEC: Improve and simplify group timing.
Andre Noll [Fri, 27 Nov 2009 19:36:23 +0000 (20:36 +0100)]
FEC: Improve and simplify group timing.

The computation of the group start time was not as accurate as it
could be because it did not take into account that the first FEC
group has to be taken into account twice. This could lead to buffer
underruns between the first and the second group.

This patch fixes this flaw by computing the group start start(n)
of the nth FEC group as

start(n) = start(n - 1) + duration(n - 1),

which is not only more accurate but also a bit simpler than what we
had before. In order to do so, we have to remember the duration of
the previous group. The new ->duration member of struct fec_group is
used for this purpose.

The patch also renames set_slice_duration() to set_group_timing() as
this function now computes and stores both the slice duration and the
group duration.

14 years agoNEWS update.
Andre Noll [Thu, 19 Nov 2009 00:31:21 +0000 (01:31 +0100)]
NEWS update.

14 years agowma_afh: Kill an unused variable.
Andre Noll [Mon, 16 Nov 2009 22:42:16 +0000 (23:42 +0100)]
wma_afh: Kill an unused variable.

14 years agowma_afh: Compute the chunk time more accurately.
Andre Noll [Mon, 16 Nov 2009 22:40:53 +0000 (23:40 +0100)]
wma_afh: Compute the chunk time more accurately.

We already know the exact chunk time: It's a multiple of frames_per_chunk.

14 years agowmadec: Remove some redundant braces.
Andre Noll [Sat, 14 Nov 2009 12:17:53 +0000 (13:17 +0100)]
wmadec: Remove some redundant braces.

14 years agowmadec: Kill static variable frame_count.
Andre Noll [Sat, 14 Nov 2009 12:06:27 +0000 (13:06 +0100)]
wmadec: Kill static variable frame_count.

Non-constant static variables are verboten in filter code. It was only used for
debugging anyway.

14 years agoimdct: Use the 1/sqrt(2) constant from math.h.
Andre Noll [Sat, 14 Nov 2009 12:00:26 +0000 (13:00 +0100)]
imdct: Use the 1/sqrt(2) constant from math.h.

No need to define our own one.

14 years agoimdct: Trivial whitespace cleanups.
Andre Noll [Sat, 14 Nov 2009 11:56:56 +0000 (12:56 +0100)]
imdct: Trivial whitespace cleanups.

14 years agoimdct.c: Add some more documentation.
Andre Noll [Sat, 14 Nov 2009 11:47:41 +0000 (12:47 +0100)]
imdct.c: Add some more documentation.

14 years agowma: Improve error diagnostics.
Andre Noll [Thu, 12 Nov 2009 21:55:30 +0000 (22:55 +0100)]
wma: Improve error diagnostics.

This makes all functions in wmadec.c and bitstream.c return proper
error codes.

14 years agowma: Decode as much as possible.
Andre Noll [Thu, 12 Nov 2009 21:08:09 +0000 (22:08 +0100)]
wma: Decode as much as possible.

Currently, we only decode at most one superframe during each
scheduler run. This patch makes the wma decoder as much as what
fits into the output buffer.

14 years agoMake all wma data tables static.
Andre Noll [Thu, 12 Nov 2009 08:17:24 +0000 (09:17 +0100)]
Make all wma data tables static.

They are only used in wmadec.c.

14 years agoKill pwd->coefs_start.
Andre Noll [Sat, 7 Nov 2009 17:56:46 +0000 (18:56 +0100)]
Kill pwd->coefs_start.

It is always zero.

14 years agowma: More trivial whitespace cleanups.
Andre Noll [Sat, 7 Nov 2009 17:53:35 +0000 (18:53 +0100)]
wma: More trivial whitespace cleanups.

14 years agocompute_mdct_coefficients(): Trivial whitespace cleanups.
Andre Noll [Sat, 7 Nov 2009 16:15:49 +0000 (17:15 +0100)]
compute_mdct_coefficients(): Trivial whitespace cleanups.

14 years agocompute_mdct_coefficients(): Further reducuce indentation level.
Andre Noll [Sat, 7 Nov 2009 15:46:41 +0000 (16:46 +0100)]
compute_mdct_coefficients(): Further reducuce indentation level.

Put the hot path at the top of the channel loop.

14 years agocompute_mdct_coefficients(): Reduce indentation level by one.
Andre Noll [Sat, 7 Nov 2009 15:42:29 +0000 (16:42 +0100)]
compute_mdct_coefficients(): Reduce indentation level by one.

This function still needs more cleanups.

14 years agocompute_mdct_coefficients(): Kill pointless cast.
Andre Noll [Sat, 7 Nov 2009 14:58:38 +0000 (15:58 +0100)]
compute_mdct_coefficients(): Kill pointless cast.

(pwd->block_len / 2) is going to be converted to a float also without
this cast.

14 years agowma: Move computation of mdct coefficients into a separate funcion.
Andre Noll [Sat, 7 Nov 2009 14:56:28 +0000 (15:56 +0100)]
wma: Move computation of mdct coefficients into a separate funcion.

This makes decode_block() almost readable..

14 years agowma: Clean up compute_high_band_values().
Andre Noll [Sat, 7 Nov 2009 14:39:25 +0000 (15:39 +0100)]
wma: Clean up compute_high_band_values().

This reduces the indentation quite a bit and makes the code much
more readable.

14 years agowma: Move computation of high band values to a separate function.
Andre Noll [Sat, 7 Nov 2009 14:24:54 +0000 (15:24 +0100)]
wma: Move computation of high band values to a separate function.

14 years agoskip pointless ff_ prefix.
Andre Noll [Thu, 22 Oct 2009 22:10:04 +0000 (00:10 +0200)]
skip pointless ff_ prefix.

14 years agoAdd __aligned macro to gcc-compat.h. and use this instead of DECLARE_ALIGNED.
Andre Noll [Thu, 22 Oct 2009 21:58:04 +0000 (23:58 +0200)]
Add __aligned macro to gcc-compat.h. and use this instead of DECLARE_ALIGNED.

Fix some whitespace issues in gcc-compat.h while we're at it.

14 years agoFix two gcc warnings on 64 bit archs.
Andre Noll [Thu, 22 Oct 2009 17:58:08 +0000 (19:58 +0200)]
Fix two gcc warnings on 64 bit archs.

14 years agowmadec: Add a missing include that is needed on FreeBSD.
Andre Noll [Thu, 22 Oct 2009 17:37:27 +0000 (19:37 +0200)]
wmadec: Add a missing include that is needed on FreeBSD.

14 years agoDon't try to init the decoder if less than WMA_FRAME_SKIP bytes are available.
Andre Noll [Thu, 22 Oct 2009 17:07:55 +0000 (19:07 +0200)]
Don't try to init the decoder if less than WMA_FRAME_SKIP bytes are available.

14 years agoMore documentation updates.
Andre Noll [Tue, 20 Oct 2009 17:15:27 +0000 (19:15 +0200)]
More documentation updates.

14 years agoAdd some more documentation
Andre Noll [Tue, 20 Oct 2009 16:42:33 +0000 (18:42 +0200)]
Add some more documentation

14 years agowma_decode_block(): Kill useless variable 'sign'.
Andre Noll [Mon, 19 Oct 2009 21:53:22 +0000 (23:53 +0200)]
wma_decode_block(): Kill useless variable 'sign'.

14 years agowma_decode_block(): Reduce indentation level.
Andre Noll [Mon, 19 Oct 2009 21:32:38 +0000 (23:32 +0200)]
wma_decode_block(): Reduce indentation level.

14 years agotrivial whitespace fixes.
Andre Noll [Mon, 19 Oct 2009 21:24:08 +0000 (23:24 +0200)]
trivial whitespace fixes.

14 years agoKill unused pwd->int_table.
Andre Noll [Mon, 19 Oct 2009 20:18:29 +0000 (22:18 +0200)]
Kill unused pwd->int_table.

14 years agoAdd documentation of search_pattern() and wma_log2().
Andre Noll [Mon, 19 Oct 2009 20:06:16 +0000 (22:06 +0200)]
Add documentation of search_pattern() and wma_log2().

14 years agoread_asf_header(): Make it take a const pointer.
Andre Noll [Mon, 19 Oct 2009 19:54:23 +0000 (21:54 +0200)]
read_asf_header(): Make it take a const pointer.

14 years agoread_asf_header() sanity-check header len.
Andre Noll [Mon, 19 Oct 2009 19:52:49 +0000 (21:52 +0200)]
read_asf_header() sanity-check header len.

14 years agoread_asf_tags(): Carefully check length values.
Andre Noll [Mon, 19 Oct 2009 19:31:39 +0000 (21:31 +0200)]
read_asf_tags(): Carefully check length values.

14 years agoMention wma support in FEATURES,README, etc.
Andre Noll [Mon, 19 Oct 2009 17:10:14 +0000 (19:10 +0200)]
Mention wma support in FEATURES,README, etc.

14 years agowma_decode_superframe(): Make some variables more local.
Andre Noll [Sun, 18 Oct 2009 21:33:54 +0000 (23:33 +0200)]
wma_decode_superframe(): Make some variables more local.

14 years agoUpdate documentation of get_bit()'s buffer parameter.
Andre Noll [Sun, 18 Oct 2009 21:00:40 +0000 (23:00 +0200)]
Update documentation of get_bit()'s buffer parameter.

14 years agoUninline get_vlc().
Andre Noll [Sun, 18 Oct 2009 20:56:26 +0000 (22:56 +0200)]
Uninline get_vlc().

14 years agoRename get_bits1() to get_bit().
Andre Noll [Sun, 18 Oct 2009 20:42:21 +0000 (22:42 +0200)]
Rename get_bits1() to get_bit().

14 years agoget rid of AV_RB32().
Andre Noll [Sun, 18 Oct 2009 20:40:06 +0000 (22:40 +0200)]
get rid of AV_RB32().

14 years agoSimplify get_bits1().
Andre Noll [Sun, 18 Oct 2009 20:21:55 +0000 (22:21 +0200)]
Simplify get_bits1().

14 years agoAlways call getbit_context structures gbc.
Andre Noll [Sun, 18 Oct 2009 19:40:41 +0000 (21:40 +0200)]
Always call getbit_context structures gbc.

14 years agoget rid of the useless preprocessor madness in bitstream.h.
Andre Noll [Sun, 18 Oct 2009 19:37:51 +0000 (21:37 +0200)]
get rid of the useless preprocessor madness in bitstream.h.

14 years agoopen code NEG_USR32
Andre Noll [Sun, 18 Oct 2009 19:06:12 +0000 (21:06 +0200)]
open code NEG_USR32

14 years agosimplify skip_bits().
Andre Noll [Sun, 18 Oct 2009 18:52:47 +0000 (20:52 +0200)]
simplify skip_bits().

14 years agoOpen code SKIP_BITS
Andre Noll [Sun, 18 Oct 2009 18:42:09 +0000 (20:42 +0200)]
Open code SKIP_BITS

14 years agoremove pointless cast
Andre Noll [Sun, 18 Oct 2009 18:36:25 +0000 (20:36 +0200)]
remove pointless cast

14 years agopass the buffer size to init_get_bits() in bytes.
Andre Noll [Sun, 18 Oct 2009 16:58:33 +0000 (18:58 +0200)]
pass the buffer size to init_get_bits() in bytes.

14 years agoRemove LAST_SKIP_BITS.
Andre Noll [Sun, 18 Oct 2009 16:37:09 +0000 (18:37 +0200)]
Remove LAST_SKIP_BITS.

14 years agoReplace GET_VLC by an inline funcion and kill get_vlc2().
Andre Noll [Sun, 18 Oct 2009 16:08:38 +0000 (18:08 +0200)]
Replace GET_VLC by an inline funcion and kill get_vlc2().

14 years agoRemove name parameter from GET_VLC.
Andre Noll [Sun, 18 Oct 2009 15:49:35 +0000 (17:49 +0200)]
Remove name parameter from GET_VLC.

14 years agoRemove unused show_bits().
Andre Noll [Sun, 18 Oct 2009 15:24:18 +0000 (17:24 +0200)]
Remove unused show_bits().

14 years agoKill unused getbit_context->size_in_bits and add some doku.
Andre Noll [Sun, 18 Oct 2009 13:46:07 +0000 (15:46 +0200)]
Kill unused getbit_context->size_in_bits and add some doku.

14 years agosave one level of indentation in build_table().
Andre Noll [Sun, 18 Oct 2009 13:28:06 +0000 (15:28 +0200)]
save one level of indentation in build_table().

14 years agoKill codes_wrap parameter from init_vlc().
Andre Noll [Sun, 18 Oct 2009 13:16:14 +0000 (15:16 +0200)]
Kill codes_wrap parameter from init_vlc().

14 years agomake init_vlc() return void.
Andre Noll [Sun, 18 Oct 2009 13:09:39 +0000 (15:09 +0200)]
make init_vlc() return void.

14 years agobitstream: Abort on invalid codes
Andre Noll [Sun, 18 Oct 2009 13:07:26 +0000 (15:07 +0200)]
bitstream: Abort on invalid codes

14 years agoSimplify alloc_table().
Andre Noll [Sun, 18 Oct 2009 11:39:28 +0000 (13:39 +0200)]
Simplify alloc_table().

14 years agoKill the bits_wrap and bits_size parameters of init_vlc().
Andre Noll [Sun, 18 Oct 2009 11:16:12 +0000 (13:16 +0200)]
Kill the bits_wrap and bits_size parameters of init_vlc().

14 years agoTrivial whitespace fixes.
Andre Noll [Sun, 18 Oct 2009 11:01:21 +0000 (13:01 +0200)]
Trivial whitespace fixes.

14 years agoUse para_realloc() instead of realloc() in alloc_table().
Andre Noll [Sun, 18 Oct 2009 10:53:43 +0000 (12:53 +0200)]
Use para_realloc() instead of realloc() in alloc_table().

14 years agoRemove some cruft from bitstream.h.
Andre Noll [Sun, 18 Oct 2009 10:33:05 +0000 (12:33 +0200)]
Remove some cruft from bitstream.h.

14 years agopass only one arg to wma_init().
Andre Noll [Sat, 17 Oct 2009 19:51:57 +0000 (21:51 +0200)]
pass only one arg to wma_init().

14 years agoAlways call struct private_wmadec_data pwd.
Andre Noll [Sat, 17 Oct 2009 19:48:40 +0000 (21:48 +0200)]
Always call struct private_wmadec_data pwd.

14 years agoChange name of private_wmadec_data parameter of wmadec_cleanup().
Andre Noll [Sat, 17 Oct 2009 16:04:53 +0000 (18:04 +0200)]
Change name of private_wmadec_data parameter of wmadec_cleanup().

14 years agoMake wmadec_cleanup() return void.
Andre Noll [Sat, 17 Oct 2009 16:02:38 +0000 (18:02 +0200)]
Make wmadec_cleanup() return void.