Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/AzuraCast/icecast-kh-ac

A specialized derivative of the Icecast-KH fork of Icecast with special changes intended for the AzuraCast web radio suite. See the upstream repository for assistance!
https://github.com/AzuraCast/icecast-kh-ac

lets get 2.3.3-kh2 out

e073e4c0031fd122fa48dcead317092c75f937a1 authored over 12 years ago by Karl Heyes <[email protected]>
expand on the max lengths for useragent and referer in access log

aa01a8852f5014954e7652299d79aa5a42d0a575 authored over 12 years ago by Karl Heyes <[email protected]>
Rare but possible case of immediate stream override failure leading to fallback

6fd1d3b56c4230e39e9b7e02fa1eaf35f2079108 authored over 12 years ago by Karl Heyes <[email protected]>
on short write of file serving, extend reschedule time further out

0f583ca50bfd1d0c9c412f6458c6dfb5608fa0ce authored over 12 years ago by Karl Heyes <[email protected]>
tighten thresholds for clients moving between workers

What we want to avoid is a lot of clients being moved unless there has been a
change in load pat...

a6b0e497748ad7102fdb5741d3b38fb618008cde authored over 12 years ago by Karl Heyes <[email protected]>
on immediate relay restart, only flush stats on the mountpoint, not the mountpoint itself

This prevents the stats handle being invaldated and also allows for the slaves to be informed
ab...

280ea18ba8d2a78821ee606d0badbb8391de8ff0 authored over 12 years ago by Karl Heyes <[email protected]>
allow for moving relay client to another worker if inactive

c908436f29f247d05d126dc239a85a6847c048d9 authored over 12 years ago by Karl Heyes <[email protected]>
flush out the artist on icy metadata update.

Typically does not happen as either updates are either all in-stream icy or
all externally set v...

0eec1e8ea99647475374d6dd0b8638b6a4e88d50 authored over 12 years ago by Karl Heyes <[email protected]>
drop refcounting when sending content to a particular type of slave relay

80dc71e052103593e70bdf8440b932a4ec220b31 authored over 12 years ago by Karl Heyes <[email protected]>
plug small leak when requesting /mountpoint.xspf

38aecdef5bb029b36bf09bf46edb5095bf028a49 authored over 12 years ago by Karl Heyes <[email protected]>
a hijack client queue value should be the same as the existing client

If we do not set that then listeners will usually abort because the lag
calculation would trigge...

edea4a15495c67b96cf4c91adf94ab008b169130 authored over 12 years ago by Karl Heyes <[email protected]>
push artist to stats engine. missed from previous cleanup

53fff20892a13c348020a9799c002a6da45816c5 authored over 12 years ago by Karl Heyes <[email protected]>
fix a broken fallback to file case

5de64a13b34ee7158d309e05d5c479a986aabd8c authored over 12 years ago by Karl Heyes <[email protected]>
prevent tcp sockets from being passed to fork'd subprocesses

The on-[dis]connect scripts would get a duplicate of the open FDs which is
messy in cases with m...

2ed64d051565e50dc8937b2345757b31d97567c5 authored over 12 years ago by Karl Heyes <[email protected]>
wait for on-[dis]connect script to terminate.

07ddf54df581f49b327df9a281b5696dd3164491 authored over 12 years ago by Karl Heyes <[email protected]>
Don't clear queue over relay restart, listeners may need to copy data

Listeners who are only part way along a block (eg non-frame boundary) will copy
the surplus befo...

0bbbe5b2e98164f24c15fa1df39906470ddf5f5f authored over 12 years ago by Karl Heyes <[email protected]>
drop redundent loop.

The listener thread is started and stopped by the slave thread so no chance of a
race here. Log ...

472ceafda4f90d629a2ba752e01eb0d32d981cf9 authored over 12 years ago by Karl Heyes <[email protected]>
fix for size in sent= URL POST, possible issue on 32bit setups

164f2733f744a662c74cf3e4999291aa05bf0157 authored over 12 years ago by Karl Heyes <[email protected]>
version was renamed

38c6be21b7b09fa2f43ceed03a13b1195fe8eb35 authored over 12 years ago by Karl Heyes <[email protected]>
bump to 2.3.3-kh1

2.3.3 was recently released. So relabel alhough the thread model is very
different still

