possible corruption with short-send of non-ogg metadata, specifically the
write merged block.
the slave stream listing was not honouring non-hidden attributes or auth
The smaller parts are mainly code re-organisation, a backward compatibility
option and options for IP handling.
svn path=/icecast/branches/kh/icecast/; revision=17364
and looks to be working well. the rest are various fixes that have accumulated
from bug reports.
svn path=/icecast/branches/kh/icecast/; revision=17267
mountpoints are accessed (useful for those /mount/index.html). The rest is
mainly pointer corruption fixes for relay updating/restarting/removal, stream
parsing for non-ogg streams and stats updating.
svn path=/icecast/branches/kh/icecast/; revision=17198
for access log skipping and global bandwidth limiting if specified. Buffers for
mpeg streams are made to be on frame boundaries which should help with listener
moves.
svn path=/icecast/branches/kh/icecast/; revision=17097
. fix worker stalled bug if source exits and new listener connects. A deadlock
on the source tree is possible.
. a few small changes to locking scope.
. NULL pointer fix with a stopped relay without a fallback but with listeners
still on it
. make fh_node use a tree for quick lookup. This is not like the sources.
. a few other smaller fixes and consistency checks implemented.
. 2 patches from moo, fixes#1646, #1648. still need to assess a third but is
not critical.
svn path=/icecast/branches/kh/icecast/; revision=16933
lock imbalance fix with workers > 1, seemed to affect FBSD.
moved sources count change for relays as that was increasing over restarts.
memory leak plugged on source_t removal.
double free prevented on listener_remove
auth_cmd stall fix.
small code cleanup
svn path=/icecast/branches/kh/icecast/; revision=16858
possible. Add back in the avl tree of listeners so that lookups can be done
quickly as we only use it now for deletion. Some minor issues for SC compat.
svn path=/icecast/branches/kh/icecast/; revision=16772
. memory corruption fix in stats/threading.
. fix for the excessive page flush bug leading to higher bandwidth than expected
with vorbis streams from certain source clients.
. avoid the ::ffff: part from IPv6 within an IP.
The other main change is the YP thread which is started from a dummy client
handle instead of the slave thread. it should now only startup from the worker
if there is work scheduled. Whether the slave thread can reduce wakeups would
need to be investigated.
command auth was updated but the performance results are similar to URL auth.
Other some internal code cleanups are also done. stats seems to be working much
better now.
karl.
svn path=/icecast/branches/kh/icecast/; revision=16691
The thread changes allow for enabling extra checks on locks (mutex/rwlock),
on timeout or error report an abort is issued. This is not enabled by
default but can be enabled by setting environment variable ICE_LOCK_ABORT to
1 for lock timeout or 2 for error checks as well.
svn path=/icecast/branches/kh/net/; revision=16690
use by the file handles, and some compile-time debug code to check for memory
usage.
. We can now fall back to file again without the original stream being present.
. Listener specific intro content can now come via auth listener_add.
. The relay updates for the retry, timeout and disable settings were missed
svn path=/icecast/branches/kh/icecast/; revision=16593
reload or server exit. small changes for win32, the icecast service should
be working better and I've updated the libogg to 1.1.4 for the build.
svn path=/icecast/branches/kh/icecast/; revision=16352
workers (as specified in the xml) instead of the one thread per source model.
This affects most files as they tend to interact with a client to some degree
but some of those are in minor ways.
The most significant changes are in :-
- file serving engine. There is no separate thread now, so the client reads
and sends are driven from the worker, this includes the error responses.
- The source client and listener processing. The source client details have
to stay around until the listeners are processed.
- slave engine. relays are always allocated a client on the worker, with a
thread created just for the connection phase. Makes it easier to handle when
switching to another relay source.
svn path=/icecast/branches/kh/icecast/; revision=16219
for cleaning up compiler warnings, to sync up with trunk but to try some small
changes for mutex waiting.
svn path=/icecast/branches/kh/net/; revision=16214
refbuf and client structures. add ogg header pages via the associated
pointers for simpler handling.
svn path=/icecast/branches/kh/icecast/; revision=16208
include build failures, ogg handling problems, and memory corruption.
The only new feature is that metadata updates can take a url arg now. The
refbuf cleanup still needs confirming but it is required to prevent the ogg
stream header pages disappearing. Other cleanups have occurred to help
merging to trunk and clean up valgrind reporting.
svn path=/icecast/branches/kh/icecast/; revision=15607
removal work for stats, video preview merge (not built by default) and a couple
of bug fixes from reported feedback.
svn path=/icecast/branches/kh/icecast/; revision=15372
. allow filtering of a theora logical stream before pushing onto queue.
. allow conversion of mp3 metadata from a specified charset to UTF8 for stats/log
. handle content type better from xsl pages.
. handle 403 return from auth url backend, also allow the message header to contain
a '403 message' for the listener.
. allow a port-based shoutcast-mount, allows multiple sc source clients and removes
the need to define a second port.
. xml parsing re-organised. lets see how this works out
svn path=/icecast/branches/kh/icecast/; revision=11146