1
0
mirror of https://gitlab.xiph.org/xiph/icecast-server.git synced 2024-06-30 06:35:23 +00:00
icecast-server/NEWS
Karl Heyes a9a19b3e37 sync up work
svn path=/icecast/branches/kh/icecast/; revision=11267
2006-04-24 03:15:24 +00:00

921 lines
37 KiB
Plaintext

Feature differences from SVN trunk
. server xml reload, and reopen logging available via admin url
. 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
. mount can filter out theora content, useful for define a local relay of a
theora+vorbis stream to have a vorbis only stream from the same source.
. multiple shoutcast source clients possible.
. a per-mount charset can be defined, translates to UTF8.
. stream-auth option for url authenticator.
2.3-kh5
. add media-type to xsl pages, IE has trouble with xhtml
. add <accesslog-exclude-ext> for defining extensions that do not get reported
via the web interface (they are still written in the log file). Whether
alternative tags should be used is still undertermined.
. fix for empty log display via xsl, produced odd chars.
. auth url avoids calling backend code when settings are not defined.
. content type fixes for xslt files
. allow <shoutcast-mount> to appear in <listen-socket>, this defines a per-port
based mountpoint allowing multiple shoutcast source clients to connect. This
also defines a port+1 listen-socket automatically.
. xml parsing changed, 'yes' and 'true' can be taken for boolean settings. some
removal of deprecated tags but may of missed a tag so report if any are.
. added <filter-theora> boolean for <mount>, filters theora out of passed stream
so listener only gets what is left.
. add per-mount listener_connections stat
. add <allow-url-ogg-metadata> bool per-mount, enable to allow url based metadata
updates. Default disabled.
. add charset option to mount options. It allows for conversion to UTF8
for the stats/web pages and therefore YP listings and playlist log.
. minor changes to web pages.
. allow for 403 response from auth url to pass back to listener, in the case of
a 200 response from auth server, allow 403 at start of message to indicate a
403 response to listener.
2.3-kh4
. fserve thread now looks for a chain of refbufs as well.
. plug leaks from coverity code analysis. mainly minor but a possible fd leak.
. log handles caching of N lines.
. show last N lines of log contents via admin pages
. change webpages (for the better!), add logs display and reload config.
. use 64bit handling when using stats _add calls
. send 403 not 404 for max listeners reached.
. add server-wide total sent in streams count.
. fix possible corruption case with new cients.
. on listener move, search from burst point if most recent refbuf is not a sync
point, currently only theora streams.
2.3-kh3
. add source auth via authenticator, affects certain admin access as well.
Only url auth using it currently
. relays now have start timestamps, prevents a possible constant rescanning
effect with multiple relay failure case
. fix memory leak in ogg flac case.
. update YP, get bitrate from stats (incoming_bitrate), if not provided. Issue
yp add after 60 secs, gives time for bitrates to settle.
. cleanups in auth setup, push more setup code into the core auth handler.
. when moving listeners, if most recent refbuf is not a sync point then use
burst point. Fallback theora streams can be affected by this.
. drop master-redirect-port, use <port>.
. set <master-redirect> (in slave) non-zero to send IP/port details in
streamlist request, so that new listener redirection from master is possible.
. set <max-redirect-slaves> (in master) to specify the number of slave servers
that can request listener redirection, default 0.
. prevent avg/total byte stats for fallback to file sources.
. allow for server id to be defined in xml.
. add connected stat to source, duration in seconds.
. increase average stats for bitrate calculation to 30 seconds
. increase sleep duration in connection thread to 100ms
. make source clients report read bytes in access.log
. bypass clients limit check for ssl connections, let admin do stuff
. various type cleanups, gcc4 show various signed/unsigned issues.
. sync up with trunk, win32, os.h/compat.h, minor type definitions
2.3-kh2
. merges from post 2.3 release/feedback
- stats speedup, from order O(n^2) to O(1)
- log cycle update. can state log size and whether renaming with date extension
is to be done
- fixup grnaulepos handling in vorbis rebuild. minor audio playback glitch
- sync intro file change over HUP handling.
- send 403 responses instead of 404 in certain cases.
. added realm and drop_existing_listener settings to generic auth.
. auth url didn't handle authetication of the invoked scripts. Now the order
we handle auth is
- url as http://user:pass@.../
- take auth from options username and password
- if listener_add/remove then use username/password from listener
. fix double free bug in auth
2.3-kh1
. fix double buffer release when dropping auth'd listeners on source exit
. don't put client on auth engine if removeurl is not set
. update xsl pages.
. fixup nsv source clients (shoutcast style), nsvcap uses \r\r\n
. added logsize tag, for automatic move/reopen of logs
. fix race on new listener connection
. missed lock when relay allocates a client
. nul char out by 1 position in initial connection buffer (request)
. slow down accept thread if client limit reached
. cleaned up access logging, username is logged if present
. add icy:// hack for quicktime
. if host header is missing a port then assume it's broken (eg winamp) so
treat as if it wasn't there
. revert parser handling as it was having issues with fallbackl to file
2.2-kh17
. fix double free bug with failed startup of relay
. added per-mount max-listener-duration setting.
. updated auth_url, POST update and option names
. log xml/xsl errors via error log
. fix hopefully last oddcast/connection thread related bug
. added artwork=url to metadata update
. updated docs (some sync-up with trunk)
. max client limiter updated
. sync with trunk
- pidfile created before changeowner
- close stdin/out/err if using -b
- win32 free bug, unix doesn't seem affected
- htpasswd segv bug when auth file is missing
- auth.xsl fixup
- mp3 metadata cleanup
2.2-kh16
. fixed segv when using oddcast DSP
. master/slave streamlist is now isolated in its own thread, so should not
affect the slave thread which among other things does timer updates. libcurl
is used so that is required but you can do ssl queries if required
. new listeners will be rejected if auth queue is backed up
. Changes to web pages by Dave St John
. isolated SSL/non-SSL switch to connection_t
. An older xslt lib can be used (earliest version has not been determined yet)
. changed 'header' option to 'auth_header' option in auth_url
. various typos, cleanups for merges with trunk
2.2-kh15
. fixed 2 segv bugs, one on relay shutdown (on-demand) and another on client
drop in connection thread.
. send the fixed string responses via fserve, unlikely to show as a problem
for normal connections but required for SSL sockets.
. Added SSL handling on certain ports define with <ssl>, initial work by
oddsock, extended due to connection handler changes.
. merge small changes from trunk to keep things in sync
. increased the max number of listen sockets to 50
2.2-kh14
. various auth updates. The auth thread main code handling updated.
- auth url, various checks added for missing settings, listener timelimit
added. Added port to POST and useragent (icecast version).
- auth_htpasswd, uses avl tree to store users, faster compared to disk
and mtime is used to make sure it's in sync.
. win32 updates, probably more cleanups needed but file references are correct
again.
. some small memory leaks plugged and typos fixed.
. added the favicon.ico file from the website
2.2-kh13
. updates the m4 scripts, pthread for solaris/gcc and check for --with-X
. the ogg reading code could busy loop in certain cases, fixed
. limit ogg codecs per stream to 10 so that it has some upper bound and not a
potential excessive memory taker.
. always on relays missed out the listener count initially, fixed
. compiler cleanps.
. YP sends server client limit if max_listeners is set, however client_limit
is not in the stats tree, should it be?
. oddcast sends stream data with http headers, which caused the non-blocking
connection thread to drop the inital bit of the stream, ie ogg header.
. fix xslt handling properly, buffer truncation was missing and empty string
was leaving the socket open.
. fixup handling for shoutcast source clients that send a \n for EOL
. only log to access log if a response code is set
2.2-kh12
. rework connection handler to work on non-blocking sockets. the listener thread
handles the http reading, after which it passes it over to the connection
thread for parsing.
. any xsl file can be placed in admin now and can work off the stats data
. dump listener details to xml for admin requests that get the stats tree
. make sure that fallback file streams are hidden
. fix fd leak in error case for file ranges and plaintext list_mounts function
like that used for querying a master server
. use correct offset from burst point for new clients
. batch up small reads for passthrough streams into slightly larger blocks, so
that TCP protocol overhead is kept to a minimum.
. because of the batching, the max send count per client per iteration is less
. fixup streamlist.txt to be sent via fserve thread
. fixup automatic m3u output to be via fserve thread.
. XML read from HUP is not sent via the connection handler now, instead the
slave thread processes it
. doc update for url listener auth
2.2-kh11
. xsl/xml pages from adminroot and webroot are now delivered via the file
serve thread.
. Allow TouchFreq changes for actions other than add
. update main auth handler, don't require user:pass to be passed, leave it to
the specific auth to decide.
. update auth_url, pass original request url through to auth in mount=
. plug some small memory leaks in auth engine
. remove some dead code
2.2-kh10
. play better with Real/Helix, StreamTitle needs to be sent at least initially.
. A zero'ing of the listener count occured affecting on-demand relays. A left
over from the pending queue drop
. various small checks added
. trunk sync-up
2.2-kh9
. drop the pending list for each source, adds clients to active list directly
. intro and fallback to file handling fixed again, recent changes caused
certain aspects to not work.
. helix/real player wants StreamTitle metadata at the start or else it messes
up the mp3 playback.
. small stats/xsl updates
2.2-kh8
. fix moving listeners bug recently introduced, affects fallback mounts
. make YP engine, url escape alls stats before sending to YP server.
. make <no-yp> setting work again, but it is being deprecated because of the
newer <public> setting
. add slow_listeners stat. A count of listeners that fall too far behind
. small doc updates
2.2-kh7
. fix busy poll loop, introduced in kh6, fast clients are now placed at the
end of the listeners lists and the starting position is recorded.
. use a loop when checking the burst point, that way reducing burst size over
HUP works on active streams
. fix 64bit usage in access.log on win32
. Add ability for relays to be switched on or off but still reserve the
mountpoint.
- Added <enable> tag to <relay>, takes a 1 (default) or 0
- change with url /admin/managerelay?relay=/localmount&enable=1
- added admin page for enabling/disabling relays
. on-[dis]connect scripts are looked up in the mount list instead of copied
to the source
. type cleanups
2.2-kh6
. sync up with trunk merges
. various internal updates
- better handling of per-mount stream settings
- better updating of stats
- removed unnecessary code
. relay username is 'relay' by default
. shoutcast clients can use per-mount password
. split client write into client write and advance buffer
. source IP stat added for relays/source clients
2.2-kh5
. Added total read and sent stats for each mount.
. Added start time for server and each mount
. Added average bandwidth stats for each mount, incoming and outgoing
. fixup problem with stats client exiting. wasn't unregistering
. outgoing mp3 metadata default to incoming if present
. update to explict stream settings in mount
. prevent cyclic fallback mounts ie A->B B-A where B is down
. reduce time syscall call usage
. lookup mount list password for shoutcast source clients
. 404 unknown requests
. removed dead/duplicated code
. check for non-regular file in fserve
2.2-kh4
. Added FLAC/MIDI to Ogg Handler
. sources count was left increased if client limit was reached
. A failed on-demand relay left new-listener count increased
. streamlist.txt is now built from mount list, not source list as source
clients could disappear but may have a mount with a fallback specified.
. update auth_url with some pointer checks, added server= to the post
information sent in 'add'
. missed <subtype> in previous update
. a bad request from client caused a clients count leak
2.2-kh3
. fix nasty buffer reference bug which could cause excessive queue usage
when using chained theora streams
. fix to server full message, client count handling is now done by the
client_create/destroy. client_t created in main handler and passed down
. YP update. The add retrieves the stats not the create, allowing for a
delay in setting the stats. fixes 'blank server name' error. on-demand
relays can now add to YP before connection.
. slave thread now checks if shutdown is required after the sleep
. dropped parser/con from source_t
. a few NULL pointer fixes from auth change and some small mem leaks fixed
. don't trigger short delay in fallback file thread
2.2-kh2
. optional url requests for source startup/shutdown.
. 'header' option for listener url auth. If this header is returned
for the auth request then the listener is authenticated.
. per-mount override for <stream-name> <stream-description> <stream-url>
<genre> and <bitrate>
. fixes to previous auth update
2.2-kh1
. Auth update. could have affected a few cases, report any odd issues
with connection
- auth_t part of mount_proxy now
- xsl/m3u/fserve handling occurs after auth
- single auth thread used (can be part of a pool)
- listeners are auth'd on the mountpoint they requested, no matter if
a fallback was triggered.
. fix bug introduced in kh6 when url updates are used with vorbis only streams
. source stats for on-demand relays could disappear when they should not
. after intro file has been sent, the listener is placed on stream queue to
complete the stated burst size
. mount "all" can be used to state mount settings for all non-admin mountpoints
. ignore a 0 metadata interval in mp3 streams, some servers have sent that
. auth_htpasswd, the tmp file failed to work if an absolute path was specified
. auth_url, 'client=' is sent instead of 'id='
. various log msg cleanups
2.1-kh6
. fix reported bugs in auth url.
. at source shutdown make each client release refbuf before going to auth
. added example php script for auth url. thanks to Stephen Nixon
. don't do work on logical stream changes that will be dropped immediately
afterwards
. make sure m3u does not race against HUP change
. resync with trunk (2.2 fixes)
. type fixup when referring to time_t
. do not list failed relays in streamlist.txt
. xsl caching wasn't working right if many xsl pages were being referenced
. playlist logging was being truncated by 1 for ogg
2.1-kh5
. fix YP memory corruption bug introduced in kh4
. resync with trunk
. updated YP parameters to follow spec.
. stats on the theora stream
. doc and xsl updates
2.1-kh4
. cleanup ogg codec build
. handle ogg header pages better
. ogg vorbis streams are rebuilt, but mutli ogg codec streams are
not, automatically determined now (drop the ogg-rebuild option)
. more error checking in theora handling
. unused code removal
. merge from trunk
- add cluster-password
- admin page for updating title via url
2.1-kh3
. merge of the 2 ogg modules
- drop --enable-vorbis-upodates, use <ogg-rebuild> in the <mount> instead
- split codec specific code into separate files
. authenticated relays (non-slave host) should work again
. update autoconf macros
. move code around to help with sync-up, code move to auth as well
. yp touch wasn't updating as quick as it should
. resync with trunk
- make format_mp3 the default handler, passing through the mime type, that
way unknown streams like AAC, NSV just pass through
- fixup for naming and authenticating of shoutcast mountpoint
- docs and win32 build setup
2.1-kh2
. send max_listeners to YP, server limit if mount is unlimited
. add server client_limit and source_limit to stats
. filter duplicate metadata in inline mp3 streams
. minor fix the xslt
. minor leak on failed range header fserve client
. added AAC and AAC+ content-types for mp3 handler
. resync with trunk
logging metadata, needs testing
added <shoutcast-mount> for shoucast DSP compatible clients
2.1-kh1
. Added <intro> tag to <mount> to allow the contents of a nominated file
(in the same format as the stream) to be sent to a listener before the actual
stream is. On-demand relays also work with this.
. fallback-mount can now be used to state a file not just another streaming
mountpoint (needs to be same format as the stream), fallback-override works
with this.
. the stats.xsl page lists all stats, status.xsl does not show hidden ones.
. internal cleanups when processing clients. Drop the use of per-client predata
and use usual buffers instead. more even client write distribution.
. resync with work from 2.1 release and trunk
shoutcast style source client, needs verifying
NSV streaming.
Win32 build cleanups
kh58
. fix stability bug on vorbis rewrite module (--enable-vorbis-updates)
. fixes to URL metadata handling. For vorbis streams they didn't update
the stats/YP, for MP3 they were ignored if the source stream had no metadata
. fixed small leak in slave host handling
. resync with various trunk changes (aliasing cleanups, win32 timezone offset,
log messages, docs, xsl files etc)
. for auth_url ignore case for authentication header
. updates to slave handling of stats when relays start/stop, mainly relating
to on-demand relays
. expand on the trigger for determining if a relay has changed, it was only
on local mountpoint before.
. if an on-demand relay shuts down, don't remove the YP info
kh57
. don't list hidden mounts on streamlist.txt
. fixup format_vorbis from singleq merge, memory leaks and uninitialised
pointers.
. for YP, grab the ice-bitrate from stats at the time of adding to server,
this is useful as YP spec has bitrate as mandatory but bitrate may only
be determined from stream.
. check per-mount auth settings for per-mount admin requests, useful on
url metadata updates
. resync web and admin docs with recent xhtml work in trunk
kh56
. provide an alternate sock_write_fmt for old style vsnprintf, this was
causing no data (on truncation) to be sent on windows (stats.xml).
. restructure stats engine, the inc/dec calls could cause incorrect values
due to racing with unprocessed events. The maths is done in the engine now
. due to the stats engine, various changes to stats for mountpoints have
happened, most/all cases look ok. stats relays will need double checking
. added max_listeners stat to each listed mount.
. added icecast version global stat
. fixed bug when a on-demand relay as a fallback was being started when
it should not of been.
. allow for clients to fallback from on-demand relays that fail to start
. The default mp3 interval is now 16000 bytes (inline with trunk) but this
can be overridden per-mount with <mp3-metadata-interval> in bytes. Other
format-specific settings could be possible.
. update fserve thread to check which clients are writable, CPU loading
could become high if slow and fast clients are connected.
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)