initialized (the first time it was NULL). After the server is restarted
it retained a pointer to freed memory. We should have been initializing
this anyway.
svn path=/trunk/icecast/; revision=3220
Requires a change to the format plugin interface - jack: if you want this
done differently, feel free to change it (or ask me to).
svn path=/trunk/httpp/; revision=3219
When the cond var is signalled it will wake up a thread. If all the
connection handler threads are handling connections, the signal will be
ignored and clients will 'pend' until another client causes the to signal
again.
We have to check to see if there are more pending connections before waiting
on the signal again.
svn path=/trunk/icecast/; revision=3178
- connections are now matched to format plugins based on content-type headers,
and are rejected if there isn't a format handler for that content-type, or
there is no content-type at all.
- format_vorbis now handles pages with granulepos of -1 in the headers
correctly (this happens if the headers are fairly large, because of
many comments, for example).
- various #include fixes.
- buffer overflow in httpp.c fixed.
svn path=/trunk/avl/; revision=3042
stats updates. Basically stats_connection() was copied to
stats_callback() (i should probably factor out some of the code here!)
with the change that instead of sending stats to a socket, it sends the
event to a callback function.
svn path=/trunk/icecast/; revision=3026
1) vorbis tags (ARTIST and TITLE) now appear in the stats. Oddsock did
the first cut of this.
2) stats bug fixed. if a stats value was NULL a segfault occurred.
strdup(NULL) is fun!
svn path=/trunk/icecast/; revision=3024
we weren't checking to see if the mountpoint was already taken. Since
the mountpoint was the key in the avl tree, bad things happened.
svn path=/trunk/icecast/; revision=2966
memory on source exits. This caused a small but noticable memory leak.
The fix was to add a new method to the format_plugin object -
free_plugin() - and have the source thread call this on shutdown.
svn path=/trunk/icecast/; revision=2946
32 and lower, this will set tv_usec to > 1 second, which wrong. So we
do it the right way, and put seconds in tv_sec.
svn path=/trunk/timing/; revision=2507
* -D_REENTRANT probably needed on all platforms. Let's not limit it to
Linux and Solaris.
* AM_PATH_OGG|VORBIS had a slight bug. We shouldn't update the LIBS until
after we've detected anything. Thanks to Michael Pruett <michael@68k.org>
for finding this.
svn path=/trunk/icecast/; revision=2229