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

116 Commits

Author SHA1 Message Date
Karl Heyes
74e11b7194 fix case of global listeners count becoming out of sync. It is possible that
connecting listeners will disconnect before any processing is done on them.

svn path=/icecast/trunk/icecast/; revision=16254
2009-07-10 15:08:30 +00:00
Karl Heyes
3addc16981 reduce memory allocation and processing when retrieving stats for xsl pages
svn path=/icecast/trunk/icecast/; revision=15462
2008-10-29 02:47:41 +00:00
Karl Heyes
26c9b65eb0 expand debug log message to include a mountpoint reference
svn path=/icecast/trunk/icecast/; revision=15121
2008-07-19 01:36:16 +00:00
Karl Heyes
06510b997b update from win32 build. Mostly cleanup work
svn path=/icecast/trunk/icecast/; revision=14867
2008-05-12 01:21:06 +00:00
Karl Heyes
cbb7643b43 Allow any number of mountpoints to be returned for streamlist. You would
need a large number of mountpoints to trigger a truncation.  Allow file
serving thread to process a list of blocks for sending back to
the client. Then build the block list in the stats engine for returning.

svn path=/icecast/trunk/icecast/; revision=14812
2008-04-29 04:50:23 +00:00
Karl Heyes
c37e770ee0 avoid duplicate entries in playlist log
svn path=/icecast/trunk/icecast/; revision=14483
2008-02-12 04:15:45 +00:00
Karl Heyes
7d8182eef5 minor cleanups, no functional change
svn path=/icecast/trunk/icecast/; revision=14206
2007-11-21 02:55:11 +00:00
Karl Heyes
ab75a3297f add global listeners stat
svn path=/icecast/trunk/icecast/; revision=14016
2007-10-20 00:58:05 +00:00
Karl Heyes
e065acb7f1 no functional/structural change but cleans up the annoying signed/unsigned pointer warnings
here with xmlChar, based on work originally done by gtgbr@gmx.net.
closes #783, #784, #785, #787

svn path=/icecast/trunk/icecast/; revision=13933
2007-10-04 16:48:38 +00:00
Karl Heyes
d43254853f allow mount param for webroot xsl pages, closes #990
svn path=/icecast/trunk/icecast/; revision=13754
2007-09-05 02:16:45 +00:00
Karl Heyes
d327fc8914 close report #704, add server-id tag, default stays as the server version string.
svn path=/icecast/trunk/icecast/; revision=13704
2007-09-03 00:55:27 +00:00
Karl Heyes
31ce005ef3 small const update, add NULL check, NULL shouldn't occur here but it's better to play safe
svn path=/icecast/trunk/icecast/; revision=13649
2007-08-29 02:01:28 +00:00
Karl Heyes
5a7111fc82 Fix bug #895. Most if not all non-Ogg streams send metadata as non-UTF8, typically
ISO-8859-1 is assumed as there is no real clarity wrt the spec. In most cases people
send ASCII so it's not an issue, but for some, the extended characters they send
can cause problems with XML processing.  As stats and YP require UTF8 we need to
translate them and block invalid cases.

For the moment, for non-Ogg streams only, we assume that the metadata needs converting
from ISO-8859-1. Ogg streams are UTF8 so no conversion needed. You can override the
default with a charset mount option.


svn path=/icecast/trunk/icecast/; revision=13615
2007-08-24 15:44:37 +00:00
Karl Heyes
eebb33b8a1 add general information to stats
svn path=/icecast/trunk/icecast/; revision=13553
2007-08-16 02:13:18 +00:00
Karl Heyes
e06793a7ad handle .xspf requests. Like m3u, send a webroot file if it exists else generate
one. The generated one comes from an xslt in adminroot. Just need some icons

svn path=/icecast/trunk/icecast/; revision=13539
2007-08-11 18:26:44 +00:00
Karl Heyes
bb0b1a2a32 Triggers for source stats updated. No point updating all source stats if fewer
need updating. Fixes a few unusual cases, if a mount was removed (with xml reload)
whilst no source was reserved then those stats were left behind.

svn path=/icecast/trunk/icecast/; revision=13538
2007-08-11 17:44:45 +00:00
Karl Heyes
7248d653c0 Update the streamlist handler for slaves. Get the list of non-hidden mountpoints
from the stats engine instead of the mount or source list, as the stats are
populated by non-mount defined streams and mounts with active fallbacks.

svn path=/icecast/trunk/icecast/; revision=13500
2007-08-09 23:36:29 +00:00
Michael Smith
37a6bb18d6 Patch from gtgbr@gmx.net to fix (void) function prototypes, with some minor
changes.


svn path=/icecast/trunk/icecast/; revision=10615
2005-12-17 12:23:09 +00:00
Karl Heyes
f7afa9761b update queue handling for stats. This was slow when many stats were being
queued. These apply to both web interface requests and stats clients.