53d41ab945053820afcd8622641fdd1596e27bfa authored over 12 years ago by Karl Heyes <[email protected]>
minor compile warning removal

36f3d39cbaae7c47a31ab2e7aab1e138d7dee9ac authored over 12 years ago by Karl Heyes <[email protected]>
drop double rwlock unlock

433405b509a60ab08285caa1758fa51badc424ae authored over 12 years ago by Karl Heyes <[email protected]>
log a samplerate change on aac streams. At least try to inform of problems

f2c0fa8c4673ada22eee8bf7b5bb704d99c6845c authored over 12 years ago by Karl Heyes <[email protected]>
NULL a possible dangling pointer.

only dereferenced in cases where listeners are not dropping out causing the timeout on
the termi...

b25cec94b63c85b1715e3809512f5c1fcb21c446 authored over 12 years ago by Karl Heyes <[email protected]>
Cannot assume shared data is a source_t because it can be a relay

7edf0857868eda9e1b5f7f437731ff7d2baa160b authored over 12 years ago by Karl Heyes <[email protected]>
An on-demand relay minimum running threshold

As relays are treated as having a problem if they are not running for 60 seconds then
make sure ...

03dbe702f7c46cf18a8aba90c7b9f3f2b2318535 authored over 12 years ago by Karl Heyes <[email protected]>
add missed spin lock on per-source rate changes

This may be best moved further down but for now, make sure we protect the
structure from multipl...

cded8e94a9318d954cf1dd8236c5d8290aa5869d authored over 12 years ago by Karl Heyes <[email protected]>
sync with trunk on ebml aka webm

It's not an exact merge as the api is ever so slightly different but the actual
parsing code is ...

f2773b857b833a92e164bf0316bb3ca09ee0418d authored over 12 years ago by Karl Heyes <[email protected]>
really fix all the referer typos this time

2e92f4e9e4be92e645f0b7ade34d49498c0bb260 authored over 12 years ago by Karl Heyes <[email protected]>
write lock fixes.

prevent deadlock of source client exit against new listener. Acquire
write lock on source when ...

17ce3ce00ad8343c2619d5d0acc128f4832e2acd authored over 12 years ago by Karl Heyes <[email protected]>
fix typo for referer

04e86bf150fbef22bc9bdd0d2bbd5ce9a0d3e0a4 authored over 12 years ago by Karl Heyes <[email protected]>
add extra POST details to listener_add and remove

Add referrer= to listener_add POST, blank if missing
Add sent= to listener_remove POST, number o...

48ea4bdd4c7d734a6fc295b9c0cce11ede1e6e04 authored over 12 years ago by Karl Heyes <[email protected]>
drop recounting for icy metadata blocks

These should of been done before, but sending to listener is only read locked
so multiple reader...

a8de86941ecdd01855c10867da7a6b5c4dca9595 authored over 12 years ago by Karl Heyes <[email protected]>
minor internal naming change

a5c78f7ee2b92fb62d829415f6a9d265a1aa1936 authored over 12 years ago by Karl Heyes <[email protected]>
make sure the lag calculation is not truncated

fbb70624093e27042c6fb89fdbb59b48c21d2242 authored over 12 years ago by Karl Heyes <[email protected]>
use write lock to prevent race

ea04afc62ac5bc9c8e193fbec2f59f634dede558 authored over 12 years ago by Karl Heyes <[email protected]>
add null pointer check

3443d6eadc7b2f32027ed6c803e7b5e975c10d80 authored over 12 years ago by Karl Heyes <[email protected]>
allow source clients with small numbers of listeners to move

There are many cases where streams exist but are not frequently used, so by
allowing those to mo...

526d6e2992c75fe8fb0509ee0ea0455cfd213de4 authored over 12 years ago by Karl Heyes <[email protected]>
possilbe compile failure, just in case

ca7dbb0c654a39581f3e447bd82f5ccfb04216c5 authored over 12 years ago by Karl Heyes <[email protected]>
url auth fixup if cases where auth has become disabled

619ae4a7f647c08d45f8a1ea390fcce1de961cc8 authored over 12 years ago by Karl Heyes <[email protected]>
shrink queues to min queue size for special case

it is hard to know what the largest listener lag is now (no refcounts), so we
have to allow up t...

c794e15a645e8ef7242149da56843863a73b0b6a authored over 12 years ago by Karl Heyes <[email protected]>
remove redundant trap for catching cases with rwlock conversion

