Moritz Grimm
0d66baf9f7
Merge branch 'feature/unit_tests' into feature/config_refactor
2015-05-14 23:37:22 +02:00
Moritz Grimm
4cffc5102d
Initialize cfg for refresh_interval
2015-05-14 23:28:08 +02:00
Moritz Grimm
b62d4b4317
Fix regression in handling of refresh_interval
2015-05-14 23:23:48 +02:00
Moritz Grimm
bd04a66c79
Add -r command line option: explicitly enable real-time status line
2015-05-12 17:35:04 +02:00
Moritz Grimm
1115ab16db
Return NULL in case of unset program_config_file
2015-05-12 17:33:08 +02:00
Moritz Grimm
36511d9408
Add script to generate coverage reports using lcov.
2015-05-12 12:06:49 +02:00
Moritz Grimm
9c842281fa
Make LIBOBJS available to libtool libs
2015-05-12 11:32:21 +02:00
Moritz Grimm
8355fde68a
Merge branch 'feature/config_refactor' into feature/unit_tests
2015-05-11 23:48:50 +02:00
Moritz Grimm
f7bc34e8f2
Use a macro to set UINT values
2015-05-11 23:48:07 +02:00
Moritz Grimm
9f975551ee
Merge branch 'feature/config_refactor' into feature/unit_tests
2015-05-11 22:47:27 +02:00
Moritz Grimm
d2468432db
Make behaviour of setters consistent
2015-05-11 22:45:22 +02:00
Moritz Grimm
f6ec4e1aeb
Add check unit testing framework w/ 2 dummy tests
2015-05-06 23:45:52 +02:00
Moritz Grimm
33eb55ae34
Relocate config file check
...
* Stop supporting systems without stat(2) while here
* Remove some additional configure checks for ubiquitous functions (>=C99)
2015-05-06 17:00:23 +00:00
Moritz Grimm
05c7e32997
Fix command line parsing regression
2015-05-06 16:59:05 +00:00
Moritz Grimm
43e48648fa
Refactor configuration (work in progress)
...
* Move -m and -n command line options into the config file
* Restructure configuration file:
- Group into "server", "stream", "media", "metadata", "decoders", and
"encoders"
- Untangle decoder and encoder:
o Decoders match on file extensions and convert to a canonical "internal"
format
o Encoders create one of the supported stream formats, potentially using
different parameters (like bitrate)
- Consistently specify stream format
- Enable reencoding by selecting an encoder
* Architecturally separate configuration file storage from parsing
- Allows for different configuration back-ends in the future, like
YAML, SQL, REST API, ...
* Support roll-back in case of error on (re)load
* Anticipate HTTPS support
2015-05-06 00:38:00 +02:00
Moritz Grimm
ffa2a01c96
Add missing change to xreallocarray() in previous
2015-04-23 00:02:51 +02:00
Moritz Grimm
ab268e9616
Strip xalloc to something much simpler
...
The libxalloc was reincarnated long ago in a separate utility library.
It did a good job help make ezstream have robust memory management years ago,
but now it's time to move on and get back to basics.
The replacement introduces reallocarray(), which is an overflow-checking
alternative to both malloc (NULL ptr) and realloc().
2015-04-22 23:38:19 +02:00
Moritz Grimm
c6747ef998
Prefer SIGSEGV over SIGABRT in case of explicit internal API abuse
...
While here, declare some module-internal functions static.
2015-04-22 19:50:00 +02:00
Moritz Grimm
41058dac79
Use log API for all regular output messages
...
This makes ezstream log via syslog and stderr. The "real-time status
line" remains unaffected.
While here, make the output more concise and consistent.
2015-04-22 19:29:20 +02:00
Moritz Grimm
19af508eae
Add a simple logging API
...
Uses syslog
2015-04-16 19:30:41 +02:00
Moritz Grimm
85c90a3c80
Add support for compiler attributes
2015-04-16 19:30:36 +02:00
Moritz Grimm
9bc65bf717
Factor out command line parsing
2015-04-16 19:30:08 +02:00
Moritz Grimm
4062cc190a
Streamline -s option by always requiring an option argument
2015-04-16 19:25:40 +02:00
Moritz Grimm
e3b3ed4cf9
Remove active support for Windows and certain legacy UNIX systems
2015-04-15 23:16:12 +02:00
Moritz Grimm
dd1ab911c9
Two more indent fixes.
2015-04-15 13:20:32 +02:00
Moritz Grimm
26dd4d2a8e
Indent closer to my favorite style(9)
...
Why yes, it /is/ KNF!
2015-04-13 23:28:21 +02:00
Moritz Grimm
400ef3c9cc
Remove comments mentioning the FSF postal address
...
I do not plan to ever keep that up to date in case they move again.
If you need a copy of the GPL, use the Internet or read COPYING.
2015-03-24 22:42:06 +01:00
Moritz Grimm
c243ed5971
Fix cast
2015-02-27 23:02:55 +01:00
Moritz Grimm
739a08b5b9
Untangle compatibility code
...
* update to latest strlc*(3) and strtonum(3) functions
* isolate local_basename()
2015-02-27 22:42:51 +01:00
Moritz Grimm
00017d2165
Unconditionally include compat
2015-02-27 15:17:24 +01:00
Moritz Grimm
291ed50044
Drop RCS ID tag
2015-02-23 13:51:55 +01:00
Moritz Grimm
8819f0f9f9
Require automake 1.10 everywhere
2015-02-23 13:51:47 +01:00
Moritz Grimm
a7f3ae476d
Always include time.h.
2015-01-17 23:50:11 +01:00
Moritz Grimm
7790164cc3
Consolidate INCLUDES into AM_CPPFLAGS
2015-01-17 23:34:32 +01:00
Moritz Grimm
dd4c241fef
Update copyright and/or author email
2015-01-17 22:34:34 +01:00
Moritz Grimm
6211bc8506
Fix a shell command injection vulnerability in metadata
...
This has been reported by Alexandre Rebert in February 2013(!).
The time to fix is terrible; luckily, the affected user base is likely to be
very small.
2015-01-07 22:49:09 +01:00
Moritz Grimm
29ae1b351b
Remove unneccessary assignment
2015-01-04 23:43:25 +01:00
Moritz Grimm
10f739f6f3
Add option -m to disable active metadata updates
...
Requested by cmodyssey via ticket #1620 :
"Allow ezstream to stop it sending metadata information by configuration"
2015-01-03 23:19:28 +01:00
Moritz Grimm
f04c395106
Do not close stdin on EOS
...
From gquintard via ticket #2045 :
"Not sending data to stdin can throw ezstream into an infinite loop"
2015-01-03 00:08:12 +01:00
moritz
549af56184
Add new <metadata_refreshinterval/> feature
...
Add new <metadata_refreshinterval/> feature and configuration option. Based on
a patch by Matthew Adams (thanks!), with minor changes and documentation
additions by me.
(cherry picked from commit 4176545211
)
2015-01-01 23:41:31 +01:00
moritz
000320afa5
Teach ezstream a different mode of operation, as a one-shot line shuffling tool.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@16537 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-30 21:55:24 +00:00
moritz
c59c0c9847
Support reading playlists from standard input.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@16536 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-30 21:46:15 +00:00
moritz
c7f262ddf8
Move the verbose error check where it belongs.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@16534 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-30 19:41:59 +00:00
moritz
5121dd35de
Do not quote $EZSTREAM, which breaks paths with whitespace but allows to
...
smuggle in default command line arguments.
git-svn-id: https://svn.xiph.org/trunk/ezstream@16531 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-30 18:23:12 +00:00
moritz
d3151cd65a
Add new wrapper/convenience script ezstream-file.sh -- generates ezstreams on-
...
the-fly.
git-svn-id: https://svn.xiph.org/trunk/ezstream@16529 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-30 12:49:06 +00:00
moritz
f8c39fa992
Remove pointless and (at this point) irritating warning message.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@16528 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-29 09:37:39 +00:00
moritz
995c5d2b77
The original reason to abort ezstream when running into problems opening a media
...
file was to prevent a very verbose infinite loop (e.g. when accidentially
playing an outdated playlist.) Bring that back by aborting after 100 subsequent
errors.
git-svn-id: https://svn.xiph.org/trunk/ezstream@16527 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-29 09:36:18 +00:00
moritz
322b88412f
... also fix ezstream in this regard: No need to complain when receiving such
...
an empty line, and not receiving any output should not be a fatal error.
Consider the latter to be "end-of-playlist", too.
git-svn-id: https://svn.xiph.org/trunk/ezstream@16526 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-29 09:14:12 +00:00
moritz
cae7e0029a
#1585 : Continue when openResource() fails.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@16497 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-08-22 10:03:45 +00:00
moritz
c6a686560e
Akos Veres suggested that ezstream should be able to set the login username,
...
and I concur.
git-svn-id: https://svn.xiph.org/trunk/ezstream@16319 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-07-22 20:19:38 +00:00
moritz
1951ddd827
Actually, we agreed on GPLv2 only ...
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@16150 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-06-21 14:35:27 +00:00
moritz
5a0bfa143b
Finish up the modifications to the Windows build. In case anything remains to be done, it'll be nits.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15798 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-18 20:24:35 +00:00
moritz
9375b750e8
Mh... compiling before commit would've helped.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15797 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-18 20:15:24 +00:00
moritz
363318fa41
Make metadata_get_name() return UTF8, which is what the rest of ezstream now
...
expects. From Roman Donchenko.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15796 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-18 19:57:15 +00:00
moritz
7e8656313d
Repair some fallout from previous commits, and work more on Win32 builds.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15795 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-18 19:55:20 +00:00
moritz
c0b09af703
Work towards cleaner portability goo, and remove some ununsed code while there.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15794 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-18 09:10:28 +00:00
moritz
842d72adc0
Bump copyright year where applicable.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15789 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-17 18:29:15 +00:00
moritz
dc547dcbbf
Native EOL-style, and Id tags in a couple of places.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15788 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-17 18:20:58 +00:00
moritz
df2b05bb61
#1398 : Make optional components optional. (For real.)
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15782 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-16 22:59:28 +00:00
moritz
90d4a1a6a3
It's stupid to put my own copyright on a file where I didn't really write the
...
code. Luckily, I had the proper copyright statement in there already, so moving
it fixes things.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15781 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-16 20:39:22 +00:00
moritz
b11e6acb36
Squelch another bunch of warnings after checking that what's happening is what's
...
wanted.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15780 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-16 20:22:56 +00:00
moritz
f193a9d5ad
Use a wrapper around getopt() for portability. This uses the system getopt()
...
whenever possible, and otherwise uses a stripped down, single options only,
BSD getopt() (which is smaller and doesn't come with ifdef-stuff-in-features.h.)
git-svn-id: https://svn.xiph.org/trunk/ezstream@15779 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-16 20:12:29 +00:00
moritz
2e33855113
Guarantee that iconvert() never returns NULL. This is a clumsy, but effective
...
way to prevent NULL dereferences after the recent character conversion changes
in other parts of ezstream.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15778 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-16 19:51:26 +00:00
moritz
9acbffc2dd
Overhaul the ezstream build system, using my own library of autoconf macros.
...
There are a few benefits to this, but the main reason is consistency and me
completely understanding what's going on. Regressions are not expected, but
wouldn't surprise either ... this needs lots of testing.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15776 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-16 00:08:31 +00:00
moritz
4eab64df5d
Assorted type fixes, unshadowing of variables, etc.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@15775 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-15 17:18:56 +00:00
moritz
ae3dd91581
Perform more charset conversions where necessary. This should fix the handling
...
of files with non-ASCII filenames, as well as some more cases related to
metadata.
From Roman Donchenko <DXDragon at yandex dot ru>, with some minor fixes by
myself.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15770 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-15 11:05:44 +00:00
moritz
057bc88dad
Fixes for MinGW.
...
From Roman Donchenko <DXDragon at yandex dot ru>.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15769 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-15 11:00:43 +00:00
moritz
97bfd5b1de
Add missing include for shout_t.
...
From Roman Donchenko <DXDragon at yandex dot ru>.
git-svn-id: https://svn.xiph.org/trunk/ezstream@15768 0101bb08-14d6-0310-b084-bc0e0c8e3800
2009-03-15 10:59:55 +00:00
moritz
ddb6c4091f
Ignore SIGPIPE, which turned out to be the cause for silent deaths of long-
...
running ezstream processes.
git-svn-id: https://svn.xiph.org/trunk/ezstream@14255 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-12-01 16:02:55 +00:00
moritz
259e3c1a62
Improve output messages some more when dealing with standard input.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@14009 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-10-18 07:39:18 +00:00
moritz
ee75e2a315
Wow, now how did that one creep in an remain undetected for so long?
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@14008 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-10-18 06:38:51 +00:00
moritz
e81b8b9f6e
This needs changin' as well.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13999 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-10-16 14:51:21 +00:00
moritz
fa310e948b
Fix use of yet another uninitialized-if-streaming-from-stdin variable. This
...
prevents bogus output in the "real-time" status line.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13998 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-10-16 14:46:37 +00:00
moritz
1f614e6486
Return a proper error message when there's no more data to read from standard
...
input.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13997 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-10-16 14:44:42 +00:00
moritz
8460e4bf81
Ticket #1247 : Don't dereference uninitialized junk pointers; this fixes a
...
crash when streaming standard input without also using a metadata program
(d'oh.)
git-svn-id: https://svn.xiph.org/trunk/ezstream@13996 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-10-16 14:28:23 +00:00
moritz
87c01b03ad
Warn, in verbose mode, when dealing with empty playlists.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13802 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-09-14 07:01:18 +00:00
moritz
1086dc4f15
In this case, the pl->num check is superfluous.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13801 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-09-14 07:00:41 +00:00
moritz
b3f845a60d
If there are no playlist entries, dereferencing pl->list causes a segfault.
...
Fix this by checking pl->num early.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13800 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-09-14 06:59:28 +00:00
moritz
957f1d94c5
gettimeofday() everywhere; now ezstream behaves almost the same on Windows
...
compared to Unix. Also mention TagLib support on Windows in NEWS.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13668 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-31 11:47:54 +00:00
moritz
509dc8511e
Fake the location of my basename() source to be more clear.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13667 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-31 11:46:05 +00:00
moritz
df482694c0
* Back out conversions to ISO8859-1.
...
* Add 'charset=UTF-8' to the metadata update query arguments. The current
release of Icecast will ignore it, and the next one will know how to handle
it (karl@ is still working on it at this point, but previous diffs worked
as advertised.)
* If no metadata format string is available and we have both an artist and
a title, use the artist/title way of updating instead of the generic "song"
interface.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13658 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-30 11:31:33 +00:00
moritz
cf6761f437
Need to consider converting from an unknown/unsupported codeset as well.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13626 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-25 14:37:42 +00:00
moritz
35c07b9516
Whoops. Fix error message ...
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13624 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-25 14:16:07 +00:00
moritz
15064493bc
Get closer to what Icecast does (or will) expect wrt used codesets. I still
...
disagree with the new ISO-8859-1 assumption for non-Ogg streams, because
(for example) with ID3 tags, a codeset is simply not part of the specification
and a better assumption would be that they are in the user's locale.
Therefore, it would make more sense, IMO, to clearly specify that ANY metadata
sent to Icecast should be UTF-8 and let the source client figure out the rest.
This would also answer the question what codeset an /admin user should use if
the content type of a mountpoint isn't known (although that can be figured out
with an unclean read of the mountpoint's stats beforehand.)
git-svn-id: https://svn.xiph.org/trunk/ezstream@13622 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-25 12:24:51 +00:00
moritz
256394e811
Less code is always better.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13616 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-24 17:23:09 +00:00
moritz
f1028b0356
UTF-8 support is now ready to be used.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13609 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-24 11:57:09 +00:00
moritz
0b3652810e
Work in progress: Proper UTF-8 support that doesn't affect console output.
...
No new code is actually used, yet, as there's still more work to be done.
This adds the whole iconv-related build stuff and moves most auto* files
into build-aux/.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13607 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-24 00:52:13 +00:00
moritz
c71530c0e2
Fix native ID3v1 reading (no-op, since affected fields were not used.)
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13606 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-24 00:46:21 +00:00
moritz
f481b60418
Change the MP3 special case, so working with metadata is more flexible. Turns
...
out that there is still a problem with MP3 streams that are being reencoded.
This allows me to try out more solutions.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13592 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-23 13:48:42 +00:00
moritz
4a4a0dc700
The -c parameter is not optional.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13587 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-22 15:19:17 +00:00
moritz
8acd8622d0
Make main() smaller by moving the libshout setup into a separate function.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13586 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-22 15:15:49 +00:00
moritz
78f58cbd27
Ticket #1225 , reported by matpoc at lenta dot ru: Looks like there's demand
...
for normalizing metadata strings, which -- I assume -- is due to strange
(MP3) encoders that do weird things. Well, why not. It's not too intrusive,
and disabled by default. Enable string normalization with the new -n command
line parameter.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13544 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-14 03:43:35 +00:00
moritz
a4b1f2b7f6
Ticket #1225 , reported by matpoc at lenta dot ru: Bring back special case
...
for streaming MP3 files without reencoding, which was lost during the many
changes in 0.3.0 and subsequently forgotten. Sorry for the inconvenience,
and thanks for the report.
git-svn-id: https://svn.xiph.org/trunk/ezstream@13542 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-14 03:32:13 +00:00
moritz
cd26639a15
Since playlist_t is using size_t, change two unsigned longs to size_t as well.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13467 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-08 21:52:50 +00:00
moritz
3531b646cf
WIN32 #ifdef reduction.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13463 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-08 14:20:41 +00:00
moritz
709ae55108
Sync.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13460 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-08 13:24:29 +00:00
moritz
71a41f876c
Rename shutdown() to ez_shutdown() to prevent a function name clash on Windows.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13458 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-08 13:15:04 +00:00
moritz
086b61a190
Use a better \n and \r trimming idiom after fgets().
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13457 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-08 13:04:49 +00:00
moritz
539100e6fc
It's good to know how to spell the own email address.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13443 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 17:24:18 +00:00
moritz
9dbe97bf47
Merge.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13441 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 17:10:37 +00:00
moritz
c8a98a5b72
Sprinkle in some consistency ...
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13440 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 17:10:29 +00:00
moritz
3dd13ec7aa
Do a clean shutdown on SIGINT and SIGTERM.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13438 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 17:04:50 +00:00
moritz
c444af6814
Merge xalloc changes.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13437 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 16:46:17 +00:00
moritz
53fa75fdba
Now that xalloc is pretty much an external entity, explicitly set freed
...
pointers to NULL if we lateron expect them to be NULL (no longer rely on
xalloc to do this for us.)
git-svn-id: https://svn.xiph.org/trunk/ezstream@13436 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 16:39:09 +00:00
moritz
f282e3d474
Do not xfree() something that wasn't x*alloc()'ed.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13433 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-04 16:09:50 +00:00
moritz
62661080dc
Switch to using the (integrated) libxalloc.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13431 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-08-02 18:48:26 +00:00
moritz
c1ca736734
Cosmetic changes; no functional change. Use the calloc()-style API correctly.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13304 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-07-24 15:29:16 +00:00
moritz
452a8e83cb
Cosmetic changes. No functional change.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13303 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-07-24 15:13:45 +00:00
moritz
ef221fcc38
Fix the dang file descriptor leak of < 0.4.1 for good; the old fix only
...
took care of it partially. Diagnosed with the help from someone, who wishes
to stay anonymous. Thanks!
git-svn-id: https://svn.xiph.org/trunk/ezstream@13296 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-07-24 13:04:01 +00:00
moritz
af6479c0d9
D'oh! Make <stream_once/> work with playlists as well. Problem description
...
found in the Icecast mailing list archive, in a mail by Geoff Shang, via
Google. Let's hope that the bug tracker prevents this kind of bug hunting
in the future ...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13272 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-07-16 00:32:17 +00:00
moritz
24568a7ec8
Change my email address to the new one.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13259 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-07-14 01:32:28 +00:00
moritz
ec14d3b017
Plug an fd leak, triggered by using -q.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@13257 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-07-14 01:20:45 +00:00
moritz
cd37dd2e26
Make this build on Windows and not segfault the MIPSpro C compiler version <7.2.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12717 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-11 00:28:33 +00:00
moritz
6a40d2f7a5
taglib_file_audioproperties returns const
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12714 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-10 23:28:13 +00:00
moritz
a25656392e
Remove unreachable statement.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12713 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-10 22:44:02 +00:00
moritz
1d4426e834
Do not execute group-/world-writeable playlist and metadata scripts.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12712 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-10 21:23:15 +00:00
moritz
6eb5d8f557
Include the total playing time of a song in the "real-time" output, if TagLib
...
supplies it.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12711 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-10 21:18:21 +00:00
moritz
c5aaa28594
More metadata featuritis, add <metadata_format/> and implement support for
...
'@a@', '@t@' and '@s@'.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12707 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-10 19:03:07 +00:00
moritz
6f779c21f3
Commit work-in-progress towards more fine-grained control over metadata. This
...
has not been checked for changes to previous behavior and isn't complete, yet.
More to come.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12701 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-10 02:27:48 +00:00
moritz
bc6ae77abd
Various tweakings, and sync Win32 README with new reality.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12698 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-09 13:43:26 +00:00
moritz
304908bff4
Add new <metadata_progname> configuration option, which specifies an external
...
program/script to get metadata from. Also include SIGUSR2 handling that triggers
metadata updates from the external program mid-stream.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12693 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-09 02:30:29 +00:00
moritz
163b7ca187
Squash a bug that I introduced a few hours ago ...
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12692 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-09 02:24:04 +00:00
moritz
40566705ae
Shrink buffers to PATH_MAX.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12686 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 21:38:12 +00:00
moritz
84bf642a1e
Fix playlist_free() as well ...
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12685 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 20:59:29 +00:00
moritz
3cd7528b07
Working TagLib support (optional.)
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12684 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 20:24:09 +00:00
moritz
46cdb29f16
Define SIZE_T_MAX to the real maximum of size_t.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12683 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 19:46:23 +00:00
moritz
832c21def2
Hmph. I've been stepping into the copy-of-pointer trap twice now. Fix it again.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12681 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 15:25:33 +00:00
moritz
900886ab3f
Iterate towards optional TagLib support, as well as scripted metadata support.
...
This is just the first step and equivalent to current functionality.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12680 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 14:39:00 +00:00
moritz
a26710f497
Replace the very broken xfree() function with an xfree() macro - the main point
...
was to set ptr to NULL, but the function only set the copy of ptr to NULL.
Spotted by Karl Heyes, thanks a lot!
git-svn-id: https://svn.xiph.org/trunk/ezstream@12677 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 01:12:13 +00:00
moritz
e656688fbe
Remove redundant code since the switch to xfree().
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12676 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-07 23:39:53 +00:00
moritz
ca41d8cac8
More code reorganization, move compatibility and utility functions out of
...
ezstream.c. Use a basename() function for Windows that behaves identical to
a modern Unix' basename().
git-svn-id: https://svn.xiph.org/trunk/ezstream@12673 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-07 21:01:16 +00:00
moritz
928719013e
cosmetics
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12672 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-07 12:53:47 +00:00
moritz
697e4bc3c7
Fix logic error and prevent an endless loop on error(s) in the config file.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12630 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 15:59:06 +00:00
moritz
78c5cc3115
While rand() being crappy is true for most/all *nix systems, on Windows, this
...
is different. The shifting severely screwed up its randomness. Just leave it
away and systems that only have a bad version of rand() will have to just deal
with it.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12629 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 15:50:40 +00:00
moritz
79f9d809d5
More pre-release maintenance.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12628 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 15:16:36 +00:00
moritz
e025a58235
Add -V command line parameter to print the version number and exit.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12626 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 14:27:37 +00:00
moritz
2c8e1beef3
Some more cosmetic tweaks.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12620 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-03 20:17:33 +00:00
moritz
9a5b5ed973
Forgot one PATH_SEPARATOR instance ...
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12617 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-03 17:50:02 +00:00
moritz
6187391e2c
Use size_t in strrcmp().
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12616 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-03 17:48:11 +00:00
moritz
c205414d70
Iterate back towards working Windows support.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12615 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-03 16:13:08 +00:00
moritz
1be748b206
STDERR_FILENO -> fileno(stderr), and fix a brain'o: Systems with limited or
...
no signals support obviously don't have SIG_HUP/SIG_USR1 defined.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12614 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-03 12:42:50 +00:00
moritz
539bb39322
Improve string to integer conversion stuff, and have another stab at the config
...
file parsing. Ezstream now prints each error it can find and then bails out,
instead of bailing out on the first error. Tweak URL parsing as well, and do
some cosmetic changes to the error messages.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12603 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-02 12:52:10 +00:00
moritz
956f674a44
Allow users to restrict the number of reconnection attempts. This also changes
...
how reconnections are handled in general: A recovered connection always skips
to the next tune as well, as it seems that at least for Ogg Vorbis, libshout
wants to see an Ogg header after a shout_open(). The new code makes this
behavior consistent among all formats.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12599 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-02 00:57:11 +00:00
moritz
2a511a64fc
Enable more warnings on gcc, and do some miscellaneous cleanups.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12597 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-01 14:50:14 +00:00
moritz
ca6161358d
Redirect only de-/encoder screen output to /dev/null with -q, and restore
...
standard error outside that popen() call.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12596 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-01 01:22:06 +00:00
moritz
ad46ff44c6
Add new <stream_once> configuration option for disabling continuous streaming.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12592 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 21:48:01 +00:00
moritz
7d51c20fb8
Add new playlist scripting feature (works similar to Ices 2.x.)
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12591 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 21:26:16 +00:00
moritz
1712f4f88f
Replace geteuid() check with stat(), and make it an error if the configuration
...
file is group or world writeable. This is actually what the warning about root
was all about.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12590 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 15:35:07 +00:00
moritz
159ebfdd91
Back out hardly used ezsignals.h.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12589 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 13:53:58 +00:00
moritz
52f1750a70
Sync usageHelp() with new reality.
...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12585 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 11:03:06 +00:00