1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-06-23 06:25:24 +00:00
Commit Graph

900 Commits

Author SHA1 Message Date
Karl Heyes
1f3c6c2d87 bump to kh31
The main changes are listed below but there is a lot of noise from behind the scenes
work like quicker stats updates, code re-arranging and infrequent used code like the
allocation code which is not usually compiled in.

Implement scatter-gather IO, initially for flv wrapping as that will make a lot of
use of it and should save a lot of memory copies. The icy metadata should also be a
candidate for this.

Add better handling to relays with multiple servers and fallbacks. Problem entries
can be skipped when restarting. 

Fixup build system for mingw32 cross compile. VC was getting too annoying but should
still be an option if needed later.  This now allows us to build with newer dependent
libs without much extra work.   The GUI component is not built now (VC specific) but
it was of limited use and most win32 users configure the service.



svn path=/icecast/branches/kh/icecast/; revision=18147
2011-12-24 02:35:54 +00:00
Karl Heyes
deba1eba00 bump kh30.
Mostly internal updates dealing with a quick response then termination of client. A
few possible leaks cases plugged and guards for invalid cases. Trying out an updated
stats API to avoid lookups (only partly used currently). Reduced memory copies on xsl
requests by writing direct to refbufs.


svn path=/icecast/branches/kh/icecast/; revision=18080
2011-09-10 13:11:07 +00:00
Karl Heyes
544525c6c1 bump to kh29.
mostly fixes, mainly to do with workers handling relays, startup, shutdown, restarting
and how those listeners are processed.  The handling of auth clients if services become
slow/unresponsive.  some code cleanup, reduce some lock contention, code duplication and
fine tuning of certain limits.


svn path=/icecast/branches/kh/icecast/; revision=17788
2011-01-25 03:06:25 +00:00
Karl Heyes
0557c4c177 sync up to kh28. Mostly corruption or NULL pointer fixes, mainly related to metadata.
removed the relay recanning in the slave thread as that is handled by the worker clients
now. A few internal cleanups with worker processing and stats.



svn path=/icecast/branches/kh/icecast/; revision=17711
2010-12-03 15:56:14 +00:00
Karl Heyes
d6f8218f1d bump for kh27. mainly down to the non-ogg metadata fix, possible race with
worker wakeup and reducing contention on stats locking.


svn path=/icecast/branches/kh/icecast/; revision=17384
2010-09-12 21:21:21 +00:00
Karl Heyes
389b28255a do a proper fix for the auth on /admin/streams and make sure the stats
connection works with the recent worker changes

svn path=/icecast/branches/kh/icecast/; revision=17365
2010-08-17 14:56:52 +00:00
Karl Heyes
d8753a5b99 kh26 update. The 2 main issues are :-
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
2010-08-17 00:26:27 +00:00
Karl Heyes
8796ecc4e0 emulate pipe FDs using sockets on win32 as select does not work on pipe FDs
svn path=/icecast/branches/kh/net/; revision=17363
2010-08-17 00:18:22 +00:00
Karl Heyes
0a997d1bef kh25. worker thread update (reduces locking), client schedule tuning, build
cleanups, a couple of odd case crash fixes

svn path=/icecast/branches/kh/icecast/; revision=17362
2010-08-04 00:59:21 +00:00
Karl Heyes
213cbe340e bump to kh24. Get things checked in. The flv wrapping has had some time to stablize
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
2010-06-02 01:42:37 +00:00
Karl Heyes
d876af5d73 kh23. mostly fixes. The new feature is the automatic banning of IPs if certain
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
2010-05-08 03:59:17 +00:00
Karl Heyes
e935bef378 bump to kh22. Crash fix from kh20, the rest is mainly internal changes. Option
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
2010-03-29 02:14:55 +00:00
Karl Heyes
9b2e27f080 kh21. mostly fixes.
. 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
2010-02-22 03:47:07 +00:00
Karl Heyes
88189cb875 bump kh20. fixes only.
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
2010-01-31 06:22:46 +00:00
Karl Heyes
b06a1de293 sync up kh19. A few small but important fixes, per-mount access logging now
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
2010-01-06 20:25:24 +00:00
Karl Heyes
9fea71ff77 kh18 update. The important/visible stuff
. 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
2009-11-05 05:32:02 +00:00
Karl Heyes
ad21bb0b04 subtree sync up. sock.c from kh17 was missed out, this should resolve #1617.
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
2009-11-05 05:03:55 +00:00
Karl Heyes
9a7a36acc4 bump to kh17. fix failing relay crash case. fix flashpolcy crash case.
fix memory corruption case when moving clients between workers.
some minor timing changes


svn path=/icecast/branches/kh/icecast/; revision=16632
2009-10-11 01:20:04 +00:00
Karl Heyes
de49138869 sync up to kh16. A fair bit of this is the format api changes to allow for
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
2009-09-29 01:44:20 +00:00
Karl Heyes
749691af2b kh13. connection_t/client_t merge, client scheduling changes. intro content
from listener_add now possible.

svn path=/icecast/branches/kh/icecast/; revision=16524
2009-08-28 20:19:49 +00:00
Karl Heyes
9565edee8e kh12. A couple of leaks plugged on relay restarting, a possible crash on xml
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
2009-07-28 14:44:15 +00:00
Karl Heyes
165f64a9a9 kh11. commit fixes to reported bugs since kh10 update. possible deadlock on file
serving, relay removal (eg as a slave) cleanup and worker busy looping.