3040756454e2c7ae79e2c718e12e2f6d2a2c8b03 authored over 12 years ago by Karl Heyes <[email protected]>
remove redundant refcount for burst

The listeners do not refcount the queue as they only get a read lock and the
queue does not curr...

7948824ac1da22ed64a35eb231bff2e760d9ae63 authored over 12 years ago by Karl Heyes <[email protected]>
internal unlock move.

up to now, the main source unlock (now rwlock) was done inside source_read although it
was taken...

a528a28866808d2587c933099957a06f9b8ca686 authored over 12 years ago by Karl Heyes <[email protected]>
unregister source before waiting for listeners to be processed.

effb3d2b2fed8ce82848c47c102a034b02957024 authored over 12 years ago by Karl Heyes <[email protected]>
rescheduling tunings for high bitrate streams, typically video

removed minimum delay setting from worker and altered timing skips for both
listener and source ...

d59776c758a4dd8ac7fa3b93225666d16791ebf9 authored over 12 years ago by Karl Heyes <[email protected]>
tidy up code

de5614e916d8d296577e0f8af9fcad4df9e8aa22 authored over 12 years ago by Karl Heyes <[email protected]>
Merge branch 'rwlock-demo' of github.com:karlheyes/icecast-kh into rwlock-demo

610bd47c0816b911ab153515cb6ebaf212e512d1 authored over 12 years ago by Karl Heyes <[email protected]>
Merge branch 'master' of github.com:karlheyes/icecast-kh into rwlock-demo

25fb8d7487d8f212530261b33dd113d5248c42ca authored over 12 years ago by Karl Heyes <[email protected]>
try to skip entity decoding if none required.

This is mainly for cases where source material may have either &amp; or &
in them. If it looks l...

9dbda8d12e76ae9793097392c2d268a141138c6a authored over 12 years ago by Karl Heyes <[email protected]>
don't use a fix offset from the source client time.

Most of the time, listeners are at the beginning of the queue and are
currently scheduled at the...

463590ec6eeaaf31e02623d2df0f3b3b1f708620 authored over 12 years ago by Karl Heyes <[email protected]>
limiter tweaks for high load

don't add more than 1 block on the reader side
force send limiter to be half it was or 4k, which...

c2c1d558ead1217e887f24df480803abdfdb9620 authored over 12 years ago by Karl Heyes <[email protected]>
fix segv at server exit, null deref

84aee5f3dfb5255fbe320710ea8156cccd72dc1d authored over 12 years ago by Karl Heyes <[email protected]>
experimental cut of dropping source mutexes for rwlocks

To make sure this works, several things have been done

per-source outgoing bitrate stats remove...

e67bb4cd9bfd1a45e22388f7d850a207e261e2d5 authored over 12 years ago by Karl Heyes <[email protected]>
add per-source outgoing_kbitrate stat

To avoid multiple listeners updating between workers, we use a spin lock

bbc52a688dc3c73f1261e9b2b030e82cbebe6431 authored over 12 years ago by Karl Heyes <[email protected]>
worker balance work.

The main bits here are to allow for clients to switch workers if the load
differences is worth i...

373099ee6ee0dbbb1bb7cea1f607f6c51dd5560a authored over 12 years ago by Karl Heyes <[email protected]>
increase the level before source will move.

To at least the point where listeners would move away.

5fa36a001c6cfa60be1314ca647baa1a75d6bf69 authored over 12 years ago by Karl Heyes <[email protected]>
worker balancing tweaks.

make find least busy worker account for pending count and call it
from worker_selected if suffic...

85cc05d4459895e85095dd4743ac064624574235 authored over 12 years ago by Karl Heyes <[email protected]>
Fixup listener switching to source client worker.

listener moves to the other worker provided moving there won't be too many
clients on that worke...

846258be19feccb1685059537430c530807355ea authored over 12 years ago by Karl Heyes <[email protected]>
don't use a fix offset from the source client time.

Most of the time, listeners are at the beginning of the queue and are
currently scheduled at the...

4fb3457b440018d2852c29e74463dd48694b7002 authored over 12 years ago by Karl Heyes <[email protected]>
Merge branch 'master' of github.com:karlheyes/icecast-kh into rwlock-demo

5134797c74e2bfcd8f5b2319200620c07665259d authored over 12 years ago by Karl Heyes <[email protected]>
limiter tweaks for high load

