mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-11-03 04:17:17 -05:00
cf5f9ab673
svn path=/icecast/branches/kh/icecast/; revision=9726
816 lines
32 KiB
Plaintext
816 lines
32 KiB
Plaintext
Feature differences from SVN trunk
|
|
|
|
. 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.
|
|
. Added URL and command based listener authentication, applies to files as well
|
|
. server xml reload, and reopen logging available via admin url
|
|
. 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
|
|
. per-mount format-specific settings can be stated in mount
|
|
. added file intro to streams
|
|
. fallback to file
|
|
|
|
TODO
|
|
. update slave host handling to add entry via url, as on-demand relays don't
|
|
connect until there are listeners.
|
|
. get feedback from people on listener auth via url, Stephen Nixon has done
|
|
some auth scripts that people can use at http://imux.net/icecast/
|
|
|
|
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)
|
|
|