feature differences from CVS
fast pre-buffering - burst a certain amount of data at connection time.
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
initial implementation of multiple Ogg codec streaming, theora, vorbis and
speex. more work needed to start at theora key frame.
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 1 in
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 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 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)