don't add more than 1 block on the reader side
force send limiter to be half it was or 4k, which...

ad2246d9110a531de13125a9df99166491857408 authored over 12 years ago by Karl Heyes <[email protected]>
fix segv at server exit, null deref

451f3260dcc60b556458892d517d2b49d83291c8 authored over 12 years ago by Karl Heyes <[email protected]>
try to skip entity decoding if none required.

This is mainly for cases where source material may have either &amp; or &
in them. If it looks l...

5023262bfb590f6d2d11cc9c509523d38a1c7347 authored over 12 years ago by Karl Heyes <[email protected]>
increase the level before source will move.

To at least the point where listeners would move away.

a4e9b2225c691c0910a60d3adcf2c158b8f179cd authored over 12 years ago by Karl Heyes <[email protected]>
worker balancing tweaks.

make find least busy worker account for pending count and call it
from worker_selected if suffic...

3e5bf75a88aff9b192ccfe07eff824c2b7a7d885 authored over 12 years ago by Karl Heyes <[email protected]>
add per-source outgoing_kbitrate stat

To avoid multiple listeners updating between workers, we use a spin lock

5222f3d9c4cd532b630ec1e58585e508d2a4157d authored over 12 years ago by Karl Heyes <[email protected]>
worker balance work.

The main bits here are to allow for clients to switch workers if the load
differences is worth i...

121d08c16e67f9608bfc493a32c09ff1ae432b4e authored over 12 years ago by Karl Heyes <[email protected]>
Fixup listener switching to source client worker.

listener moves to the other worker provided moving there won't be too many
clients on that worke...

75ff0eb659a45294f31d8f92184f32ce9e759e98 authored over 12 years ago by Karl Heyes <[email protected]>
experimental cut of dropping source mutexes for rwlocks

To make sure this works, several things have been done

per-source outgoing bitrate stats remove...

6550584de40a12f95562c590f5f23c26c63d2316 authored over 12 years ago by Karl Heyes <[email protected]>
worker balance tolerance changes

only check whether listener needs to change worker every few seconds instead
of each time, as ea...

aae01da607e40d9a7c7982957960df862d281c2c authored over 12 years ago by Karl Heyes <[email protected]>
inactivity timeout. Terminate icecast if N seconds elapse with no streams

dynamically created icecasts can automatically switch off when streaming has
ceased, freeing up ...

8f7743a366cae6143fbede3d6d99d77f1f3db197 authored over 12 years ago by Karl Heyes <[email protected]>
explicit cast for calculation

3113309eafde2d50a5245a83b3e4218523cfb5c9 authored over 12 years ago by Karl Heyes <[email protected]>
reduce reschedule time of readers if only small blocks arriving

some setups seem to only receive small writes eg less than 300 bytes,
which causes another resch...

035f8c7774280e07abb9b1e562c5f34bb5a7b428 authored over 12 years ago by Karl Heyes <[email protected]>
allow lower retry time on larger in-memory content, eg large xsl

2b85c43431dd329e8f82bef1009dda1fbf55f527 authored over 12 years ago by Karl Heyes <[email protected]>
bad data alignment when handling pre-read data eg intro files

frame alignment parsing could cause invalid data for FLV listeners when
they transistion to sour...

3d2cd5fcda1e5401c22f12d8061235e11fd98c65 authored over 12 years ago by Karl Heyes <[email protected]>
Add <x-forwarded-for> into <paths> for IP substitution

allows you to nominate certain addresses where reverse proxies can be
used. These trusted proxie...

f4fdad391e0e3fb0cacc472d98709ec3237a14ca authored over 12 years ago by Karl Heyes <[email protected]>
remove surplus spaces

7c82641d16c79337d4d6c9362decad73b373f374 authored over 12 years ago by Karl Heyes <[email protected]>
force termination if no sockets can be allocated initially

For non-root starts, a failure to get any listening sockets initially
meant the server ran. This...

11cbeceea3c3055896b2e31ebb4a295600819fa1 authored over 12 years ago by Karl Heyes <[email protected]>
win32 fix for timezone bug in timestamps

When msvc was used, Ed made a routine to make a datestamp with timezone offset
as the win32 api ...

95a1f36da90e118c7789fd08fbd064010e7868fe authored over 12 years ago by Karl Heyes <[email protected]>
avoid very low slave polling or relay restart delay setting