svn path=/icecast/trunk/icecast/; revision=10370
2005-11-15 00:36:34 +00:00
Karl Heyes
dde143d4b1 make various responses going back to the client be done via the file serving thread
svn path=/icecast/trunk/icecast/; revision=9740
2005-08-12 15:27:32 +00:00
Karl Heyes
6ccda03842 some xslt related fixes. A small memory leak, a socket not closing on odd
case, and truncate the buffer length so that junk chars are not sent back.

svn path=/icecast/trunk/icecast/; revision=9547
2005-07-04 20:11:15 +00:00
Karl Heyes
e9adc91bee make admin and web root pages use file serving thread to send back responses
svn path=/icecast/trunk/icecast/; revision=9464
2005-06-18 10:54:53 +00:00
Karl Heyes
29c83ae4eb update a few stats
svn path=/icecast/trunk/icecast/; revision=9437
2005-06-11 01:24:58 +00:00
Karl Heyes
84a0892cff add a few more informational stats
svn path=/icecast/trunk/icecast/; revision=9423
2005-06-09 20:54:08 +00:00
Karl Heyes
2a2938b68b merge from branch. push clients count handling to the client_create/_destroy
functions. call client_create in the general handler and pass client_t to the
specific handler including the stats request handler, which now logs in the
access log.

svn path=/icecast/trunk/icecast/; revision=9220
2005-05-06 15:57:15 +00:00
Karl Heyes
9253bf7248 merge from branch, stats client details are not being removed when they exit
svn path=/icecast/trunk/icecast/; revision=9195
2005-05-01 02:04:11 +00:00
Karl Heyes
19cb11cc31 merge in a few fixes and cleanups I've accumulated in my branch.
svn path=/icecast/trunk/icecast/; revision=9152
2005-04-18 14:32:26 +00:00
Karl Heyes
d124e7ca32 duplicate unlock left in
svn path=/icecast/trunk/icecast/; revision=8348
2004-12-08 02:30:01 +00:00
Karl Heyes
a521d15d74 merge per-mount hidden setting. prevent specific mountpoints being listed
on status.xsl and streamlist

svn path=/icecast/trunk/icecast/; revision=8245
2004-11-22 18:21:48 +00:00
Karl Heyes
17c178555f correct type for volatile usage and uncomment log message for stats updating
svn path=/icecast/trunk/icecast/; revision=8123
2004-10-27 14:13:29 +00:00
Karl Heyes
7b9b8e70a3 The _inc/_dec routines can race causing incorrect values as they don't account
for unprocessed stat events.  Here I push the actual calculations to the stats
thread. The API is maintained however all stats for a specific source can be
dropped with one call now.

svn path=/icecast/trunk/icecast/; revision=8090
2004-10-25 14:03:42 +00:00
Karl Heyes
dac2723dbe encode any xml entities in the stats before applying them to the
xsl pages

svn path=/icecast/trunk/icecast/; revision=7494
2004-08-07 02:33:12 +00:00
Michael Smith
7b7a9f73d2 Oops. As oddsock says, this was broken, and didn't compile, and was unneccesary
anyway. reverted.

svn path=/trunk/icecast/; revision=5849
2004-02-20 02:09:00 +00:00
Michael Smith
92027f475b Patch for preventing stats from staying around too long - stats thread should
only go to sleep when it has nothing to do.

svn path=/trunk/icecast/; revision=5848
2004-02-20 01:25:28 +00:00
Michael Smith
0aad6d849c Add Copyright notice to each source file, as requested by debian.
svn path=/trunk/httpp/; revision=5792
2004-01-29 01:02:12 +00:00
Karl Heyes
6c6a22bf45 minor cleanups, and only have one thread responding to TERM
svn path=/trunk/avl/; revision=5787
2004-01-27 02:16:25 +00:00
oddsock
c20bc3c346 Remove stats_callback() which is only used by the win32 UI...The stats gathering done by the UI has been completely rewritten to eliminate some reported instability.
svn path=/trunk/icecast/; revision=5682
2003-12-04 16:25:28 +00:00
oddsock
fe95280339 added bypassing of thread_sleep() in certain cases.
this came from KarlH.

svn path=/trunk/icecast/; revision=5526
2003-10-31 19:21:00 +00:00
Karl Heyes
69de4ea61e minor fixes. autoconf/make init clenaup, missing includes added and
compiler warnings removed

svn path=/trunk/icecast/; revision=5173
2003-07-24 16:21:22 +00:00
Karl Heyes
43953202a2 refer to cfgfile.h instead of config.h for icecast.xml, and use config.h
for autoconf

svn path=/trunk/icecast/; revision=5156
2003-07-21 01:58:54 +00:00
oddsock
fb9292658b - fixed small memory leak
svn path=/trunk/icecast/; revision=5010
2003-06-26 13:32:34 +00:00
Michael Smith
3b2df1d0d9 Brendan was getting pissed off about inconsistent indentation styles.
Convert all tabs to 4 spaces. All code must now use 4 space indents.

