Andre Noll [Sun, 2 Sep 2007 14:52:33 +0000 (16:52 +0200)]
net.c: Fix a typo in the documentation.
Andre Noll [Sun, 2 Sep 2007 14:43:45 +0000 (16:43 +0200)]
[TRIVIAL]: rename create_pf_socket() to create_local_socket().
Andre Noll [Mon, 20 Aug 2007 17:51:18 +0000 (19:51 +0200)]
Fix some unsigned vs. size_t issues.
vss_het_header() took a unsigned while vss_get_chunk() takes
a size_t. Change vss_het_header() and fix up the callers.
Andre Noll [Mon, 13 Aug 2007 00:37:27 +0000 (02:37 +0200)]
fd.h: Kill two dead function prototypes.
Andre Noll [Sun, 12 Aug 2007 23:34:03 +0000 (01:34 +0200)]
afh.h: Minor documentation improvements.
Andre Noll [Sun, 12 Aug 2007 23:03:43 +0000 (01:03 +0200)]
mysql_selector.c: Check return value of regcomp().
Andre Noll [Sun, 12 Aug 2007 22:49:37 +0000 (00:49 +0200)]
NEWS update.
Andre Noll [Sun, 12 Aug 2007 22:10:23 +0000 (00:10 +0200)]
dccp_send.c: Minor cleanups.
Fix a missing newline and clarify docu of dccp_write().
Andre Noll [Sun, 12 Aug 2007 21:36:51 +0000 (23:36 +0200)]
dccp_send.c: Simplify send_queued_chunks().
The dccp socket is non-blocking, so there's no need to
check for writability.
Andre Noll [Sun, 12 Aug 2007 21:26:27 +0000 (23:26 +0200)]
dccp_send.c: Implement chunk queuing for dccp.
As Gerrit mentioned, it might be a good idea to use chunk
queueing also for dccp. This patch uses the new cq_xxx()
abstractions in the same way as the http sender.
Not heavily tested yet.
Andre Noll [Sun, 12 Aug 2007 17:44:33 +0000 (19:44 +0200)]
Move chunk_queue stuff to own files chunk_queue.[ch].
This completes the isolation of the chunk queueing code. In this form it may be
used also by other senders.
Andre Noll [Sun, 12 Aug 2007 16:47:50 +0000 (18:47 +0200)]
struct http_client: Use a _pointer_ to the chunk_queue.
This way, http_send.c no longer needs to know the size
of struct chunk_queue(). Allocation of the proper struct
is now done in cq_init().
Andre Noll [Sun, 12 Aug 2007 16:36:53 +0000 (18:36 +0200)]
Abstract out chunk_queue code.
This moves the chunk handling code to separate functions cq_foo(). They
take pointers to a chunk queue, which makes them orthogonal to the rest of
http_send.c.
Andre Noll [Sun, 12 Aug 2007 14:31:24 +0000 (16:31 +0200)]
enqueue_chunk(): pass a struct chunk_queue * instead of struct http_client *.
Andre Noll [Sun, 12 Aug 2007 14:27:03 +0000 (16:27 +0200)]
Introduce struct chunk_queue.
First step to abstract out chunk queueing.
Andre Noll [Sun, 12 Aug 2007 13:56:20 +0000 (15:56 +0200)]
Merge branch 'chunk_queue' of /home/maan/scm/paraslash_meins/paraslash into tmp
Andre Noll [Sun, 12 Aug 2007 13:25:50 +0000 (15:25 +0200)]
ortp_recv: Always set default jitter compensation, use zero as default.
This makes the default configuration work again with
ortp-0.13.1.
Andre Noll [Wed, 8 Aug 2007 22:00:45 +0000 (00:00 +0200)]
Rewrite chunk queueing.
Since paraslash-0.2.16 the audio file is mmapped, so it is no longer neccessary
to make a copy of the chunk data in case a chunk can not be sent immediately
because the write would block. Just remember the chunk number and the number of
bytes of that chunk which were sent (non-zero in case of short writes).
The chunk data can then be retrieved by the new vss_get_chunk() function.
Andre Noll [Tue, 7 Aug 2007 21:13:05 +0000 (23:13 +0200)]
http_send.c: Trivial whitespace and spelling cleanups.
Andre Noll [Mon, 6 Aug 2007 20:38:38 +0000 (22:38 +0200)]
Don't use depricated xxx_cmdline_parser_configfile().
Switch to the equivalent xxx_cmdline_parser_config_file() which takes
a pointer to the parser params.
Andre Noll [Mon, 6 Aug 2007 18:47:27 +0000 (20:47 +0200)]
Merge /home/maan/scm/paraslash_fml/paraslash
Andre Noll [Mon, 6 Aug 2007 18:45:19 +0000 (20:45 +0200)]
para_malloc(), para_realloc(): Check for zero size allocations.
Andre Noll [Mon, 6 Aug 2007 14:09:28 +0000 (16:09 +0200)]
dccp sender: Keep polling until an entry becomes free (Gerrit Renker).
If write() on the dccp fd fails with EAGAIN, the current code retries
100 times and then gives up, returning -E_DCCP_WRITE which causes a
shutdown of the dccp connection.
CCID3 has a sending wait queue which fills up and is emptied
asynchronously. The EAGAIN case means that there is currently no space
in the wait queue, but this can change at any moment and is thus not
an error condition. So keep polling until an entry becomes free.
Andre Noll [Tue, 10 Jul 2007 20:11:58 +0000 (22:11 +0200)]
audioc: fix bufsize
This bug was introduced in
ae0e4594c6a0312c5b4b4c0bde86f9c12253d11b:
We computed the bufsize from the conf struct before initializing it.
Fix is trivial.
Andre Noll [Sat, 7 Jul 2007 18:30:29 +0000 (20:30 +0200)]
configure.ac: Add check for alarm().
Andre Noll [Sat, 7 Jul 2007 18:25:33 +0000 (20:25 +0200)]
ringbuffer.c: fix two typos.
Andre Noll [Sat, 7 Jul 2007 18:21:48 +0000 (20:21 +0200)]
trivial doxygen cleanups
Replace @param by \param and fix punctuation.
Andre Noll [Sat, 7 Jul 2007 18:07:20 +0000 (20:07 +0200)]
mysql_selector: reset mysql_lock to zero after destroying the lock.
Andre Noll [Sat, 7 Jul 2007 17:30:08 +0000 (19:30 +0200)]
NEWS update
Andre Noll [Sat, 7 Jul 2007 17:12:35 +0000 (19:12 +0200)]
net.h: add missing __printf_2_3 attribute to send_va_buffer()
Andre Noll [Sat, 7 Jul 2007 17:11:45 +0000 (19:11 +0200)]
mysql_selector.c: introduce the myslq lock
This fixes a race condition in para_server:
parent child
real_query
real_query
mysql_store_result
This could cause para_server to hang in case the child process issued
a query which does not yield a result. It's hard to hit though. Fix is
to take the lock before the call to real_query, and release it after
mysql_store_result().
The patch also fixes a format string bug which was introduced by the patch
that switched to my_ulonglong for suitable variables in mysql_selector.c.
These need "%lli".
Andre Noll [Fri, 6 Jul 2007 09:15:39 +0000 (11:15 +0200)]
configure.ac: extend checks for header, functions, etc.
One should really run autoscan from time to time...
Andre Noll [Fri, 6 Jul 2007 07:49:18 +0000 (09:49 +0200)]
dccp_send.c: Replace bzero() by memset()
bzero() is deprecated.
Andre Noll [Wed, 4 Jul 2007 14:41:01 +0000 (16:41 +0200)]
ortp_send.c: fix a gcc warning
ortp_send.c:187: warning: passing argument 1 of 'vss_get_header' from incompatible pointer type
because vss_get_header expects an unsigned and we were passing a
size_t which is a different type e.g. for ppc.
Andre Noll [Wed, 4 Jul 2007 12:42:32 +0000 (14:42 +0200)]
remove COPYING from the files to be converted by grutatxt
this is also not needed as html.
Andre Noll [Wed, 4 Jul 2007 12:33:08 +0000 (14:33 +0200)]
remove GPL from the files to be converted by grutatxt
The web page links directly to www.gnu.org, no need to provide an html
version of this file.
Andre Noll [Wed, 4 Jul 2007 12:20:14 +0000 (14:20 +0200)]
Merge /fml/ag-raetsch/home/maan/scm/paraslash_meins/paraslash
Andre Noll [Tue, 3 Jul 2007 18:35:26 +0000 (20:35 +0200)]
fix trivial typo
gengetopt already adds a ":" in the help output
Andre Noll [Tue, 3 Jul 2007 18:32:50 +0000 (20:32 +0200)]
make gengetopt-2.20 happy
Andre Noll [Sun, 1 Jul 2007 00:05:41 +0000 (02:05 +0200)]
web/license.html: make it clear that paraslash is licensed under the GPL V2
As today the GPL V3 was published, the term "GPL" (without mentioning
a version number) might be misleading.
Andre Noll [Thu, 28 Jun 2007 09:38:37 +0000 (11:38 +0200)]
replace standard GPL header by a one-line pointer to COPYING
Andre Noll [Mon, 25 Jun 2007 16:06:47 +0000 (18:06 +0200)]
COPYING: replace the short GPL text by the full version 2 license
Andre Noll [Mon, 25 Jun 2007 15:58:47 +0000 (17:58 +0200)]
trivial typo fix
Andre Noll [Mon, 11 Jun 2007 10:06:54 +0000 (12:06 +0200)]
Merge /fml/ag-raetsch/home/maan/scm/paraslash_meins/paraslash
Andre Noll [Sun, 10 Jun 2007 23:53:59 +0000 (01:53 +0200)]
NEWS update
Andre Noll [Sun, 10 Jun 2007 23:45:51 +0000 (01:45 +0200)]
clean up error.h
It contained quite some unused error codes. This patch gets rid of
them and thus saves some space in the resulting binaries.
More importantly, there were two instances where a source file used
an error value of another source file (which is ok), but the object
file of that other source file would not get linked into the resulting
binary (which is not ok):
- aac_afh.c used E_AACDEC_INIT, which is not contained in
para_server
- http_recv.c used E_OVERRUN which is defined only if ortp
support was compiled in.
The patch also fixes another bug in the ogg vorbis audio format handler
where (the positive value) E_STREAM_PAGEIN was returned instead of
-E_STREAM_PAGEIN in case ogg_stream_pagein() failed.
Andre Noll [Sun, 3 Jun 2007 21:58:44 +0000 (23:58 +0200)]
ogg_afh.c: add documentation of struct ogg_datasource
Andre Noll [Sun, 3 Jun 2007 19:45:20 +0000 (21:45 +0200)]
allow variable arguments in LOG functions to be omitted or empty.
If the variable arguments are omitted or empty, the '##' operator
causes the preprocessor to remove the comma before it.
Andre Noll [Fri, 1 Jun 2007 09:53:11 +0000 (11:53 +0200)]
dccp_send.c: Fix type of "header_len" on x86_64
vss_get_header wants an unsigned, not a size_t. Fixes
dccp_send.c:170: warning: passing arg 1 of `vss_get_header' from incompatible pointer type
Andre Noll [Fri, 1 Jun 2007 09:50:02 +0000 (11:50 +0200)]
Trivial %d -> %zu format string fix
It fixes
command.c:879: warning: int format, different type arg (arg 4)
Andre Noll [Sat, 26 May 2007 21:02:18 +0000 (23:02 +0200)]
fade: cosmetic cleanups
always return negative values on errors, some other trivial changes.
Andre Noll [Sat, 26 May 2007 20:47:48 +0000 (22:47 +0200)]
fade.c: simplify open_mixer()
open() returns -1 on errors anyway.
Andre Noll [Sat, 26 May 2007 20:43:15 +0000 (22:43 +0200)]
fade.c: replace args_info by conf
to be consistent with the other paraslash applications that also use
conf for the gengetopt args_info struct.
Andre Noll [Sat, 26 May 2007 20:39:23 +0000 (22:39 +0200)]
fade.c: Fix some signed issues
Don't sleep at all if the sleep time passed via comamnd line args
are negative.
Andre Noll [Sat, 26 May 2007 20:25:44 +0000 (22:25 +0200)]
fix some signed warnings in aac and mp3 decoders
Only trivial stuff.
Andre Noll [Sat, 26 May 2007 19:38:36 +0000 (21:38 +0200)]
be more carful wrt. signed vs. unsigned argument passing
Andre Noll [Mon, 21 May 2007 20:53:23 +0000 (22:53 +0200)]
error.h: move E_BAD_USER from audiod_command to command error list
Dooh. This caused a segfault in the server's child if an unkown user
connected. Fortunately, this happened right before the process exited
anyway, so it's not a security issue.
Andre Noll [Sat, 19 May 2007 11:19:27 +0000 (13:19 +0200)]
add -Wbad-function-cast to +CPPFLAGS and fix two compiler warnings
Andre Noll [Sat, 19 May 2007 09:34:16 +0000 (11:34 +0200)]
aac: fix some signedness warnings
Andre Noll [Sat, 12 May 2007 15:17:45 +0000 (17:17 +0200)]
alsa_write.ggo: use "default" instead of "plughw:0,0" as the default device
This is what aplay also uses as the default. This change fixes playback of 48
kHz wav files if software mixing is used.
Andre Noll [Thu, 5 Apr 2007 14:37:33 +0000 (16:37 +0200)]
new codename, reset version to git
Andre Noll [Thu, 5 Apr 2007 14:33:31 +0000 (16:33 +0200)]
the paraslash-0.2.16 release tarball
Andre Noll [Thu, 5 Apr 2007 14:32:17 +0000 (16:32 +0200)]
paraslash 0.2.16
Andre Noll [Wed, 4 Apr 2007 08:33:00 +0000 (10:33 +0200)]
fix some compiler warnings on Mac OS
add two casts to make gcc stfu.
Andre Noll [Wed, 4 Apr 2007 08:31:57 +0000 (10:31 +0200)]
Makefile.in: target "install" depends on target "man"
Andre Noll [Wed, 4 Apr 2007 08:24:29 +0000 (10:24 +0200)]
compress.c: fix serious typo
We always compute the peak using the _adjusted_ sample value.
Andre Noll [Wed, 4 Apr 2007 08:22:10 +0000 (10:22 +0200)]
fix compress filter for big endian systems
This time for real. It's almost the same patch as the one just
reverted, but this one is tested on both ppc and x86.
Andre Noll [Mon, 2 Apr 2007 15:16:54 +0000 (17:16 +0200)]
Revert "fix compress filter for big endian machines"
This reverts commit
85225bb1292d1885e0261fb5109d18ecd584c267.
because it broke little endian (x86) machines. The issue needs
further investigation...
Andre Noll [Fri, 30 Mar 2007 15:14:04 +0000 (17:14 +0200)]
fix compress filter for big endian machines
This was broken since day one as it depended on little-endianness. Fix
it by checking the byte sex in configure and let the decoders
produce host endian 16 bit audio output by using the new
write_int16_host_endian() inline function in filter.h
This allows to omit the ugly byte-swapping in osx_write we've had
before.
Andre Noll [Mon, 26 Mar 2007 12:51:03 +0000 (14:51 +0200)]
Merge /fml/ag-raetsch/home/maan/scm/paraslash_meins/paraslash
Conflicts:
mp3_afh.c
Fix the conflict and add more detailed error message to para_mmap().
Andre Noll [Sun, 25 Mar 2007 14:34:20 +0000 (16:34 +0200)]
do not copy the audio file header
It's present in the memory map anyway. So instead of making a
copy, store the position of the header (always zero for now) in
mmd->audio_format_info.
Andre Noll [Sat, 24 Mar 2007 21:24:36 +0000 (22:24 +0100)]
kill some more unneeded includes
Andre Noll [Sat, 24 Mar 2007 21:22:57 +0000 (22:22 +0100)]
aac_afh.c: Get rid of some superfluous includes
Andre Noll [Sat, 24 Mar 2007 21:22:31 +0000 (22:22 +0100)]
mp3_afh.c: set bitrate, frequency and channels of struct audio_file_info
Also, get rid of some superflous includes.
Andre Noll [Sat, 24 Mar 2007 21:20:29 +0000 (22:20 +0100)]
ogg_afh.c: store bitrate, frequency and channels in struct audio_file info
This patch also contains some other improvements:
- make sure that we never write beyond the end of the chunk table
- get rid of some unneeded includes
- kill pointless raw_total variable
- get rid of time_total, vi_sampling_rate and vi_bitrate and use
the corresponding members of struct audio_file_info directly
Andre Noll [Sat, 24 Mar 2007 17:25:08 +0000 (18:25 +0100)]
Merge /home/maan/scm/paraslash_fml/paraslash
Andre Noll [Sat, 24 Mar 2007 17:16:17 +0000 (18:16 +0100)]
aac_afh.c: compute bitrate and store it in the new fields of struct audio format
Also, add this info in afi->info_string
Andre Noll [Sat, 24 Mar 2007 17:14:57 +0000 (18:14 +0100)]
afh: add additional fields channels, frequency, and bitrate to struct audio_format
The idea is that these quantieties are computed by each audio format handler
anyway. So create a common place for them to store that info. This way it
may be used by vss and by afs.
Andre Noll [Fri, 23 Mar 2007 17:44:08 +0000 (18:44 +0100)]
server.h: kill unneccessary openssl/pem.h include
Andre Noll [Fri, 23 Mar 2007 17:42:45 +0000 (18:42 +0100)]
mp3_afh.c: Fix header_bitrate() for invalid headers
This was broken literally since day 1: If the layer or the bitrate
parameter of an (invalid) header is zero, the old code might cause
a segfault.
Andre Noll [Thu, 22 Mar 2007 19:53:47 +0000 (20:53 +0100)]
audiod.c: Fix typo in log message
Andre Noll [Thu, 22 Mar 2007 16:49:34 +0000 (17:49 +0100)]
NEWS update
Andre Noll [Thu, 22 Mar 2007 15:24:39 +0000 (16:24 +0100)]
Makefile.in: Remove some unused variables
Andre Noll [Thu, 22 Mar 2007 15:15:42 +0000 (16:15 +0100)]
vss.c: Don't try to mmap empty files
as this causes mmap() to return MAP_FAILED, i.e. para_mmap() calls
exit() so para_server dies, which clearly is inapproriate. Instead,
skip the audio file and try the next one if size == 0.
Andre Noll [Thu, 22 Mar 2007 15:09:07 +0000 (16:09 +0100)]
mp3_afh.c: Fix off by one bug
may cause a segfault due to accessing one byte past the memory
mapped file.
Andre Noll [Thu, 15 Mar 2007 18:42:39 +0000 (19:42 +0100)]
mysql_selector.c: refresh selector info on com_us and com_snp
Andre Noll [Thu, 15 Mar 2007 17:53:47 +0000 (18:53 +0100)]
Change year in GPL header to 2007
Andre Noll [Thu, 15 Mar 2007 17:53:15 +0000 (18:53 +0100)]
NEWS: Update
Andre Noll [Wed, 14 Mar 2007 18:22:11 +0000 (19:22 +0100)]
fd.c: Kill para_fread() and para_fseek()
as they've become unused due to the switch to memory mapped audio files.
Andre Noll [Wed, 14 Mar 2007 17:48:21 +0000 (18:48 +0100)]
Merge /home/maan/scm/paraslash_fml/paraslash into mmap
Andre Noll [Tue, 13 Mar 2007 23:53:40 +0000 (00:53 +0100)]
mp3_afh.c: More documentation updates
Andre Noll [Tue, 13 Mar 2007 23:28:15 +0000 (00:28 +0100)]
mp3_afh.c: Documentation update
Andre Noll [Tue, 13 Mar 2007 23:05:21 +0000 (00:05 +0100)]
vss.c: simplify vss_eof()
the function was never called with af == NULL, so kill the check.
This check was the only real use of this parameter, so kill the
parameter as well.
Andre Noll [Tue, 13 Mar 2007 22:57:04 +0000 (23:57 +0100)]
vss.c: Switch from fopen() to open()
Andre Noll [Tue, 13 Mar 2007 22:20:10 +0000 (23:20 +0100)]
kill file parameter from get_file_info of struct audio format handler
Now that all audio format handlers use mmap(), this parameter is unused.
Andre Noll [Tue, 13 Mar 2007 22:15:57 +0000 (23:15 +0100)]
mp3_afh.c: Switch to memory mapped input file
Andre Noll [Mon, 12 Mar 2007 21:33:34 +0000 (22:33 +0100)]
aac_afh: use the file mapping rather than read()
This simplifies this audio format handler quite a bit.
Also fix a bug in error.h: E_AAC_OVERRUN is an error of the aac decoder,
so move the corresponding define to where it belongs.
Andre Noll [Mon, 12 Mar 2007 20:19:37 +0000 (21:19 +0100)]
vss.c: Use the file mapping instead of fseek()/read()
Andre Noll [Mon, 12 Mar 2007 19:38:43 +0000 (20:38 +0100)]
first draft of the mmap patch series
The purpose of these changes to para_server is to not call
read()/fseek() in the audio format handlers and in vss.c but to use
mmap() instead which should result in less code and should also be
faster and less error-prone.
This first patch implements the basic infrastructure for mmap but
keeps the file pointer so that changes may be merged step by step and
changes the ogg vorbis audio format handler to use the new mapping
of the audio file.
Subsequent patches will change the other audio format handlers and
the virtual streaming system to also use mmap instead of read()/fseek().
Andre Noll [Mon, 12 Mar 2007 15:18:16 +0000 (16:18 +0100)]
dccp.c was modified in 2007, so change header to reflect this