2f615dc0e45887a128babe3978e1e173114e1ae4 authored over 12 years ago by Karl Heyes <[email protected]>
version kh33

97968f62db30f9373b401971c1e6572e7436f060 authored over 12 years ago by Karl Heyes <[email protected]>
minor, report incoming IP if clients limit reached

249dde414da876cec256fe268b2bd48cc07546aa authored over 12 years ago by Karl Heyes <[email protected]>
Drop requirement for matching / in mountpoints with wildcards

eg /*.mp3 will now match /abc/match.mp3

you can still specofy a / in the pattern eg /live*/*.mp3

b66bff179bbf21dadeb74131c8868ddec1bd82e0 authored over 12 years ago by Karl Heyes <[email protected]>
add limiter on bytes read on ogg stream

possible busy loop case if large amount of invalid ogg data arrives. Here we
jump out if there i...

33990c9923381ee56c8eb4c557a662025592ab9f authored over 12 years ago by Karl Heyes <[email protected]>
make sure the reschedule time is from the correct point

b4586c999eb029abe3961d4202d8a8d3ef973395 authored over 12 years ago by Karl Heyes <[email protected]>
minor formatting and log report changes

74b19e2bdb3803e04488cb388652123eedfd6ae3 authored over 12 years ago by Karl Heyes <[email protected]>
truncate content type if need be before doing format set up

a7b9b8cdb05a09154d7e6e2fbe2c7bbd04b1957e authored over 12 years ago by Karl Heyes <[email protected]>
another bad case use fixed up on mpeg parsing.

typically on comtent with mixed samplerates. Allow it but also log the changes
as some setups ar...

a61205709a99a5d928120fcdf48a06b643d36033 authored over 12 years ago by Karl Heyes <[email protected]>
log samplerate change but allow stream to continue.

943412e293cf2c48cd34b0cad56b0d0fbb0ec9ab authored over 12 years ago by Karl Heyes <[email protected]>
Use per-listener mpeg parser not shared parser in source

If there are unexpected changes in samplerate in stream which differ
from the intro then parsing...

5d6096251e36333957dafb95711771edee0bbdbc authored over 12 years ago by Karl Heyes <[email protected]>
log failure case on resync.

May help identify incorrectly encoded files for some.

da6202f6d35f9d36459016eca704d1e8b88fe044 authored over 12 years ago by Karl Heyes <[email protected]>
reload now refreshes settings on available sources

A previous commit on reducing work done on reload went a bit too far and stopped
updated sources...

ed507c5445d60bd85ddd6a6fb49cc71f7d19a1f6 authored over 12 years ago by Karl Heyes <[email protected]>
mpeg parse fixup of the day. Corner case fix but needed more work

The previous code work fairly well but didn't handle the situation where
certain bits in the fra...

cfe64d960f36a3bad3c30c159a8d524712fb022f authored over 12 years ago by Karl Heyes <[email protected]>
Avoid odd busy loop case from previous patch.

case of indefinte loop if r became greater than syncbytes.

c5564faaecb42ceedca22c70acd1a5924b577009 authored over 12 years ago by Karl Heyes <[email protected]>
revert previous patch for fallback to file

A previous patch was used to avoid the per-listener lookup but at this point we
cannot know for ...

9fbae42d89325605415e329514426f5b86af5363 authored over 12 years ago by Karl Heyes <[email protected]>
allow more tolerance on resync of streams

in certain cases, a resync of an existing stream could find a series of
matching markers leading...

759e6d31d7c89eb87cef156d29da41bdcb0ead3d authored over 12 years ago by Karl Heyes <[email protected]>
increase tolerance for invalid mp3/aac stream. report which stream as well

seems that some have been triggering this but it's currently unclear on
what exactly is the trig...

53afbc8a331b05011e6e541d19dbe6db07ecab25 authored over 12 years ago by Karl Heyes <[email protected]>
fix for 32bit systems. source shutdown check assumed 64bit type

2e3a6d698baeee555375bb868165924d546c4ab7 authored over 12 years ago by Karl Heyes <[email protected]>
Fixed problem with RealPlayer and apps using it (on Symbian phones) refusing to play AAC+ streams on the server.

e30bc3bfb4fe22d70d632fcba0146120dfe8e475 authored over 12 years ago by Carl Kittelberger <[email protected]>