specifying the TCP send buffer size, it seems that on at least some win32 systems,
the window size stays at 8k (even with registry settings) which could limit available
streaming bandwidth.
svn path=/icecast/trunk/icecast/; revision=15766
a non-crash type race between artist and title fields updating. Also allow
passing a url setting, mapping to StreamURL in the icy metadata block, but do
not override any existing inline setting.
svn path=/icecast/trunk/icecast/; revision=15622
issue requests (using ithe stream_auth option) to allow external engines to
determine whether a client can stream or not. Admin requests using source auth
are able to use this mechanism however source clients using the icy protocol
cannot yet.
svn path=/icecast/trunk/icecast/; revision=15621
once, only the first page is refcounted multiple times by the queue. Put some
checks in to help capture odd cases if they arise.
svn path=/icecast/trunk/icecast/; revision=15613
connect and be waiting a while before receiving stream content.
When retrieving streamlist, don't wait too long for connection to master
schedule a full stats rebuild on source disconnect.
Minor build fix for certain platforms with missing defines
svn path=/icecast/trunk/icecast/; revision=15276
the user is admin. It seems that some source clients issue metadata updates
even if they are rejected due to the mountpoint being in use.
svn path=/icecast/trunk/icecast/; revision=15264
just in a sleep loop which means most clients getting to it have to wait. We
now just start the thread when there is work to do. There is also some small
cleanup for the off_t type usage as well.
svn path=/icecast/trunk/icecast/; revision=15124
the overall time is very slow. This lag is mainly down to the sleep that
the connection and fserve threads do to prevent busy looping when idle. The
sleep has to expire even if requests are waiting.
This patch merges the tasks done by the connection and listener thread into
one thread. It allows us to remove some locking, reduce thread usage and
service new connections more quickly as the poll/select acts as the busy
CPU prevention.
svn path=/icecast/trunk/icecast/; revision=15123
We prevent a failed relay from restarting too quickly but don't prevent
connecting listeners from getting to the source_t during that time. Drop the
on-demand status in the source_t during this period so listeners are rejected.
The setting is reset from relay eventually.
Relays without matching mount sections had no stats initially.
svn path=/icecast/trunk/icecast/; revision=15122
is using them currently, so lets reduce the structure size. On win32, this
extra lock increases the handles usage considerably.
svn path=/icecast/trunk/avl/; revision=15120
need a large number of mountpoints to trigger a truncation. Allow file
serving thread to process a list of blocks for sending back to
the client. Then build the block list in the stats engine for returning.
svn path=/icecast/trunk/icecast/; revision=14812
new listeners with the reason logged. auth_t refcount was getting out of sync
which is a potential small memory leak.
svn path=/icecast/trunk/icecast/; revision=14788
details to stats engine. On YP remove, make sure we find all nodes for that
montpoint not just the first. Allow at least 20mins from a failed touch before
next add, allows YP to give a longer wait period for misconfigured setups by
issuing a TouchFreq header on rejection.
svn path=/icecast/trunk/icecast/; revision=14787
Don't add to stream directory until a minute has passed, it seems like a few sites
are triggering YP requests because they are connecting and then dropping (probably
due to timeout), so at least make sure the stream is running a little while.
svn path=/icecast/trunk/icecast/; revision=14777
was very easy for the intermediate files to clash between projects. The newer
libxml2/libxslt/libcurl also were causing some threading issues due to
library initialization
svn path=/icecast/trunk/icecast/; revision=14465