svn path=/trunk/avl/; revision=4492
2003-03-15 02:10:19 +00:00
Michael Smith
9e168dc870 Lots of fixes for screwy code formatting, plus:
make streams public by default, send ice-private: 1 to make them private.
However, default config file has yp servers commented out.

A little fix for compilation on some solaris systems

Redo some config file stuff: now all the passwords are inside an element
<authentication>, (though for now they're also accepted in the old location),
and added admin username and password. Move some of the admin activities over
to using the admin passwords (admin action that affect a mountpoint use the
source password)

Fill in some (but not yet all, maybe i'll do that later) of the infrastructure
for per-mountpoint passwords.

Fix lots of headers/code so that it works properly/portably  on non-win32
systems.

svn path=/trunk/icecast/; revision=4325
2003-02-06 13:10:48 +00:00
oddsock
a3dfee72e0 added function for retrieving specific stat values (for use by yp routines)
svn path=/trunk/icecast/; revision=4309
2003-02-02 14:25:53 +00:00
Michael Smith
65c0bfbba5 Fix up types after thread type rename earlier.
svn path=/trunk/icecast/; revision=4175
2002-12-29 15:46:32 +00:00
Michael Smith
d218eedf9a Plug several small memory leak, and one huge one in the xslt output code
svn path=/trunk/icecast/; revision=4174
2002-12-29 14:06:20 +00:00
Michael Smith
5d06975c44 Various cleanups
svn path=/trunk/icecast/; revision=3791
2002-08-10 03:22:44 +00:00
Michael Smith
8bd8dbbe48 Another free->xmlFree change
svn path=/trunk/icecast/; revision=3785
2002-08-09 15:04:40 +00:00
Michael Smith
bf0f2e1414 rename transformXSLT to xslt_transform() for consistency with the rest
of the source.

svn path=/trunk/icecast/; revision=3781
2002-08-09 14:38:42 +00:00
Michael Smith
6357936028 Various cleanups for accounting of sent bytes.
Crash bug in stats fixed.

svn path=/trunk/icecast/; revision=3779
2002-08-09 14:15:08 +00:00
Michael Smith
9b6b2afeaf oddsock's xslt stats support, slightly cleaned up
svn path=/trunk/icecast/; revision=3772
2002-08-09 06:52:07 +00:00
Michael Smith
9cf59b280c Fix locations of headers.
svn path=/trunk/icecast/; revision=3439
2002-06-29 04:29:37 +00:00
Michael Smith
4703f764d7 fix previous fix.
svn path=/trunk/icecast/; revision=3391
2002-06-15 04:57:50 +00:00
Michael Smith
903abeb2a5 fixed crash in shutdown if startup didn't happen properly.
svn path=/trunk/icecast/; revision=3390
2002-06-15 04:54:43 +00:00
Michael Smith
59b605ec12 Memory leaks. Lots of little ones.
svn path=/trunk/httpp/; revision=3275
2002-05-03 15:04:56 +00:00
Jack Moffitt
338f6a0a31 Oddsock finally found the win32 crash bug. _event_listeners wasn't being
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
2002-04-05 16:33:35 +00:00
Jack Moffitt
3807800d82 Fix race condition on thread shutdown.
svn path=/trunk/icecast/; revision=3045
2002-02-14 00:41:57 +00:00
Jack Moffitt
12cbc0a29d Shut down the stats_connection and stats_callback threads cleanly when
stats_shutdown() is called.

svn path=/trunk/icecast/; revision=3044
2002-02-14 00:28:41 +00:00
Jack Moffitt
ab0f4cdda8 Factor out common code in stats.c.
svn path=/trunk/icecast/; revision=3027
2002-02-06 07:52:09 +00:00
Jack Moffitt
4144bb05fb A very slightly modified version of oddsocks function to support gui
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
2002-02-06 06:11:03 +00:00
Jack Moffitt
c7aa89cf26 Two things:
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
2002-02-04 07:08:52 +00:00
Jack Moffitt
c98a76ebbd Revert stacksize stuff and changes for the thread module.
svn path=/trunk/icecast/; revision=2223
2001-10-21 02:06:08 +00:00
Jack Moffitt
42e869cd45 Fix icecast for changes in thread module regarding stacksize. For icecast,
the default stacksize is unchanged (8k) until further testing on Solaris
to determine if a larger value is needed.

svn path=/trunk/icecast/; revision=2221
2001-10-20 22:48:29 +00:00
Jack Moffitt
632c1e57fb It's too bad we don't have a commit script that smacks me upside the head
when I do stupid things like this.

svn path=/trunk/icecast/; revision=2196
2001-10-20 06:51:29 +00:00
Jack Moffitt
8f6c02365d Win32 fixes. Look how portable this was ;) Just header stuff and some defines.
Whee!

svn path=/trunk/icecast/; revision=2195
2001-10-20 06:43:04 +00:00
Jack Moffitt
61316a25d7 Initial revision
svn path=/trunk/icecast/; revision=1996
2001-09-10 02:21:46 +00:00