Karl Heyes
6d969934f5
Add checks for whether a source is active
...
svn path=/trunk/icecast/; revision=5843
2004-02-19 15:24:06 +00:00
Karl Heyes
ebf6603c07
small YP memory cleanup
...
svn path=/trunk/icecast/; revision=5842
2004-02-19 14:48:31 +00:00
Karl Heyes
66082000b4
minor cleanup
...
svn path=/trunk/icecast/; revision=5834
2004-02-17 15:46:05 +00:00
Karl Heyes
c3f0d43821
handle error condition at connection
...
svn path=/trunk/net/; revision=5833
2004-02-17 14:17:57 +00:00
Karl Heyes
2accfe55e5
fix possible bad pointer reference when finding fallback mount
...
svn path=/trunk/icecast/; revision=5830
2004-02-17 00:09:14 +00:00
Karl Heyes
012b3f4246
YP related cleanup, avoid bad pointer reference on HUP
...
svn path=/trunk/icecast/; revision=5829
2004-02-16 21:59:08 +00:00
Karl Heyes
5574d519c9
a few cleanups and a fix for async connects
...
svn path=/trunk/net/; revision=5821
2004-02-12 21:28:35 +00:00
Michael Smith
350c524cc8
I Hate String Handling In C.
...
svn path=/trunk/icecast/; revision=5818
2004-02-10 04:37:30 +00:00
Michael Smith
3d9d45c488
Another fix: the length of the _string_ is not the same as the metadata length
...
(the metadata is null-padded out to a multiple of 16 bytes), so we have to deal
with that.
svn path=/trunk/icecast/; revision=5817
2004-02-10 04:29:54 +00:00
Michael Smith
6128c0631c
Oops. Fix null-terminator.
...
svn path=/trunk/icecast/; revision=5816
2004-02-10 04:20:43 +00:00
Michael Smith
7bc7ea581a
Fire off stats event for metadata updates when we get metadata inline.
...
This fixes stats.xml listings for mp3 slave relays with metadata.
We get rid of 'metadata_raw', since we now have to format out that stuff anyway.
svn path=/trunk/icecast/; revision=5815
2004-02-10 03:50:39 +00:00
Karl Heyes
682753ea10
minor cleanup
...
svn path=/trunk/icecast/; revision=5809
2004-02-03 00:48:02 +00:00
Karl Heyes
aabbde37bc
cleanup headers sent to listeners
...
svn path=/trunk/icecast/; revision=5808
2004-02-03 00:29:36 +00:00
Karl Heyes
b24028f620
recheck the relays after the HUP has been handled
...
svn path=/trunk/icecast/; revision=5807
2004-02-02 19:22:11 +00:00
oddsock
c95f2cea8d
added win32 support to libshout
...
- new MSVC6 project files
- os.h with WIN32 specific typedefs
- fixed some casting issues which were causing precision errors on win32
- apparently select doesn't work with microsecond granularity so we will use Sleep() which does.
svn path=/trunk/timing/; revision=5796
2004-01-30 00:08:02 +00:00
Karl Heyes
d7dc5d327c
minor cleanup
...
svn path=/trunk/icecast/; revision=5795
2004-01-29 23:23:53 +00:00
Karl Heyes
c90fb2ea55
cleanup duplicate work, fix rare but potential deadlock, and
...
fix silly bug introduced ealrier
svn path=/trunk/icecast/; revision=5794
2004-01-29 16:46:54 +00:00
Michael Smith
0aad6d849c
Add Copyright notice to each source file, as requested by debian.
...
svn path=/trunk/httpp/; revision=5792
2004-01-29 01:02:12 +00:00
Karl Heyes
78ee74cf3e
change thread startup/shutdown order slightly wrt to slave thread
...
svn path=/trunk/icecast/; revision=5791
2004-01-28 23:23:10 +00:00
Karl Heyes
c9d6c049ef
oops, missed these from previous commit, the lock is now taken further up
...
svn path=/trunk/icecast/; revision=5789
2004-01-28 02:17:57 +00:00
Karl Heyes
87da84a021
make sure the source doesn't disappear from under us when an admin
...
request is performed.
svn path=/trunk/icecast/; revision=5788
2004-01-28 01:22:36 +00:00
Karl Heyes
6c6a22bf45
minor cleanups, and only have one thread responding to TERM
...
svn path=/trunk/avl/; revision=5787
2004-01-27 02:16:25 +00:00
Karl Heyes
1665a4f7d9
fix potential deadlock case at source stream startup
...
svn path=/trunk/icecast/; revision=5786
2004-01-26 22:42:22 +00:00
Karl Heyes
fbd92a913e
add localtime_r checks, useful the threads
...
svn path=/trunk/icecast/; revision=5785
2004-01-26 21:49:07 +00:00
oddsock
610a2c022a
fixed small bug where if using fallbacks and the main mount was not connected, icecast was not connecting client to the fallback mount.
...
svn path=/trunk/icecast/; revision=5780
2004-01-21 15:19:48 +00:00
Michael Smith
d668d4dfa6
Fix nasty bug in file serving code, would probably have made it fail with
...
multiple simultaneous requests.
svn path=/trunk/icecast/; revision=5764
2004-01-16 00:43:16 +00:00
oddsock
8a78baa149
- properly initialize the authorizer structure, otherwise by default it is enabled
...
- add new element (listenurl) to the stats for use in things like java player applets
svn path=/trunk/icecast/; revision=5763
2004-01-15 15:37:25 +00:00
oddsock
6dc92dae79
fixed some variable definitions to be ANSI compatable.
...
updated win32 project files with new files
svn path=/trunk/icecast/; revision=5761
2004-01-15 04:24:57 +00:00
Michael Smith
57dd5f71a5
Client authentication added.
...
Melanie's multilevel fallbacks added (after major changes).
svn path=/trunk/icecast/; revision=5760
2004-01-15 01:01:09 +00:00
oddsock
360c18b5b8
add option to display icecast version string, and cleaned up usage a bit..
...
svn path=/trunk/icecast/; revision=5720
2003-12-29 16:18:48 +00:00
Karl Heyes
e8546d44d4
Fetching the stream list was failing after the config file was re-read.
...
svn path=/trunk/icecast/; revision=5701
2003-12-17 23:03:38 +00:00
Karl Heyes
1e7316b4b2
failure case, keep the source count in sync with the number of sources
...
running, locking for shutdown was also affected.
svn path=/trunk/icecast/; revision=5700
2003-12-17 22:54:43 +00:00
oddsock
e8a61ce5d3
fixed master-slave relaying...
...
* slaves now ask for /admin/streamlist.txt which serves a plaintext version of the source list (this is what it was expecting to get)
* /admin/streamlist still serves XML (which slave.c wasn't expecting)
* fixed a few cases of pointer invalidation due to possible config re-reading.
* slave relay now uses relay password to get the list of streams to relay
svn path=/trunk/icecast/; revision=5695
2003-12-12 23:06:44 +00:00
oddsock
5e075b9202
Remove explicit exit() calls...this was possibly causing some cases of immediate UI termination without any messages...
...
svn path=/trunk/avl/; revision=5683
2003-12-04 16:27:30 +00:00
oddsock
c20bc3c346
Remove stats_callback() which is only used by the win32 UI...The stats gathering done by the UI has been completely rewritten to eliminate some reported instability.
...
svn path=/trunk/icecast/; revision=5682
2003-12-04 16:25:28 +00:00
oddsock
6a67e82db8
Added win32 include for getpid()
...
svn path=/trunk/icecast/; revision=5681
2003-12-04 16:24:34 +00:00
oddsock
70ae454647
get rid of the fullpath of the module that is logged...Stupid VC6....
...
svn path=/trunk/icecast/; revision=5680
2003-12-04 16:23:51 +00:00
Karl Heyes
25dcbd976d
fix segv when fallback or dumpfilename are not specified
...
svn path=/trunk/icecast/; revision=5675
2003-12-02 01:11:12 +00:00
Karl Heyes
112ce96cf0
Add optional pidfile. Writes process id of icecast to named file
...
svn path=/trunk/icecast/; revision=5674
2003-12-01 23:30:13 +00:00
Karl Heyes
b795bb58dc
cleanup bad pointer access after config re-read
...
svn path=/trunk/icecast/; revision=5673
2003-12-01 17:18:37 +00:00
oddsock
9a53ac6510
Icecast we are
...
svn path=/trunk/icecast/; revision=5629
2003-11-25 02:51:02 +00:00
oddsock
6671ab765d
Base ICECAST2_VERSION_STRING off VERSION_STRING which is generated by autoconf..win32 projects will have to manually define this currently..blah.
...
svn path=/trunk/icecast/; revision=5628
2003-11-25 02:41:23 +00:00
oddsock
a3ab569ba1
lets make the ICECAST_VERSION_STRING a bit less of a maintance issue...
...
svn path=/trunk/icecast/; revision=5627
2003-11-22 22:23:04 +00:00
Karl Heyes
e3dbbbc81b
if relay is for an mp3 stream, then get inline metadata by default if
...
possible
svn path=/trunk/icecast/; revision=5600
2003-11-18 00:59:51 +00:00
Karl Heyes
7ec7e90916
fix minor leak on config file read
...
svn path=/trunk/icecast/; revision=5599
2003-11-18 00:49:59 +00:00
Karl Heyes
cfc2695927
patch from mike, unlock logger on failure case.
...
svn path=/trunk/log/; revision=5597
2003-11-17 23:53:37 +00:00
oddsock
d525290195
added WIN32-ism
...
svn path=/trunk/icecast/; revision=5589
2003-11-17 22:38:58 +00:00
Karl Heyes
a093271f95
type warning cleanup
...
svn path=/trunk/icecast/; revision=5586
2003-11-17 21:36:03 +00:00
Karl Heyes
47f877569f
While tracking down the bug which causes the zombie thread manager while
...
streaming mp3 with metadata, this patch has turned out to be successful at
maintaining a working icecast for the few users who have reported the problem
The patch essentially removes the use of the alloca and uses the malloc-type
calls instead.
svn path=/trunk/icecast/; revision=5562
2003-11-11 18:21:49 +00:00
oddsock
fe95280339
added bypassing of thread_sleep() in certain cases.
...
this came from KarlH.
svn path=/trunk/icecast/; revision=5526
2003-10-31 19:21:00 +00:00
oddsock
e554386ef0
proper cleanup of the rwlocks in the avl trees.
...
This was causing some major memory leakage on win32, but was not seen
on unix. Icecast2 on win32 is leakfree again :)
svn path=/trunk/avl/; revision=5525
2003-10-31 19:18:42 +00:00
brendan
ff15b29177
typo
...
svn path=/trunk/timing/; revision=5492
2003-10-20 16:32:55 +00:00
brendan
2bfba7c60a
Leigh Smith's MINGW32 compatibility patch, with modifications for better
...
autoconf feng shui
svn path=/trunk/m4/; revision=5490
2003-10-20 03:08:46 +00:00
Karl Heyes
4f41ecedb6
another compiler cleanup wrt 64bit int/pointer mismatches, thanks to
...
the ports maintainers
svn path=/trunk/avl/; revision=5182
2003-07-29 00:30:36 +00:00
Karl Heyes
571ced86d5
We need to state both of these to get the dependencies and linking working
...
as expected.
svn path=/trunk/icecast/; revision=5181
2003-07-27 22:53:58 +00:00
Karl Heyes
7e0894c0c9
Plug small memory leak when a thread exits.
...
Allow new threads to inherit scheduling policy.
Use long instead of int in thread_exit, thanks to the ports maintainers for
the heads up.
svn path=/trunk/thread/; revision=5179
2003-07-27 18:19:31 +00:00
Karl Heyes
39ad755a25
remove unwanted bits left in from previous commits
...
svn path=/trunk/icecast/; revision=5178
2003-07-27 01:13:06 +00:00
Karl Heyes
0c6493aa6d
place the config reread flag in the global structure
...
svn path=/trunk/icecast/; revision=5175
2003-07-25 14:29:33 +00:00
Karl Heyes
9482db6016
avoid hitting the mutex's in the signal handler, we could block, which is
...
not something we want to do. Some mutex implementations are signal based.
svn path=/trunk/icecast/; revision=5174
2003-07-24 23:45:29 +00:00
Karl Heyes
69de4ea61e
minor fixes. autoconf/make init clenaup, missing includes added and
...
compiler warnings removed
svn path=/trunk/icecast/; revision=5173
2003-07-24 16:21:22 +00:00
brendan
f14dcdc023
use _GNU_SOURCE where possible
...
guard unistd.h with CHROOT rather than HAVE_UNISTD_H, since that's how it's
tested in configure.in
svn path=/trunk/icecast/; revision=5171
2003-07-24 05:32:37 +00:00
brendan
a434767c34
Mike's #include patch
...
svn path=/trunk/icecast/; revision=5170
2003-07-24 05:24:00 +00:00
Karl Heyes
8654a18f72
minor cleanups
...
svn path=/trunk/icecast/; revision=5168
2003-07-23 00:27:10 +00:00
Karl Heyes
52b917d2c3
Make icecast use the shared M4 macros. Cleanup the other files.
...
svn path=/trunk/icecast/; revision=5157
2003-07-21 02:23:41 +00:00
Karl Heyes
43953202a2
refer to cfgfile.h instead of config.h for icecast.xml, and use config.h
...
for autoconf
svn path=/trunk/icecast/; revision=5156
2003-07-21 01:58:54 +00:00
Karl Heyes
88fd04cfd0
a move over from config.c config.h. This is so that config.h can be built
...
by autoconf. config.h is also the name expected by the convenience libs
svn path=/trunk/icecast/; revision=5154
2003-07-21 01:39:39 +00:00
Karl Heyes
59f13c6f76
The xml cleanup occurs after this anyway, and doing this here can cause
...
bad things to occur when xslt gets used.
svn path=/trunk/icecast/; revision=5152
2003-07-18 19:54:02 +00:00
Karl Heyes
508d25641d
avoid header namespace clashes
...
svn path=/trunk/icecast/; revision=5146
2003-07-16 19:41:59 +00:00
brendan
62ce258d46
Assign LGP to thread module
...
svn path=/trunk/thread/; revision=5138
2003-07-14 02:17:52 +00:00
brendan
12db251614
Assign LGPL to files (as implied by COPYING)
...
svn path=/trunk/net/; revision=5137
2003-07-14 02:14:59 +00:00
Karl Heyes
421df597fa
Add log cycling on HUP signals. Currently reopens log files in append mode
...
so allows for continuing the log, or cycling just one log. log filename
changes work as well.
svn path=/trunk/icecast/; revision=5129
2003-07-11 23:54:50 +00:00
Karl Heyes
d637781802
inverted logic used by some of the new functions fixed, locking updates
...
and some code cleanups
svn path=/trunk/log/; revision=5128
2003-07-11 23:36:49 +00:00
Karl Heyes
142c1b0609
don't terminate stream when debugging
...
svn path=/trunk/icecast/; revision=5127
2003-07-11 19:03:30 +00:00
Karl Heyes
d0e828a040
Modify logging framework for providing log cycling. By default the logging
...
is indefinite but here ices2 is capping the logs at around 2Meg, which is
currently fixed.
The renamed log filename is simple (xxx.old) but using a timestamp could
be implemented. Explicit log re-opening (eg HUP handling) is implemented
but not currently used.
svn path=/trunk/log/; revision=5107
2003-07-09 02:45:22 +00:00
oddsock
78e3977e2d
unused variable
...
svn path=/trunk/icecast/; revision=5104
2003-07-08 14:11:32 +00:00
oddsock
d5b71bce49
don't overwrite info in one yp with info from another :)
...
svn path=/trunk/icecast/; revision=5103
2003-07-08 14:11:01 +00:00
oddsock
c6caf7f19c
more portable va_copy for win32
...
svn path=/trunk/net/; revision=5098
2003-07-08 02:39:33 +00:00
oddsock
b1cd3085f2
cleaned a bit
...
svn path=/trunk/icecast/; revision=5094
2003-07-07 22:04:29 +00:00
oddsock
8ce77fc778
win32 goodies
...
svn path=/trunk/icecast/; revision=5093
2003-07-07 22:02:39 +00:00
brendan
729d65ae52
va_copy is undefined on windows
...
svn path=/trunk/net/; revision=5092
2003-07-07 21:33:58 +00:00
brendan
ff09d9eaa9
The last of the convenience lib cleanups. A little forethought in designing
...
a keyboard macro made this one a lot easier.
svn path=/trunk/thread/; revision=5090
2003-07-07 20:38:34 +00:00
brendan
5685b9a866
MAX may be defined elsewhere
...
svn path=/trunk/avl/; revision=5086
2003-07-07 03:37:23 +00:00
brendan
fd289cfe4d
httpp goes through the rinse cycle
...
svn path=/trunk/httpp/; revision=5085
2003-07-07 01:49:27 +00:00
brendan
1af405ee9c
I missed a spot. And another one.
...
svn path=/trunk/avl/; revision=5084
2003-07-07 01:40:08 +00:00
brendan
8278b004fe
net gets the namespace deep cleansing treatment.
...
I suspect all this may be unnecessary, only because I've never heard of this
before. But then, I don't do much library work, and better safe than sorry.
svn path=/trunk/net/; revision=5083
2003-07-07 01:32:42 +00:00
brendan
3833c824ae
Namespace cleanup: _mangle exported symbols, declare others static.
...
This is tedious.
svn path=/trunk/avl/; revision=5082
2003-07-07 01:10:14 +00:00
brendan
cbfb283e6f
Move MP3 headers back into format_mp3.c per Mike's desire.
...
I removed icy- support from the generic send headers function, as it is my
understanding that only MP3 sources use icy headers. PLEASE correct me
if I am wrong.
I also added code in the mp3 function to convert ice-audio-info bitrate to
an icy-br header. ice-audio-info is for YP, icy-br for clients. Perhaps we
should send both to clients though?
svn path=/trunk/icecast/; revision=5079
2003-07-06 15:27:50 +00:00
brendan
004152cf7a
Write a newline after the m3u entry (patch by Paul Bryan).
...
svn path=/trunk/icecast/; revision=5067
2003-07-05 06:36:16 +00:00
giles
a2400995a0
Add a name mangling mechanism so we can safely compile in code we share with applications that might link with use. Currently only hooked up for the timing liblet, but thread is the real target.
...
Basically we define _mangle() in config.h, and use that in timing.h (if available) to prepend the package name to all the symbols in the header and including C files. It's thus fairly invisible.
Unfortunately the prefix is hardwired, so it's another thing that has to be maintained by hand (not that is changes often, but we can't make it a macro). AH_VERBATIM seems to be the only way to add a macro that takes arguments, and it explicitly doesn't do shell expansion. Further, @PACKAGE@ substitution doesn't happen on config.h.in. Insert standard autotools frustration here.
svn path=/trunk/timing/; revision=5060
2003-07-04 23:18:26 +00:00
brendan
7c40c8ae92
Get everthing in make dist, and remove bitkeeper cruft
...
svn path=/trunk/avl/; revision=5050
2003-07-03 12:59:06 +00:00
brendan
e21a3fc19e
Convert ice headers to icy headers for MP3 streams.
...
TODO: rewrite ice-audio-info bitrate tag to icy-br.
svn path=/trunk/icecast/; revision=5045
2003-07-03 01:39:59 +00:00
brendan
205d225b73
When relaying MP3 we reported the source metainterval as well as our own,
...
causing stuttering in some clients. Thank goodness icecast uses an
odd metainterval, or this bug would never have been discoverd :)
svn path=/trunk/icecast/; revision=5044
2003-07-03 01:36:06 +00:00
Karl Heyes
f6efb106de
this was never used and it's handled elsewhere anyway
...
svn path=/trunk/net/; revision=5042
2003-07-02 21:29:08 +00:00
brendan
26e3be189a
finish what we started re: resolver
...
svn path=/trunk/net/; revision=5026
2003-07-01 18:49:07 +00:00
Karl Heyes
7fda8c6afb
infinite loop/memory leak fix for private streams when yp is enabled
...
svn path=/trunk/icecast/; revision=5019
2003-06-29 18:12:09 +00:00
oddsock
4b92ae2baa
- add_yp_info moved into yp.c
...
- all yp adds/touches are now done within a single thread.
This should eliminate any "thread growth" issues and make
things behave much nicer when yp problems arise. We should
eventually change the add/touches to non-blocking sockets,
which will be needed for large numbers of streams doing adds/touches.
svn path=/trunk/icecast/; revision=5012
2003-06-26 13:33:55 +00:00
oddsock
abb6cddbf0
- added startup of yp add/touch thread
...
svn path=/trunk/icecast/; revision=5011
2003-06-26 13:33:15 +00:00
oddsock
fb9292658b
- fixed small memory leak
...
svn path=/trunk/icecast/; revision=5010
2003-06-26 13:32:34 +00:00
oddsock
303c11197f
- moved add_yp_info into yp.c
...
- most of the yp processing now moved into the yp add/touch thread
- use ice/icy-public rather than ice/icy-private to coorespond to libshout and general convention
- memory leak fixed with audio-info
svn path=/trunk/icecast/; revision=5009
2003-06-26 13:32:04 +00:00
oddsock
dd6af7e848
- force touches when vorbis metadata changes
...
svn path=/trunk/icecast/; revision=5008
2003-06-26 13:31:38 +00:00