mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-11-03 04:17:17 -05:00
e2a48e7fc1
svn path=/icecast/branches/kh/icecast/; revision=7803
508 lines
18 KiB
Plaintext
508 lines
18 KiB
Plaintext
Feature differences from SVN trunk
|
|
|
|
. fast pre-buffering aka burst-on-connect. State a burst size in bytes to
|
|
indicate how much should be sent at listener connect.
|
|
. mp3 accepts artist and title separately on the url.
|
|
. program invocation at stream start and end, per mount based.
|
|
. on-demand relays, activated on first listener, disconnected when listeners
|
|
falls to 0. Available for master relays as well.
|
|
. multiple Ogg codec streaming. Current codecs handled are Theora, Vorbis,
|
|
Speex, Writ.
|
|
. Clients are started at theora key frame if theora is being streamed.
|
|
. Added URL and command based listener authentication
|
|
. server xml reload, and reopen logging available via admin url
|
|
. slave startup re-organised so that relays are more independant
|
|
. on xml reload, active sources are updated as well
|
|
. When max-listeners reached, a HTTP 302 code can be sent to redirect
|
|
clients to alternative slave hosts.
|
|
. authenticated relays, those that match the relay user/pass, bypass the
|
|
max-listener check
|
|
|
|
kh55
|
|
. let the stats relays loop around instead of blocking on conditions, that
|
|
way we don't get out of sync if we miss a wakeup.
|
|
. some NULL checks in stats code were missing.
|
|
. updated xsl transform code, small changes to status.xsl as well
|
|
. add checks for missing / starting mountpoints
|
|
. sync up YP in trunk, this looks to be solid now.
|
|
. small include cleanups
|
|
|
|
kh54
|
|
. NULL dereference in yp from previous patch now fixed.
|
|
. When override set on an on-demand relay, then the relay now checks to see
|
|
if there are any listeners on the fallback mount, if so then it starts up.
|
|
. removed useless per source clients stat, listeners already exists
|
|
|
|
kh53
|
|
. remove the last remaining stats at stream shutdown.
|
|
. implement hidden attribute for stats, source stats can be toggled between
|
|
hidden/visible. This is a slight change to stats usage but not major.
|
|
. mountpoints on xsl are better handled now
|
|
. drop slave-host from xml parsing. They are used internally, created and
|
|
removed by master relays authenticating against the relay user/pass.
|
|
. when moving clients don't report on-demand relays as source not available
|
|
. when moving clients don't show move clients on mount /a to /a entry.
|
|
. race fix for YP entries
|
|
|
|
kh52
|
|
. A lot of resync work with trunk
|
|
. add queue shrinking, reduces queues to either last listener or burst
|
|
. minor race fix, mp3 url update lock.
|
|
. allow for xsl files to show inactive mounts but with active fallbacks
|
|
. Add <hidden> attribute to <mount> to prevent xsl display
|
|
. add <burst-on-connect> flag to maintain compatability with trunk
|
|
. doc updates
|
|
|
|
kh51
|
|
. make config lock a rwlock instead of mutex, removes unneccesary stalling
|
|
and removes possible (although not reported) deadlock cases
|
|
. very hard to trigger race in util fixed
|
|
. on-demand authenticated relay wasn't being kicked off properly
|
|
. allow the prevention of duplicate authenticated clients connecting. The
|
|
mechanism is the same as SVN except duplication checking is a generic
|
|
authentication check and applies to all auth mechanisms.
|
|
. make connection handler only sleep when connections are not pending
|
|
. mp3 streams with in-line metadata could of created some empty nodes, not
|
|
a stability problem, but wasteful.
|
|
. small memory leak fixes
|
|
. small internal code cleanups
|
|
|
|
kh50
|
|
. removed redundant pointer, adding new clients could cause a memory
|
|
corruption problem
|
|
. structured relay startup differently, so that relays operate independently
|
|
from one another. relay threads are now attached.
|
|
. resync with trunk. make m3u lookups more general, makes static files work
|
|
with .m3u
|
|
. encode names and values from stats when building xsl pages
|
|
. add /admin/function[.xsl]?perform=xx the current handlers are
|
|
xx = reopenlog
|
|
xx = updatecfg
|
|
. removed old abort test
|
|
|
|
kh49
|
|
. allow for changes in mount settings to update active sources
|
|
. allow for slaves to authenticate with the master using the
|
|
master user/pass.
|
|
. if client authenticates as a relay then bypass the normal
|
|
authentication and max listeners check.
|
|
. fix a string length problem with relay auth
|
|
. if slave fails to auth then log it and go back to waiting
|
|
. remove unused/debug code
|
|
. updated net code, timeout problem for slaves
|
|
|
|
kh48
|
|
. tweaks to per client write limits
|
|
. allow for on-demand to be set on all relays by default
|
|
. resync with trunk for refbuf singleq merge
|
|
. updated win32 build
|
|
. Add Ogg writ handler
|
|
. mp3 fixes, url metadata related
|
|
. resync yp timeout code to the same as in trunk
|
|
. allow for redirecting new clients to other hosts when full
|
|
|
|
kh47
|
|
. per mount burst size was not being referred to properly
|
|
. added sync markers to queue for client starts, the buffer with a sync mark
|
|
from the burst point is where a client starts from.
|
|
. theora marks a sync marker on a page which has the start of a keyframe.
|
|
. vorbis and speex mark sync on all buffers unless theora is used. mp3 sync
|
|
marks on every buffer.
|
|
. some code re-org for queue management, allows old refbuf removal even
|
|
on socket read timeout
|
|
. place clients that can take more pending data at the beginning of the client
|
|
queue. This allows for reducing client scanning when there's a short timeout
|
|
|
|
kh46
|
|
. New listeners actually drop to fallback mount, silly inverse bug
|
|
. typo in mp3 metadata handling, affected error case, rare
|
|
. make short delay timeout work when reading from source, minor handling
|
|
case from previous update.
|
|
. make the ogg vorbis module use 1000 not 1024 as a factor for stats.
|
|
. if a YP server is up but not responding with an error message then show
|
|
a default one.
|
|
. fixed a fallback problem and improved the log messages for when fallback
|
|
is triggered.
|
|
|
|
kh45
|
|
. fix minor YP cleanup case when YP server fails and source disconnects
|
|
. cleanup from previous patch exposed a potential source reading bug, which
|
|
had shown up because sources could disconnect for no reason.
|
|
|
|
kh44
|
|
. fix segv case for non-auth streams, unchecked in last release.
|
|
. only send ICY 200 OK if realplayer else send HTTP/1.0 200 OK
|
|
. allow for setting username/password for auth URLs
|
|
. still apply timeout to recoverable source read
|
|
|
|
kh43
|
|
. add <username> <password> tags for <relay>, default none, both need to
|
|
be provided for auth to be attempted.
|
|
. add url based auth module. example in conf, you can state add and
|
|
remove urls to run for each client, each add is passed id, user, pass, ip,
|
|
user agent. The remove is passed id, user, pass, duration
|
|
. make sure the global client count is in sync when auth is used
|
|
|
|
kh42
|
|
. drop the use of thread conditional variables in the connection threads,
|
|
they we not working as they should
|
|
. minor cleanups, log messages etc
|
|
. re-work auth subsystem to allow for slow auth mechanisms
|
|
. added command auth, do that listener auth can be done externally. The
|
|
external command should take a mount, user and pass on separate lines and
|
|
return a status code of 0 (authenticated) or non-zero (reject)
|
|
|
|
kh41
|
|
. fixed 401 reporting on missing urls, should be 404. Handle a very rare
|
|
long lock held case as well
|
|
|
|
kh40
|
|
. make sure public is 0 in the stats tree
|
|
. move parse_audio_info back to source.c and make it thread safe
|
|
. add debug for YP ok case, debug is supposed to be rarely used after all
|
|
. up the per-listener max write threshold
|
|
. report 401 for failed auth connections
|
|
. add audio/x-mpeg mime type
|
|
|
|
kh39
|
|
. mp3 streams without metadata were not having their metadata initialised
|
|
properly, causing problems when clients connected with metadata capable
|
|
clients.
|
|
. send ice-audio-info to clients, provides YP info in relays situations
|
|
|
|
kh38
|
|
. re-sync with svn codebase, update listener auth and docs
|
|
. send ICY OK instead of HTTP OK for realplayer test
|
|
. minor cleanups
|
|
|
|
kh37
|
|
. add the previous vorbis specific handler back in, it allowed for updates
|
|
via url. enabled via configure --enable-vorbis-updates
|
|
. updated admin pages to those in the main tree
|
|
. plug some minor memory leaks in yp
|
|
|
|
kh36
|
|
. force yp_remove, log message when found, fixed a race as well
|
|
. fix mp3 segv when on-demand relays are used
|
|
. fix debug messaging in yp.c, helps to track any YP related problems
|
|
. emit icy-br instead of icy-bitrate, allow relays to be on YP listings, but
|
|
handle icy-bitrate as well
|
|
. <no-yp> (default 0) in <mount> prevents a mount from going on YP listings
|
|
. fixes to ice-audio-info handling.
|
|
. make yp thread wait longer than it does at shutdown, allows for final
|
|
yp_remove on closing streams
|
|
|
|
kh35
|
|
. handle YP error conditions better.
|
|
. moving clients via url allows on-demand relays to startup/shutdown
|
|
. segv bug fixed from previous release, http headers were being prepared
|
|
on mount switchover.
|
|
|
|
kh34
|
|
. minor fixes for YP, fix missing bits from rewrite
|
|
if any YP request fails go back to add
|
|
do a yp touch on inline mp3 updates as well as url metadata updates
|
|
. sync with main tree for minor patches.
|
|
. set default stream burst size to 64k (typical player prebuffer size)
|
|
. fix some missing web stats
|
|
. add <fallback-when-full> (0 default) to <mount>, put new listeners
|
|
on next available fallback, 404 otherwise
|
|
|
|
kh33
|
|
. schedule a YP touch on admin metadata updates
|
|
. build fix relating to geturl files.
|
|
|
|
kh32
|
|
. minor compile cleanups from CVS
|
|
. make sure a failed script does exit
|
|
. report system message on initial log open failure
|
|
. update YP thread code, big change.
|
|
|
|
kh31
|
|
. fix for bug when adding clients from pending list.
|
|
|
|
kh30
|
|
. add make static for those who want it
|
|
. changed code on list processing for active and pending clients
|
|
. changed when format-specific client data gets freed up
|
|
. shuffle code around, OK response to source client only source_client_thread
|
|
. 404 sent to client on failed on-demand relay
|
|
. more re-sync work + various non-functional cleanups
|
|
|
|
kh29
|
|
. revert test harness code left from before which advertised private streams
|
|
and cleanup unwanted messages
|
|
. more cleanups, more sync work with CVS
|
|
. source_t wasn't going after source client disconnection
|
|
|
|
kh28
|
|
. more re-sync work
|
|
. fixed a yp deadlock case for stuffed yp servers.
|
|
|
|
kh27
|
|
. fixed 2 possible deadlock cases
|
|
. fixed race wrt to alias lookup after HUP change
|
|
. reset ogg stream type to "Ogg Vorbis" even if it isn't, so that YP
|
|
shows icons correctly.
|
|
|
|
kh26
|
|
. fixed YP related bugs, leaks + bad pointer access
|
|
. fixed rare segv case in format_mp3
|
|
. more cleanup work in source shutdown
|
|
. Changed how client http headers are sent back
|
|
. Implement on demand relay, enabled with <on-demand>1</on-demand> in <relay>
|
|
|
|
kh25
|
|
. Changed Ogg module
|
|
- added Ogg multiplexing
|
|
- added theora and speex streaming
|
|
- URL updates removed from vorbis, due to multiple codec support, maybe added later.
|
|
. continue with more re-sync to CVS work
|
|
. fixed a few rare races that had shown up with the re-sync work.
|
|
|
|
kh24
|
|
. more re-sync work with CVS.
|
|
. Identified a couple more locking issues via the admin interface
|
|
. remove errno use from stream dump routines
|
|
|
|
kh23
|
|
. re-sync with CVS tree, fallback override, no-mount, initial work on
|
|
listener authentication.
|
|
. locking updates
|
|
. on-connect/disconnect scripts are started and not waited on.
|
|
. icy/ice headers cleanup
|
|
. initialise config correctly
|
|
|
|
kh22
|
|
. fix some rare lock races
|
|
. page samples fix on EOS flush, reset granulepos to 0 on new stream
|
|
. add /admin/streamlist.txt from beta3
|
|
. big update of the relay code, supports master relay now
|
|
. added yp-log-headers tag in <logging> to disable YP header logging, it
|
|
can make for lots of noise in the logs
|
|
|
|
kh21
|
|
. only send a 200 OK for source connections that are from source clientts
|
|
and not relays
|
|
. on failed source init, some setup was not cleared and the source count
|
|
was not decremented
|
|
. Check that writes to clients have actual data available
|
|
. fix deadlock case with yp
|
|
. fix locking for url metdata updates generically
|
|
. fix use of non thread-safe function localtime in yp
|
|
|
|
kh20
|
|
. fixed slave/stats shutdown race
|
|
. re-applying avl fix for null free function
|
|
. fix for vorbis, API changes caused stalls when sending to client
|
|
. relay updating/restarting code fixed.
|
|
. changes to vorbis input to allow for url updates
|
|
. allow for stating artist and title on url
|
|
|
|
kh19
|
|
. fix a few more signed/unsigned problems, affecting mp3 mainly
|
|
. re-worked pthread configure option
|
|
. update various bits to bring in line with v2.0 beta2
|
|
|
|
kh18
|
|
. another signed/unsigned int bug fixed
|
|
. added a short delay trigger for waiting clients, improves bursting
|
|
. added --disable-log-ip for the access log
|
|
. fix segv when adding clients to inactive relays
|
|
|
|
kh17
|
|
. cleanup some api bits
|
|
. fix mp3 bug causing glitches in the audio
|
|
. added pidfile support
|
|
|
|
kh16
|
|
. made outgoing serial numbers unique, helps in fallback situations
|
|
. revert date field to where it was in access.log. That way it conforms
|
|
to the common log format for analysers.
|
|
. changed interal api of the client write function so that handling of
|
|
burst limits is better. Also allow the queue to be more format specific.
|
|
|
|
kh15
|
|
. Updated vorbis input to rebuild stream, forcing pages to contain around
|
|
1 second worth of audio.
|
|
|
|
kh14
|
|
. use localtime_r when available
|
|
. compile time switch for enabling/disabling logging IP in access log
|
|
. handle source counts better.
|
|
. relays retain the source struct so source clients don't steal inactive
|
|
relay mountpoints.
|
|
|
|
kh13
|
|
. update to latest CVS docs
|
|
. fixup source timeout, internally it's in milliseconds, and can be
|
|
stated per mount as well as globally.
|
|
|
|
kh12
|
|
. terminate stream if inline metadata does not contain "StreamTitle"
|
|
. Added docs by oddsock, and other updates from CVS
|
|
. wait for source start/stop run scripts to finish, linuxthreads
|
|
were leaving zombies.
|
|
. missing initialiser for relay connection, caused segv on failed
|
|
connections
|
|
. fix 3 mp3 metadata mis-alignment bugs on stalled links
|
|
|
|
kh11
|
|
. fix a bad memory reference from kh9
|
|
. don't free finished clients too early, bad memory reference
|
|
|
|
kh10
|
|
. when reading from straight mp3 stream (no shoutcast metadata)
|
|
updates via url were not getting to clients. fixed
|
|
|
|
kh9
|
|
. per-mount queue and burst size options
|
|
. pre-mount on-connect/on-disconnect scripts
|
|
. more re-sync with cvs updates
|
|
. force relay re-check on xml update
|
|
|
|
kh8
|
|
. timeout value had multiple applied
|
|
. more dead code removal
|
|
. make initial mp3 metadata block blank
|
|
. fix potential leak in mp3 reading code.
|
|
|
|
kh7
|
|
. added stream type check for client moving
|
|
. various cleanups, dead code removal
|
|
. minor relay structure mem leak fix
|
|
. fix source count check.
|
|
. enable the fileserve thread again
|
|
|
|
kh6
|
|
. stream dumping added
|
|
. mp3 title update via url fixed up
|
|
. fixed up listclients, moveclients.
|
|
. re-implemented source fallbacks
|
|
|
|
kh5
|
|
. 2 lots of ;; caused compile problems on windows
|
|
. enable curl for YP access
|
|
. allow the format specific get buffer routine to return
|
|
NULL for retry, needs to set running to 0 now
|
|
. add vorbis header parsing for artist title stats
|
|
. add mp3 title parsing for the stats
|
|
|
|
kh4
|
|
. handle relay start and shutdown better.
|
|
. apply avl rwlock leak fix
|
|
. apply stats thread sleep avoidance fix
|
|
. update sock.c errno check
|
|
. enable stats/YP thread, add various stat triggers
|
|
|
|
kh3
|
|
. fix burst size larger than queue size case
|
|
. prevent relay connections initiating if connection is running
|
|
. send server package string from autoconf
|
|
. fixed a few segvs from previous update
|
|
|
|
kh2
|
|
. fix mp3 handling, metadata handling wasn't correct.
|
|
. fix flow control, locks/source counts with relay
|
|
. Added <burst-size> tag default 0 (in bytes)
|
|
. Use queue size field, was hardcoded before
|
|
. Don't filter refbuf if 0 length but have associated data
|
|
. handle EOF/error from socket in format_mp3
|
|
|
|
kh1 - core update
|
|
. removed many locks
|
|
. used single queue for source data.
|
|
. clients start at end of queue and allowed to repeat writes, thus
|
|
giving bursts at connection. capped at 8 writes
|
|
. many secondary things not working. stream dumping, YP, stats,
|
|
web interface
|
|
. mp3 incl shoutcast meta and ogg should work
|
|
|
|
2003-10-12
|
|
Added documentation
|
|
|
|
2003-04-23
|
|
Support aliases
|
|
|
|
2003-03-09
|
|
Support listening on multiple sockets.
|
|
|
|
2003-03-08
|
|
Support for shoutcast source protocol added.
|
|
|
|
2003-03-08
|
|
Started implementing generic admin interface. Supports (so far):
|
|
- dynamic configuration of mount fallbacks
|
|
/admin/fallbacks?mount=/mount&fallback=/fallback
|
|
- setting of mp3 metadata
|
|
/admin/metadata?mount=/mount&mode=updinfo&song=New%20Title
|
|
- dumping raw xml stats
|
|
/admin/rawstats
|
|
- listing all connected clients on a mountpoint:
|
|
/admin/listclients?mount=/mountname
|
|
|
|
2003-03-05
|
|
Implemented the ability to reread the config file on SIGHUP. For now, this
|
|
does not affect configuration for currently running sources (only new
|
|
sources and global parameters like max-listeners)
|
|
|
|
2003-03-02
|
|
More features:
|
|
-- per mountpoint listener maxima
|
|
-- static configuration of mountpoint fallbacks
|
|
-- stream dumping (write incoming stream to disk)
|
|
|
|
2003-02-27
|
|
Fix log buffering on win32 - previously, logs were never flushed, so they
|
|
only got output every few tens or hundreds of lines.
|
|
|
|
2003-02-27
|
|
Support new icy-audio-info header, to communicate various parameters to
|
|
clients and yp servers, including sample rate, quality, channels, bitrate
|
|
|
|
2003-02-25
|
|
Full support for relaying mp3 metadata (if turned on in config file)
|
|
|
|
2003-02-25
|
|
Allow configuration of maximum client queue length (in bytes)
|
|
|
|
2003-02-14
|
|
Finished full IPv6 support.
|
|
|
|
2003-02-12
|
|
Allow configuring local mountpoint seperately from remote mountpoint for
|
|
relays
|
|
|
|
2003-02-12
|
|
Per mountpoint usernames and passwords (for sources)
|
|
|
|
2003-02-11
|
|
Now that it's been officially assigned, use application/ogg instead of
|
|
application/x-ogg
|
|
|
|
2003-02-07
|
|
Allow relaying of mp3 streams from icecast 1.x and shoutcast
|
|
|
|
2003-02-07
|
|
Added ability to configure individual relays (rather than just all streams
|
|
from a single server).
|
|
|
|
2003-02-03
|
|
Added support for YP directory services listings
|
|
are only used by the yp listing routines
|
|
|
|
2003-02-03
|
|
Support command line parameter -b to run in the background (not supported
|
|
on win32)
|
|
|
|
2002-12-31
|
|
Implement configurable mountpoint fallbacks (on source exit, clients are
|
|
transferred to another mountpoint automatically, without disconnecting
|
|
them)
|
|
|
|
2002-12-31
|
|
Implemented full mp3 metadata support.
|
|
|
|
(older stuff is missing from here)
|
|
|