svn path=/icecast/branches/kh/icecast/; revision=16298
2009-07-18 01:47:06 +00:00
Karl Heyes
ea3cecdf86 use correct type cast
svn path=/icecast/branches/kh/thread/; revision=16297
2009-07-18 01:39:45 +00:00
Karl Heyes
2e59754dcd commit kh10 changes. Fairly major as it changes the threading. We now use N
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
2009-07-07 23:26:21 +00:00
Karl Heyes
5ad0b84327 missed from previous commit, win32 build needs this header
svn path=/icecast/branches/kh/thread/; revision=16215
2009-07-07 21:50:59 +00:00
Karl Heyes
c9d9d4edd6 various bits collected over time. Nothing of major change, the main bits are
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
2009-07-07 20:27:19 +00:00
Karl Heyes
500f3a761b No functional change. removed unused code, Use bitmask fields for
refbuf and client structures. add ogg header pages via the associated
pointers for simpler handling.

svn path=/icecast/branches/kh/icecast/; revision=16208
2009-07-05 18:45:30 +00:00
Karl Heyes
53bae7ac43 Various small updates collected. Most are down to code cleanups or shuffling functions
around.  Mainly to check in things not related to the thread update for kh10.

svn path=/icecast/branches/kh/icecast/; revision=16154
2009-06-22 01:06:57 +00:00
Karl Heyes
95860d4715 bump to kh9, mainly internals cleanups to help sync with trunk
svn path=/icecast/branches/kh/icecast/; revision=15865
2009-03-27 23:12:53 +00:00
Karl Heyes
02c6f8ccc5 sync these up with trunk
svn path=/icecast/branches/kh/net/; revision=15864
2009-03-27 23:09:45 +00:00
Karl Heyes
733c048a42 sync up kh8. A number of reports have appeared over the last few weeks, these
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
2009-01-07 17:07:41 +00:00
Karl Heyes
ff431936f6 commit a number of small fixes and cleanups from feeback. added
streamurl metadata via admin req for non-ogg as it wasn't a biggie

svn path=/icecast/branches/kh/icecast/; revision=15526
2008-11-19 02:15:53 +00:00
Karl Heyes
f7801fb88c check-in changes for kh3, bugfix for streamlist for slaves and some on-going
internal code cleanup

svn path=/icecast/branches/kh/icecast/; revision=15463
2008-10-29 02:57:06 +00:00
Karl Heyes
b6dc964a29 bump version, drop debian directory as it's unmaintained here. some more thread
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
2008-10-04 01:09:17 +00:00
Karl Heyes
386a554a72 bump version. the most significant things are the stats thread removal and a theora fix.
svn path=/icecast/branches/kh/icecast/; revision=15145
2008-08-01 20:26:09 +00:00
Karl Heyes
f3e87bfdc3 kh34. sync up with trunk, kate/skeleton merge, small yp tweaks for error
cases and some cleanups for stats

svn path=/icecast/branches/kh/icecast/; revision=14821
2008-05-01 02:28:21 +00:00
Karl Heyes
415b2a2569 update from win32 testing. windows service should be better now, display of
xspf links on web pages, tested with IE7 as well as FF

svn path=/icecast/branches/kh/icecast/; revision=14820
2008-05-01 02:22:06 +00:00
Karl Heyes
4f1c9156bf sync work to kh33
svn path=/icecast/branches/kh/icecast/; revision=14653
2008-04-03 15:15:10 +00:00
Karl Heyes
1cac5ce6d9 sync up work. crash case on on-demand relay failure fixed, a win32 build update
and some lib initialization fixes

svn path=/icecast/branches/kh/icecast/; revision=14464
2008-02-10 22:20:07 +00:00
Karl Heyes
193f83b90e sync up work. a few minor changes to internal settings and possible race fix eliminated
svn path=/icecast/branches/kh/icecast/; revision=14451
2008-02-03 04:52:49 +00:00
Karl Heyes
cc3f80a840 sync up to the most recent tarball
svn path=/icecast/branches/kh/icecast/; revision=14322
2007-12-24 14:14:01 +00:00
Karl Heyes
8d78b6e75f sync up with recent branch tarball. No issues outstanding but some of this has
already been committed to trunk

svn path=/icecast/branches/kh/icecast/; revision=14281
2007-12-08 05:19:45 +00:00
Karl Heyes
5e08a0f6d5 bump version to kh7. mainly memory leak fixes and stats update. win32 build
needs more work really

svn path=/icecast/branches/kh/icecast/; revision=11721
2006-07-30 01:12:07 +00:00
Karl Heyes
5085b397b2 bump version is kh6
svn path=/icecast/branches/kh/icecast/; revision=11569
2006-06-13 22:46:59 +00:00
Karl Heyes
63fd3b8e26 check in work, initial work on per-mount bitrate limits, various stats and type
cleanups that have accumulated.

svn path=/icecast/branches/kh/icecast/; revision=11568
2006-06-13 22:37:58 +00:00
Karl Heyes
a9a19b3e37 sync up work
svn path=/icecast/branches/kh/icecast/; revision=11267
2006-04-24 03:15:24 +00:00
Karl Heyes
c17e9e896a various bits collected, so better commit -
. 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
2006-04-16 23:22:20 +00:00
Karl Heyes
e525a98e65 missed a few updates.
svn path=/icecast/branches/kh/icecast/; revision=11065
2006-03-28 03:10:31 +00:00
Karl Heyes
6d5d8f5011 add some small updates to web pages, bump version to kh4
svn path=/icecast/branches/kh/icecast/; revision=11064
2006-03-27 03:23:58 +00:00
Karl Heyes
7f8f5d0606 sync up work, initial work for showlog, merge reported trunk bugs
svn path=/icecast/branches/kh/icecast/; revision=11003
2006-03-15 02:21:04 +00:00