Andre Noll [Sun, 11 Mar 2007 17:19:36 +0000 (18:19 +0100)]
aac_afh.c: kill global variables inbuf and inbuf_len
Pass them to read_chunk_table() instead.
Andre Noll [Sun, 11 Mar 2007 17:11:37 +0000 (18:11 +0100)]
aac_afh.c: free the inbuffer already in aac_get_file_info()
No need to wait for this until the audio file gets closed. This
patch also fixes two occurences of a bug where the length of the
input buffer was not set correctly.
Andre Noll [Sun, 11 Mar 2007 16:52:59 +0000 (17:52 +0100)]
aac_afh.c: Kill global variable af
It's only used in aac_afh_init.
Andre Noll [Sun, 11 Mar 2007 16:50:23 +0000 (17:50 +0100)]
aac_afh.c: Kill global variable num_chunks
It's already stored in afi->chunks_total
Andre Noll [Sun, 11 Mar 2007 16:44:14 +0000 (17:44 +0100)]
aac_afh.c: Kill global variable inbuf_size
it's constant and equals AAC_INBUF_SIZE.
Andre Noll [Sun, 11 Mar 2007 16:34:00 +0000 (17:34 +0100)]
introduce struct audio_format_info
This further simplifies the audio format handlers. The chunk_table
and the header info is now contained in that struct which allows
to move the cleanup on eof from the audio format handlers to the
virtual streaming system.
Andre Noll [Sat, 10 Mar 2007 19:35:34 +0000 (20:35 +0100)]
ogg_afh.c: Kill tunetable()
A rather crappy piece of code that is (1) broken and (2) unneccessary.
Andre Noll [Sat, 10 Mar 2007 19:31:00 +0000 (20:31 +0100)]
ogg_afh.c: Switch to ogg vorbis callbacks
This allows to call ov_clear() already during ogg_get_file_info() which
in turn simplifies ogg_close_audio_file().
This is a preparation for moving the close function of the audio
format handlers to the virtual streaming system as they all do
essentially the same now.
Andre Noll [Sat, 10 Mar 2007 09:38:50 +0000 (10:38 +0100)]
READMY.mysql: replace --enable-mysql-headers by --with-mysql-headers
The configure option was changed some time ago, but the README file
still uses the old syntax.
Andre Noll [Mon, 5 Mar 2007 22:41:09 +0000 (23:41 +0100)]
audiod: avoid busy loop on startup
The restart barrier of the status task must be also set in case
client_open() failed. This avoids spamming the log file.
Andre Noll [Mon, 5 Mar 2007 22:39:48 +0000 (23:39 +0100)]
ogg_afh.c: Fix format string compiler warning
Andre Noll [Mon, 5 Mar 2007 19:47:42 +0000 (20:47 +0100)]
mysql_selector.c: mark mysql_macro_list[] const
Andre Noll [Mon, 5 Mar 2007 19:40:52 +0000 (20:40 +0100)]
mysql.c: fix -Wshadow warnings
Andre Noll [Mon, 5 Mar 2007 19:36:31 +0000 (20:36 +0100)]
Makefile.in: use CPPFLAGS also for target mysql.o
Andre Noll [Sun, 4 Mar 2007 23:45:21 +0000 (00:45 +0100)]
aac_afh.c: Make "handle" a local variable
Also, clean up the definition of static variables.
Andre Noll [Sun, 4 Mar 2007 23:36:14 +0000 (00:36 +0100)]
mp3_afh.c: Mark frequencies, bitrate and frame_size_index arrays const
Andre Noll [Sun, 4 Mar 2007 23:21:27 +0000 (00:21 +0100)]
mp3_afh.c: Kill unused mp3.filename
Andre Noll [Sun, 4 Mar 2007 23:18:36 +0000 (00:18 +0100)]
ogg_afh.c: Kill unneccessary inclusion of fd.h
Andre Noll [Sun, 4 Mar 2007 23:15:38 +0000 (00:15 +0100)]
ogg_afh.c: Kill global variable num_chunks
The code is more readable if this is returned by ogg_compute_chunk_table()
and passed where neccessary.
Andre Noll [Sun, 4 Mar 2007 23:00:31 +0000 (00:00 +0100)]
ogg_afh.c: make vi_sampling_rate, vi_bitrate local
Andre Noll [Sun, 4 Mar 2007 22:57:26 +0000 (23:57 +0100)]
ogg_afh.c: Kill unused vi_bitrate_nominal
Andre Noll [Sun, 4 Mar 2007 22:56:21 +0000 (23:56 +0100)]
ogg_afh.c: get rid of global variable max_chunk_len
It's only used in ogg_compute_chunk_table(). So make it a local variable.
Andre Noll [Sun, 4 Mar 2007 22:54:17 +0000 (23:54 +0100)]
simplify ogg_compute_chunk_table()
it rewinds the input file on entry and on exit. Do this in the caller instead
which allows to get rid of the file parameter in ogg_compute_chunk_table().
Andre Noll [Sun, 4 Mar 2007 22:48:29 +0000 (23:48 +0100)]
ogg_afh.c: Kill global variable infile
Pass it where neccessary instead.
Andre Noll [Sun, 4 Mar 2007 22:39:13 +0000 (23:39 +0100)]
ogg_afh.c: Kill superflous vi_channels
Andre Noll [Sun, 4 Mar 2007 22:37:16 +0000 (23:37 +0100)]
ogg_afh.c: Kill unused inbuf and inbuf_size
Andre Noll [Sun, 4 Mar 2007 22:34:45 +0000 (23:34 +0100)]
mp3_afh.c: Kill unused inbuf and inbuf_size;
Andre Noll [Sun, 4 Mar 2007 22:22:43 +0000 (23:22 +0100)]
simplify vss_read_chunk()
All its parameters are known globally within vss.c, so omit them.
Also, return an int instead of the pointer to the inbuffer which is
also known to the caller.
This patch also introduces para_fseek() in fd.c which is used by
mp3.c and vss.c and changes the mp3 audio format handler so that it
uses the new function and always check the return value.
Andre Noll [Sun, 4 Mar 2007 21:31:52 +0000 (22:31 +0100)]
kill the read_chunk handler of struct audio_format handler
chunks are now read by vss_read_chunk(), i.e. the same function is
used for all audio formats.
Andre Noll [Sun, 4 Mar 2007 21:08:04 +0000 (22:08 +0100)]
make get_file_info() return the chunk table
This is a preparation for the moving the read_chunk handler to
the vss layer.
Andre Noll [Sun, 4 Mar 2007 20:54:36 +0000 (21:54 +0100)]
vss.c: Kill check for get_file_info == NULL
This can never happen.
Andre Noll [Sun, 4 Mar 2007 20:35:44 +0000 (21:35 +0100)]
kill the reposition handler in struct audio_format_handler
All three audio format handlers provided only a dummy function. Kill
these as well.
Andre Noll [Sun, 4 Mar 2007 20:07:33 +0000 (21:07 +0100)]
unify all audio format handlers
This changes the ogg vorbis audio format handler such that its read_chunk and
reposition_stream functions coincide with those of the other audio format
handlers.
Andre Noll [Sun, 4 Mar 2007 19:26:52 +0000 (20:26 +0100)]
ogg_afh.c: Rename oggbuf_len to inbuf_size
so that it matches the naming of the other audio format handlers
Andre Noll [Sun, 4 Mar 2007 19:24:02 +0000 (20:24 +0100)]
ogg_afh.c: Rename oggbuf to inbuf
To make naming consistent with the aac and mp3 audio format handler.
Andre Noll [Sun, 4 Mar 2007 19:18:34 +0000 (20:18 +0100)]
unify aac and mp3 audio format handlers
This makes the mp3 audio format handler use a chunk table just like
m4a and ogg vorbis already do. Moreover, the aac and mp3 audio format
handlers now have identical read_chunk and reposition_stream handlers.
Next step is to tweak the ogg vorbis audio format handler so that
it also fits into this scheme. In the end, this allows to move
read_chunk() and reposition_stream() from the audio format handlers
one layer up to the virtual streaming system and to kill the function
pointers in struct audio_format.
The advantage of this change that it avoids duplicated/similar code, and
that new audio format handlers can added easier.
Andre Noll [Sun, 4 Mar 2007 19:10:27 +0000 (20:10 +0100)]
string.c para_realloc(): report requested size on realloc failures
Andre Noll [Sat, 3 Mar 2007 17:51:23 +0000 (18:51 +0100)]
ogg_afh.c: chunk_table is an array of type size_t
Andre Noll [Sat, 3 Mar 2007 14:27:52 +0000 (15:27 +0100)]
simplify ogg_compute_header_len()
Andre Noll [Sat, 3 Mar 2007 13:42:08 +0000 (14:42 +0100)]
dccp_recv.c, stdout.h: change year in GPL header to 2007
These two files have changed in 2007, so..
Andre Noll [Sat, 3 Mar 2007 13:26:49 +0000 (14:26 +0100)]
rename DB_READ, DB_WRITE to AFS_READ, AFS_WRITE
Andre Noll [Fri, 2 Mar 2007 09:20:40 +0000 (10:20 +0100)]
Merge /fml/ag-raetsch/home/maan/scm/paraslash_meins/paraslash/
Andre Noll [Fri, 2 Mar 2007 09:15:03 +0000 (10:15 +0100)]
FEATURES update
Andre Noll [Fri, 2 Mar 2007 09:14:31 +0000 (10:14 +0100)]
osx_write.c: Kill sleep() on buffer underruns
This was a leftover from the mpg123 patch for mac os which does
more harm than good. It could cause para_write/para_audiod to
block under certain circumstances.
Andre Noll [Thu, 1 Mar 2007 20:09:54 +0000 (21:09 +0100)]
NEWS update
Andre Noll [Thu, 1 Mar 2007 19:44:21 +0000 (20:44 +0100)]
stdout.h: Kill unused bufsize
Andre Noll [Thu, 1 Mar 2007 19:42:32 +0000 (20:42 +0100)]
filter.c: Register tasks in proper order
The order is important as it determines the order in which
the pre_select functions are going to be called by the scheduler.
In the previous code, the scheduler called stdin->pre_select _before_
filter_chain->pre_select() which gave rise to the following scenario
(note that there's no filter_chain->post_select()):
stdin->pre_select(): set stdin for reading
filter_chain->pre_select(): nothing to do
stdin->post_select(): read buffer
stdin->pre_select(): do _not_ set stdin for reading as stdin buffer is full
For para_filter, after the last there are no fds set which causes the
scheduler to use the default timeout of 1s. This had the effect that
decoding of aac files started only after a few seconds.
With the roles of interchanged tasks the scenario is as follows:
filter_chain->pre_select(): nothing to do
stdin->pre_select(): set stdin for reading
stdin->post_select(): read buffer
filter_chain->pre_select(): convert buffer
stdin->pre_select(): set stdin _again_ as stdin buffer is not full
Alternative fix might be to use filter_pre_select() also for post_select.
Andre Noll [Tue, 20 Feb 2007 20:15:53 +0000 (21:15 +0100)]
rename db.c to afs.c and db.h to afs.h
Andre Noll [Tue, 20 Feb 2007 20:07:33 +0000 (21:07 +0100)]
db.c find_audio_files(): use int rather than char for cwd_fd
Andre Noll [Tue, 20 Feb 2007 19:16:09 +0000 (20:16 +0100)]
Merge /home/maan/scm/paraslash_fml/paraslash
Andre Noll [Tue, 20 Feb 2007 19:14:12 +0000 (20:14 +0100)]
simplify get_atts()
remove pointless ret variable and clarify comment.
Andre Noll [Mon, 19 Feb 2007 21:24:17 +0000 (22:24 +0100)]
fix typo in dccp_writer
Again, a serious typo that causes the dccp writer to not error
out under certain circumstances.
Andre Noll [Mon, 19 Feb 2007 21:19:20 +0000 (22:19 +0100)]
simplify setup_default_wng()
The default writer is known at compile time, so replace the code
that computes it at runtime by a #define in configure.ac.
Andre Noll [Mon, 19 Feb 2007 21:06:06 +0000 (22:06 +0100)]
http_recv.c: Fix typo in http_recv_open()
Quite serious as it causes the http receiver not to error
out if get_host_info() fails.
Andre Noll [Fri, 16 Feb 2007 19:24:18 +0000 (20:24 +0100)]
new codename, reset version to git
Andre Noll [Fri, 16 Feb 2007 19:18:18 +0000 (20:18 +0100)]
the paraslash-0.2.15 release tarball
Andre Noll [Fri, 16 Feb 2007 19:13:09 +0000 (20:13 +0100)]
paraslash 0.2.15
Andre Noll [Fri, 16 Feb 2007 19:09:45 +0000 (20:09 +0100)]
Makefile.in: fix target web/misc
It depends on @PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.bz2 rather than on
paraslash-git.tar.bz2.
Andre Noll [Thu, 15 Feb 2007 17:42:24 +0000 (18:42 +0100)]
Makefile.in: only build and install man pages for supported binaries
This makes it possible again to install from the git repo even if not
all binaries can be build, e.g. Mac OS which always lacks para_fade
(reverts
a858de7cf9437cf9a3569eb4bc297c5b0e768994).
Also, don't refuse to install and don't complain if $VARDIR
(/var/paraslash) can not be created, as this is non-fatal.
Andre Noll [Thu, 15 Feb 2007 16:34:00 +0000 (17:34 +0100)]
configure.ac: Detect os type, add -Wl,-bind_at_load to oggvorbis ld flags on Darwin.
This gets rid of zillions of warnings of the kind
ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used
on Mac OS X (10.4.6)
Andre Noll [Wed, 14 Feb 2007 19:42:18 +0000 (20:42 +0100)]
rc4.h: add doxygen file comment
Andre Noll [Tue, 13 Feb 2007 18:25:17 +0000 (19:25 +0100)]
fix client args info memory leak
Andre Noll [Sun, 11 Feb 2007 23:18:14 +0000 (00:18 +0100)]
filter_chain.c, recv_common.c: Fix another memory leak
There was still one leak left: argv[0] gets strdupped, but never freed.
Andre Noll [Sun, 11 Feb 2007 23:11:09 +0000 (00:11 +0100)]
dccp_recv.c: Fix memory leak in dccp_recv_open()
Missing freeaddrinfo().
Andre Noll [Sun, 11 Feb 2007 23:03:25 +0000 (00:03 +0100)]
audiod.c: fix memory leak in audiod_status_dump()
missing free() for decoder flags. Quite serious: We leaked some bytes on each
status change.
Andre Noll [Sun, 11 Feb 2007 22:47:57 +0000 (23:47 +0100)]
filter_chain(): Fix memory leak in parse_filter_args
Same bug as in parse_receiver_args(): argv must be freed (see previous patch).
Andre Noll [Sun, 11 Feb 2007 22:45:52 +0000 (23:45 +0100)]
recv_common: fix memory leak and invalid free in error path
As split_args() returns pointers that point within the given string,
it is wrong to free the individual pieces. However, the array of
substrings must be freed. parse_receiver_args() got both of these
wrong :(
Andre Noll [Sun, 11 Feb 2007 22:41:36 +0000 (23:41 +0100)]
cosmetics
Andre Noll [Sun, 11 Feb 2007 22:11:28 +0000 (23:11 +0100)]
crypt.c: fix memory leak in para_decrypt_buffer()
The client side had more or less the same memory leak as the server side:
The rsa structure wasn't freed.
Andre Noll [Sun, 11 Feb 2007 21:37:49 +0000 (22:37 +0100)]
fix a memory leak in the RSA key handling
RSA keys must be freed by using openssl's RSA_free() rather than the
usual free(). This leak turns out to be more serious as the amount
of leaked memory increased by about 300 bytes every time para_server
reread the user list (i.e. the hup command was executed or para_server
received SIGHUP).
Andre Noll [Sun, 11 Feb 2007 21:09:06 +0000 (22:09 +0100)]
user_list.c: Fix a memory leak
get_rsa_key() already allocates space for the rsa key pointer. Moreover,
u->perms was set to zero twice. Kill one instance.
Andre Noll [Sun, 11 Feb 2007 20:57:49 +0000 (21:57 +0100)]
simplify lookup_user()
It's easier to just pass the name of the user to be looked up. This
fixes a memory leak btw. because u.name was strdupped and never freed.
That leak wasn't serious though as is happened in the child process.
Andre Noll [Sun, 11 Feb 2007 19:29:15 +0000 (20:29 +0100)]
list.h, ortp.h: Add missing documentation
Andre Noll [Sun, 11 Feb 2007 19:28:40 +0000 (20:28 +0100)]
mysql_selector.c: Fix mbox command
An additional space crept in.
Andre Noll [Sun, 11 Feb 2007 19:27:01 +0000 (20:27 +0100)]
para.h fix a typo
Andre Noll [Sun, 11 Feb 2007 19:26:28 +0000 (20:26 +0100)]
README: minor cleanups
Andre Noll [Sun, 11 Feb 2007 19:25:42 +0000 (20:25 +0100)]
add para.h to the files used by doxygen
Andre Noll [Sun, 11 Feb 2007 18:09:36 +0000 (19:09 +0100)]
move gui-related symbols from para.h to new gui.h
Andre Noll [Sun, 11 Feb 2007 18:00:57 +0000 (19:00 +0100)]
more doxygen docu, some small cleanups
Andre Noll [Sun, 11 Feb 2007 16:54:30 +0000 (17:54 +0100)]
para.h: Add documentation of PARA_MAX, PARA_MIN, PARA_ABS
Andre Noll [Sun, 11 Feb 2007 16:49:50 +0000 (17:49 +0100)]
kill STRINGSIZE macro
It's kind of silly. Just open code the desired value.
Andre Noll [Sun, 11 Feb 2007 16:19:29 +0000 (17:19 +0100)]
playlist_selector.c, random_selector.c: make update_audio_file() static
Andre Noll [Sun, 11 Feb 2007 16:06:46 +0000 (17:06 +0100)]
command_util.sh: Make it read the function prototype from the source file
This is much cleaner as the commands differ by gcc attribute usage,
e.g. __a_unused. But it also means that in the source code
(a) the opening bracket for the function body must not be on
the same line (com_hist got this wrong),
(b) for all command handlers, the parameters must be called
fd, argc and argv,
(c) If a command handler uses __noreturn, that attribute must
be the first word, see audiod's com_term().
So change the few occasions where this was not the case.
Andre Noll [Sun, 11 Feb 2007 15:08:09 +0000 (16:08 +0100)]
compress.c, wav.c: add documentation
Andre Noll [Sat, 10 Feb 2007 19:02:04 +0000 (20:02 +0100)]
Merge /home/maan/scm/paraslash_fml/paraslash
Andre Noll [Sat, 10 Feb 2007 18:54:26 +0000 (19:54 +0100)]
add more missing documentation
Andre Noll [Thu, 8 Feb 2007 09:41:33 +0000 (10:41 +0100)]
don't set the initial_delay_barrier if time diff is unreliable
Andre Noll [Tue, 6 Feb 2007 08:46:24 +0000 (09:46 +0100)]
Merge /fml/ag-raetsch/home/maan/scm/paraslash_meins/paraslash/
Conflicts:
Makefile.in
Andre Noll [Mon, 5 Feb 2007 23:13:22 +0000 (00:13 +0100)]
audiod: Add missing documentation
Andre Noll [Mon, 5 Feb 2007 22:31:43 +0000 (23:31 +0100)]
alsa_write.c: Add missing documentation
Andre Noll [Mon, 5 Feb 2007 22:19:09 +0000 (23:19 +0100)]
audiod.c: Kill unused variable pcd
Andre Noll [Mon, 5 Feb 2007 22:18:07 +0000 (23:18 +0100)]
audiod.h: Kill unused struct audiod_task
The audiod task is an ordinary struct task.
Andre Noll [Mon, 5 Feb 2007 21:30:48 +0000 (22:30 +0100)]
fade.c: [trivial] whitespace cleanup
Andre Noll [Mon, 5 Feb 2007 21:28:36 +0000 (22:28 +0100)]
sdl_gui.ggo: Kill duplicate authorship info
This info is already provided by the HANDLE_VERSION_FLAG macro
Andre Noll [Mon, 5 Feb 2007 21:22:52 +0000 (22:22 +0100)]
gui.c: make command pipe a nonblocking fd
Andre Noll [Mon, 5 Feb 2007 20:55:24 +0000 (21:55 +0100)]
audiod.c: [trivial] move close_stat_pipe() closer to its callers
Andre Noll [Mon, 5 Feb 2007 20:44:01 +0000 (21:44 +0100)]
audiod: kill handle_signal()
It was only called from singal_event_handler(), so move the code there.
Also, remove the redundant check for t->ret != -E_SIGNAL_CAUGHT which
can never happen.
Andre Noll [Mon, 5 Feb 2007 20:29:02 +0000 (21:29 +0100)]
audiod: fix mode cycling
This was quite buggy all the time, but wasn't noticed due to the typo bug
which was fixed in
1b46ae4193cddb7d589b0f2f7d8158b84f7e9f6d.
Now, the status task no longer has an event handler as both its pre_select
and its post_select functions always succeed and the status task is supposed
to never terminate. Unlike the client task whose event handler now does all
the cleanup if the connection to para_server breaks down for whatever reason.
Andre Noll [Mon, 5 Feb 2007 20:22:22 +0000 (21:22 +0100)]
client_common.c: invalidate the private client data pointer on errors.
Not really neccessary, but clean.
Andre Noll [Sun, 4 Feb 2007 19:19:21 +0000 (20:19 +0100)]
use own version handler for all commands.
This makes the man pages generated by help2man look much nicer.