1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-11-03 04:17:18 -05:00
ezstream/ChangeLog

1337 lines
41 KiB
Plaintext
Raw Normal View History

2007-08-31 16:02 moritz
* [r13671] configure.in:
-Wno-unused-parameter breaks gcc2, remove it.
2007-08-31 15:55 moritz
* [r13670] configure.in:
Try harder to link against TagLib.
2007-08-31 11:49 moritz
* [r13669] NEWS:
Today is release day.
2007-08-31 11:47 moritz
* [r13668] NEWS, configure.in, src/compat.h, src/ezstream.c,
src/util.c, src/util.h, win32/config.h:
gettimeofday() everywhere; now ezstream behaves almost the same
on Windows compared to Unix. Also mention TagLib support on
Windows in NEWS.
2007-08-31 11:46 moritz
* [r13667] src/compat.c:
Fake the location of my basename() source to be more clear.
2007-08-31 01:59 moritz
* [r13665] win32/README.win32:
Having TagLib on Windows means that reading metadata from files
should work like elsewhere now. While here, do some minor
tweaking as well.
2007-08-31 01:48 moritz
* [r13664] win32/ezstream.sln, win32/ezstream.vcproj:
ezstream.exe is now using TagLib as well.
2007-08-30 18:36 moritz
* [r13662] win32/README.win32:
Tweak, sync with what will be the new reality soon, and include
COPYING.txt in the future.
2007-08-30 12:27 moritz
* [r13660] NEWS:
Document a few extra nits that also happened so far.
2007-08-30 12:13 moritz
* [r13659] doc/ezstream.1.in:
Sync with new reality, and fix a completely botched up sentence.
2007-08-30 11:31 moritz
* [r13658] src/ezstream.c, src/util.c, src/util.h:
* 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.
2007-08-26 14:31 moritz
* [r13632] configure.in:
When configure found libiconv, it helps to also have it use that
information to properly link against it. Problem spotted and fix
tested by iCER on #icecast.
2007-08-25 15:07 moritz
* [r13627] doc/ezstream.1.in:
Expand the "Metadata Caveats" subsection wrt codesets and actual
abilities of ezstream and Icecast.
2007-08-25 14:37 moritz
* [r13626] src/util.c:
Need to consider converting from an unknown/unsupported codeset
as well.
2007-08-25 14:16 moritz
* [r13624] src/util.c:
Whoops. Fix error message ...
2007-08-25 12:24 moritz
* [r13622] src/ezstream.c, src/metadata.c, src/util.c, src/util.h:
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.)
2007-08-24 17:23 moritz
* [r13616] src/util.c:
Less code is always better.
2007-08-24 12:37 moritz
* [r13611] README:
Mention optional iconv() dependency.
2007-08-24 12:09 moritz
* [r13610] NEWS:
Add ticket no. to the MP3 metadata fix.
2007-08-24 11:57 moritz
* [r13609] NEWS, configure.in, doc/ezstream.1.in, src/ezstream.c,
src/metadata.c, src/util.c, win32/config.h,
win32/ezstream.vcproj:
UTF-8 support is now ready to be used.
2007-08-24 00:52 moritz
* [r13607] ., Makefile.am, build-aux, build-aux/Makefile.am,
build-aux/config.rpath, configure.in, m4/iconv.m4, src/util.c,
src/util.h:
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/.
2007-08-24 00:46 moritz
* [r13606] src/metadata.c:
Fix native ID3v1 reading (no-op, since affected fields were not
used.)
2007-08-23 13:48 moritz
* [r13592] src/ezstream.c:
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.
2007-08-22 18:29 moritz
* [r13589] NEWS:
Consistency + typo fix.
2007-08-22 15:19 moritz
* [r13587] doc/ezstream.1.in, src/ezstream.c:
The -c parameter is not optional.
2007-08-22 15:15 moritz
* [r13586] src/ezstream.c, src/util.c, src/util.h:
Make main() smaller by moving the libshout setup into a separate
function.
2007-08-14 04:10 moritz
* [r13546] win32/config.h:
Bump version numbers here, too.
2007-08-14 04:08 moritz
* [r13545] NEWS:
Sync.
2007-08-14 03:43 moritz
* [r13544] doc/ezstream.1.in, src/ezstream.c, src/metadata.c,
src/metadata.h:
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.
2007-08-14 03:33 moritz
* [r13543] configure.in:
Bump to 0.5.0, new feature coming up.
2007-08-14 03:32 moritz
* [r13542] src/ezstream.c, src/util.c, src/util.h:
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.
2007-08-09 11:13 moritz
* [r13494] win32/ezstream.sln, win32/ezstream.vcproj:
More build tweaks. The only thing that still doesn't work by now
is building a static, thread-safe libshout. Bugger all, this can
wait until if/when I need threads.
2007-08-08 21:52 moritz
* [r13467] src/playlist.c:
Since playlist_t is using size_t, change two unsigned longs to
size_t as well.
2007-08-08 21:33 moritz
* [r13466] win32/config.h, win32/ezstream.sln,
win32/ezstream.vcproj:
More Win32 project and build cleanups.
2007-08-08 14:21 moritz
* [r13464] win32/ezstream.sln, win32/ezstream.vcproj:
Reorder project list and add xalloc.* to the build.
2007-08-08 14:20 moritz
* [r13463] src/ezstream.c, win32/config.h:
WIN32 #ifdef reduction.
2007-08-08 13:46 moritz
* [r13462] configure.in:
A few tweaks: * Get ISO C99 from the compiler, if possible. *
Check for ssize_t for --enable-debug portability. * Add
AC_C_VOLATILE check, because we use it.
2007-08-08 13:25 moritz
* [r13461] win32/config.h:
Damn, it looks like I forgot to update this for the Win32 builds
...
2007-08-08 13:24 moritz
* [r13460] src/xalloc.c:
Sync.
2007-08-08 13:15 moritz
* [r13458] src/ezstream.c:
Rename shutdown() to ez_shutdown() to prevent a function name
clash on Windows.
2007-08-08 13:04 moritz
* [r13457] src/metadata.c, src/playlist.c:
Use a better \n and \r trimming idiom after fgets().
2007-08-04 17:24 moritz
* [r13443] src/xalloc.c, src/xalloc.h:
It's good to know how to spell the own email address.
2007-08-04 17:10 moritz
* [r13441] src/xalloc.c:
Merge.
2007-08-04 17:10 moritz
* [r13440] src/playlist.c:
Sprinkle in some consistency ...
2007-08-04 17:04 moritz
* [r13438] src/configfile.c, src/configfile.h, src/ezstream.c:
Do a clean shutdown on SIGINT and SIGTERM.
2007-08-04 16:46 moritz
* [r13437] src/xalloc.c, src/xalloc.h:
Merge xalloc changes.
2007-08-04 16:39 moritz
* [r13436] src/ezstream.c, src/metadata.c, src/playlist.c:
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.)
2007-08-04 16:09 moritz
* [r13433] src/metadata.c:
Do not xfree() something that wasn't x*alloc()'ed.
2007-08-02 18:50 moritz
* [r13432] configure.in:
Make PACKAGE_BUGREPORT point to the bug tracker URI.
2007-08-02 18:48 moritz
* [r13431] Makefile.am, NEWS, README, compat, compat/Makefile.am,
compat/sys, compat/sys/Makefile.am, compat/sys/tree.3,
compat/sys/tree.h, configure.in, src/Makefile.am,
src/configfile.c, src/ezstream.c, src/metadata.c, src/playlist.c,
src/util.c, src/util.h, src/xalloc.c, src/xalloc.h:
Switch to using the (integrated) libxalloc.
2007-07-24 15:29 moritz
* [r13304] src/ezstream.c, src/metadata.c:
Cosmetic changes; no functional change. Use the calloc()-style
API correctly.
2007-07-24 15:13 moritz
* [r13303] src/util.c:
Cosmetic changes. No functional change.
2007-07-24 13:44 moritz
* [r13302] configure.in:
Bump version number after the 0.4.3 release.
2007-07-24 13:21 moritz
* [r13298] ChangeLog:
Sync.
2007-07-24 13:20 moritz
* [r13297] NEWS:
Another bugfix, another 0.4.x release.
2007-07-24 13:04 moritz
* [r13296] src/ezstream.c:
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!
2007-07-17 15:16 moritz
* [r13279] configure.in:
Bump the version number after the 0.4.2 release.
2007-07-17 14:47 moritz
* [r13275] ChangeLog:
Sync
2007-07-17 14:45 moritz
* [r13274] NEWS:
Get this out the door today, no need to hold back.
2007-07-16 00:32 moritz
* [r13272] NEWS, src/ezstream.c:
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 ...
2007-07-15 19:16 moritz
* [r13270] win32/README.win32:
Provide a pointer to the home page to Windows users.
2007-07-15 19:11 moritz
* [r13269] configure.in:
Bump version number after the 0.4.1 release.
2007-07-15 16:38 moritz
* [r13265] ChangeLog:
Update.
2007-07-15 16:37 moritz
* [r13264] NEWS:
This will be released today.
2007-07-14 01:32 moritz
* [r13259] COPYING, doc/ezstream.1.in, src/compat.c, src/compat.h,
src/configfile.c, src/configfile.h, src/ezstream.c,
src/metadata.c, src/metadata.h, src/playlist.c, src/playlist.h,
src/util.c, src/util.h:
Change my email address to the new one.
2007-07-14 01:27 moritz
* [r13258] NEWS:
Update.
2007-07-14 01:20 moritz
* [r13257] src/ezstream.c:
Plug an fd leak, triggered by using -q.
2007-07-13 10:45 moritz
* [r13253] README:
Spelingk, and fmt -78.
2007-07-13 10:30 moritz
* [r13252] doc/ezstream.1.in:
Spelink.
2007-03-11 05:17 moritz
* [r12724] configure.in, win32/config.h:
Bump version number after the 0.4.0 release.
2007-03-11 05:04 moritz
* [r12720] ChangeLog:
sync
2007-03-11 04:39 moritz
* [r12719] NEWS:
Release coming up today.
2007-03-11 03:49 moritz
* [r12718] NEWS:
fixes
2007-03-11 00:28 moritz
* [r12717] src/metadata.c:
Make this build on Windows and not segfault the MIPSpro C
compiler version <7.2.
2007-03-11 00:02 moritz
* [r12716] doc/ezstream.1.in:
Formatting improvements, and some minor rewording.
2007-03-10 23:36 moritz
* [r12715] win32/Makefile.am:
Missed a conf -> examples change here.
2007-03-10 23:28 moritz
* [r12714] src/metadata.c:
taglib_file_audioproperties returns const
2007-03-10 22:44 moritz
* [r12713] src/metadata.c:
Remove unreachable statement.
2007-03-10 21:23 moritz
* [r12712] NEWS, src/metadata.c, src/playlist.c:
Do not execute group-/world-writeable playlist and metadata
scripts.
2007-03-10 21:18 moritz
* [r12711] NEWS, src/ezstream.c, src/metadata.c, src/metadata.h:
Include the total playing time of a song in the "real-time"
output, if TagLib supplies it.
2007-03-10 20:13 moritz
* [r12710] Makefile.am, conf, configure.in, examples,
examples/Makefile.am, examples/ezstream_metadata.xml,
examples/ezstream_mp3.xml,
examples/ezstream_reencoding_example_mp3.xml,
examples/ezstream_reencoding_example_theora.xml,
examples/ezstream_reencoding_example_vorbis.xml,
examples/ezstream_vorbis.xml, examples/meta.sh, examples/play.sh,
win32/README.win32:
Move conf/ to examples/. Add ezstream_metadata.xml and two
minimalistic example scripts.
2007-03-10 19:03 moritz
* [r12707] NEWS, doc/ezstream.1.in, src/configfile.c,
src/configfile.h, src/ezstream.c, src/metadata.c, src/metadata.h:
More metadata featuritis, add <metadata_format/> and implement
support for '@a@', '@t@' and '@s@'.
2007-03-10 02:27 moritz
* [r12701] src/configfile.c, src/configfile.h, src/ezstream.c,
src/metadata.c, src/metadata.h:
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.
2007-03-09 13:43 moritz
* [r12698] Makefile.am, src/ezstream.c, win32/Makefile.am,
win32/README.win32:
Various tweakings, and sync Win32 README with new reality.
2007-03-09 02:30 moritz
* [r12693] NEWS, doc/ezstream.1.in, src/configfile.c,
src/configfile.h, src/ezstream.c, src/metadata.c, src/metadata.h:
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.
2007-03-09 02:24 moritz
* [r12692] src/playlist.c:
Squash a bug that I introduced a few hours ago ...
2007-03-09 01:52 moritz
* [r12691] Makefile.am:
Commit forgotten /Makefile.am change (new regen-win32: target).
2007-03-09 01:49 moritz
* [r12690] NEWS:
sync
2007-03-09 01:49 moritz
* [r12689] win32/Makefile.am, win32/ezstream.1.html:
Kill off the ugly HTML page. Replace with a regen-win32: target
in Makefile.am that automatically generates a PDF version of the
current man page (PDF not included in the source tarball.)
2007-03-09 01:44 moritz
* [r12688] win32/README.win32:
Update with blurp about limited functionality.
2007-03-08 21:38 moritz
* [r12686] src/ezstream.c, src/playlist.c:
Shrink buffers to PATH_MAX.
2007-03-08 20:59 moritz
* [r12685] src/ezstream.c, src/playlist.c, src/playlist.h:
Fix playlist_free() as well ...
2007-03-08 20:24 moritz
* [r12684] NEWS, README, configure.in, src/Makefile.am,
src/metadata.c:
Working TagLib support (optional.)
2007-03-08 19:46 moritz
* [r12683] src/compat.h:
Define SIZE_T_MAX to the real maximum of size_t.
2007-03-08 19:45 moritz
* [r12682] win32/ezstream.vcproj:
sync
2007-03-08 15:25 moritz
* [r12681] src/ezstream.c, src/metadata.c, src/metadata.h:
Hmph. I've been stepping into the copy-of-pointer trap twice now.
Fix it again.
2007-03-08 14:39 moritz
* [r12680] configure.in, src/Makefile.am, src/ezstream.c,
src/metadata.c, src/metadata.h:
Iterate towards optional TagLib support, as well as scripted
metadata support. This is just the first step and equivalent to
current functionality.
2007-03-08 14:36 moritz
* [r12679] configure.in, win32/config.h:
New features coming up, bump version to 0.4.0
2007-03-08 14:34 moritz
* [r12678] NEWS:
sync
2007-03-08 01:12 moritz
* [r12677] src/util.c, src/util.h:
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!
2007-03-07 23:39 moritz
* [r12676] src/playlist.c:
Remove redundant code since the switch to xfree().
2007-03-07 21:01 moritz
* [r12673] src/Makefile.am, src/compat.c, src/compat.h,
src/configfile.c, src/ezstream.c, src/playlist.c, src/util.c,
src/util.h, win32/ezstream.vcproj:
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().
2007-03-07 12:53 moritz
* [r12672] src/configfile.c:
cosmetics
2007-03-06 14:11 moritz
* [r12666] ., conf, doc, m4, src, win32:
Ignore generated files.
2007-03-06 14:02 moritz
* [r12665] configure.in, win32/config.h:
Bump version number after the 0.3.0 release.
2007-03-05 02:03 moritz
* [r12639] ChangeLog:
regen
2007-03-05 01:01 moritz
* [r12637] win32/ezstream.1.html:
regen
2007-03-05 00:51 moritz
* [r12636] doc/ezstream.1.in:
Fix a typo, and reword a few sentences to make them easier to
understand.
2007-03-04 23:58 moritz
* [r12635] NEWS:
Add release date. This is definitely going out today...
2007-03-04 21:19 moritz
* [r12634] ChangeLog:
regen
2007-03-04 21:12 moritz
* [r12633] README:
Sync with the blurb on the new home page.
2007-03-04 15:59 moritz
* [r12630] src/configfile.c:
Fix logic error and prevent an endless loop on error(s) in the
config file.
2007-03-04 15:50 moritz
* [r12629] src/playlist.c:
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.
2007-03-04 15:16 moritz
* [r12628] COPYING, NEWS, src/configfile.c, src/ezstream.c,
win32/README.win32:
More pre-release maintenance.
2007-03-04 14:29 moritz
* [r12627] win32/Makefile.am, win32/README.win32, win32/config.h,
win32/ezstream.1.html, win32/ezstream.sln, win32/ezstream.vcproj:
Yay. I finally managed to build a statically linked and
self-contained ezstream.exe. Update, and regen the HTML man page
for -V.
2007-03-04 14:27 moritz
* [r12626] doc/ezstream.1.in, src/ezstream.c:
Add -V command line parameter to print the version number and
exit.
2007-03-03 20:20 moritz
* [r12621] win32/Makefile.am, win32/README.win32,
win32/ezstream.1.html, win32/ezstream.sln, win32/ezstream.vcproj:
More, rather evil Windows stuff. This is about as far as I'm
willing to go for now. Volunteers willing to take all this
Windows stuff off my hands are very welcome. ;-)
2007-03-03 20:17 moritz
* [r12620] src/compat.h, src/configfile.c, src/ezstream.c,
src/strtonum.c:
Some more cosmetic tweaks.
2007-03-03 17:50 moritz
* [r12617] src/ezstream.c:
Forgot one PATH_SEPARATOR instance ...
2007-03-03 17:48 moritz
* [r12616] src/ezstream.c:
Use size_t in strrcmp().
2007-03-03 16:13 moritz
* [r12615] src/Makefile.am, src/compat.h, src/ezstream.c,
src/playlist.c, win32/Makefile.am, win32/ezstream.dsp,
win32/ezstream.dsw, win32/ezstream.iss, win32/ezstream.sln,
win32/ezstream.vcproj:
Iterate back towards working Windows support.
2007-03-03 12:42 moritz
* [r12614] src/ezstream.c:
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.
2007-03-02 12:52 moritz
* [r12603] configure.in, src/Makefile.am, src/configfile.c,
src/ezstream.c, src/strfctns.h, src/strlcat.c, src/strlcpy.c,
src/strlfctns.h, src/strtonum.c:
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.
2007-03-02 00:57 moritz
* [r12599] NEWS, doc/ezstream.1.in, src/configfile.c,
src/configfile.h, src/ezstream.c:
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.
2007-03-01 14:50 moritz
* [r12597] configure.in, src/ezstream.c, src/playlist.c,
src/strlcat.c, src/strlcpy.c, src/util.c:
Enable more warnings on gcc, and do some miscellaneous cleanups.
2007-03-01 01:22 moritz
* [r12596] src/ezstream.c:
Redirect only de-/encoder screen output to /dev/null with -q, and
restore standard error outside that popen() call.
2007-03-01 00:34 moritz
* [r12595] m4/shout.m4:
Tweak XXX comment.
2007-03-01 00:10 moritz
* [r12594] README, configure.in:
Make the example configuration files directory configurable.
2007-02-28 21:48 moritz
* [r12592] NEWS, conf/ezstream_mp3.xml, conf/ezstream_vorbis.xml,
doc/ezstream.1.in, src/configfile.c, src/configfile.h,
src/ezstream.c:
Add new <stream_once> configuration option for disabling
continuous streaming.
2007-02-28 21:26 moritz
* [r12591] NEWS, conf/ezstream_reencoding_example_mp3.xml,
conf/ezstream_reencoding_example_vorbis.xml, doc/ezstream.1.in,
src/configfile.c, src/configfile.h, src/ezstream.c,
src/playlist.c, src/playlist.h:
Add new playlist scripting feature (works similar to Ices 2.x.)
2007-02-28 15:35 moritz
* [r12590] configure.in, src/ezstream.c:
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.
2007-02-28 13:53 moritz
* [r12589] src/Makefile.am, src/ezsignals.h, src/ezstream.c:
Back out hardly used ezsignals.h.
2007-02-28 12:47 moritz
* [r12588] NEWS:
Remove redundant paragraph.
2007-02-28 12:44 moritz
* [r12587] CHANGELOG, ChangeLog, Makefile.am, NEWS, mkcl.sh:
Make a more standard distribution: Rename CHANGELOG to NEWS,
bring back the complete ChangeLog and add mkcl.sh that contains
the options to generate ChangeLog.
2007-02-28 11:06 moritz
* [r12586] CHANGELOG, ChangeLog, Makefile.am:
Switch from a generated ChangeLog to a manually maintained and
more compact CHANGELOG.
2007-02-28 11:03 moritz
* [r12585] src/ezstream.c:
Sync usageHelp() with new reality.
2007-02-27 14:44 moritz
* [r12576] configure.in:
Let MIPS[pro] C be chatty with warnings and check for basename()
in libgen. Ezstream now builds on IRIX.
2007-02-27 14:42 moritz
* [r12575] src/ezstream.c:
getopt() returns int, not char.
2007-02-27 14:41 moritz
* [r12574] m4/xiph_xml2.m4:
Use backticks to execute xml2-config/xslt-config, which is more
portable.
2007-02-27 12:46 moritz
* [r12573] README:
Document a caveat when building ezstream on Solaris with a
different compiler than the one used to build libshout.
2007-02-26 20:29 moritz
* [r12572] configure.in, m4/shout.m4:
Make this work on static archs, and get one step closer to SunCC
support on Solaris. Also, don't complain if libshout isn't
thread-safe, as Ezstream isn't multithreaded.
2007-02-26 19:59 moritz
* [r12571] Makefile.am, configure.in, m4/Makefile.am:
Add m4/ to the distribution tarball.
2007-02-26 15:28 moritz
* [r12570] Makefile.am, m4/ogg.m4, m4/vorbis.m4:
Unbreak "make distcheck": $prefix is not a good default, use
/usr/local instead. This makes it more likely that installed
libogg and libvorbis are found, when the user (or autoconf)
specifies a different --prefix. Users who installed their
libraries in their homedir now have to set $OGG_PREFIX and
$VORBIS_PREFIX, or set their respective --with arguments. Let the
snapshot target use distcheck now that it works.
2007-02-26 02:56 moritz
* [r12565] m4/ac_config_libconfig_in.m4, m4/acx_pthread.m4,
m4/ogg.m4, m4/shout.m4, m4/vorbis.m4, m4/xiph_compiler.m4,
m4/xiph_curl.m4, m4/xiph_net.m4, m4/xiph_path_python.m4,
m4/xiph_types.m4, m4/xiph_xml2.m4:
Remove unused .m4 files and sync the used ones with Icecast.
2007-02-25 18:28 moritz
* [r12564] src/ezstream.c:
Make Ezstream work properly and do the right thing, even when
bombarded with a flurry of simultaneous SIGHUP and SIGUSR1
signals. From what I can tell, signal handling is now quite solid
now. Achieve this by moving most of streamFile() into a new
sendStream() function, which is called within a new do-while loop
inside streamFile(). There, proper behavior is ensured and a race
condition resolved in favor of SIGHUP.
2007-02-25 16:00 moritz
* [r12563] src/ezstream.c:
Switch from using signal() to sigaction() and friends, so that
SA_RESTART can be used. This is required for Solaris and possibly
others, where signal handlers have to be reinstalled after having
caught one signal via signal(). Also prevent Ezstream from being
killed by a handled signal in streamFile(), where they can
interrupt fread()'s system calls. This improves matters, but
isn't perfect, yet. A SIGHUP signal can still cause skipping to
the next track, which should be triggered only by SIGUSR1.
2007-02-25 14:00 moritz
* [r12562] Makefile.am, conf/Makefile.am, configure.in,
src/Makefile.am, src/configfile.c, src/configfile.h,
src/ezstream.c, win32/Makefile.am:
Various cleanups and auto-fu tweaks. * Make Makefile.am files
look alike as much as possible. * Remove debug: target and don't
mess with the users DEBUG environment variable: Autoconf checks
for -g and automatically adds it to CFLAGS, which is overridden
by the user's $DEBUG. If the user didn't specify one, "make
install" will strip the resulting binaries and leave the
debugging symbols intact otherwise. * Remove profile: target, as
it is quite pointless in Ezstream. Also, the user can add
profiling flags via the $DEBUG variable as well. * Remove
-ffast-math and -fsigned-char from gcc, and enable two additional
warnings instead. * Unconfuse Solaris compiler flags
(unfortunately, the configure script still fails in the libshout
check with some obscure linker error): Do not force -x04 and
-fast optimizations, let the user decide (it doesn't matter for
Ezstream anyways.) Remove -xgc92, which is deprecated and
actually makes the resulting binary run slower on SPARC. Also
remove -fsimple, which does not help and has the potential of
causing trouble, and don't enable verbose warnings just to
disable them afterwards with -w. Leave only -v for verbose
warnings. * Const'ify getFormat*() functions and blankString, and
squelch a few const- related warnings. * Squelch a signedness
warning and fix two ;; syntax errors. * Add a snapshot target to
Makefile.am that creates a tarball of the form
ezstream-snapshot-YYYYMMDD.tar.gz.
2007-02-25 03:49 moritz
* [r12557] src/ezstream.c:
Merge changes to the remaining two functions, openResource() and
streamFile(), after which the merge is complete. Changes in
openResource(): * Let the caller know whether we're streaming
from standard input, and give it a copy of the metadata
information. * Make filename extension matching case insensitive.
Ezstream can now stream foo.Ogg out of playlist.tXt. (On that
note, another item from the parseConfig() commit log message was
missing: <format/> and <match/> are also case insensitive now.)
Changes in streamFile(): * New feature: Skip currently playing
track when receiving SIGUSR1. * New feature: When using both the
new -q and -v command line parameters, Ezstream now displays some
"real-time" information: playlist position, elapsed time
streaming the current track, and approximate bitrate in kbps. *
Fix the fread() loop by moving the "if read bytes > 0" condition
into the while statement, and check with ferror() afterwards
whether an error occured. * Remove redundant shout_delay() call.
Ezstream puts itself to sleep with shout_sync(). * Return a value
that makes sense in main()'s do-while loop, instead of whatever
shout_send() returned last. * Remove or prettify a few messages.
2007-02-25 03:10 moritz
* [r12554] src/ezstream.c:
Merge processMetadata() changes: * Fix how the metadata string is
generated. Don't include the " - " in the output if either artist
or title are missing from ID3v1/Vorbis tags. * Print the correct
error message when ov_open() fails. * Improve filename-based
generation of metadata. Use a copy of fileName for basename(),
which may modify its argument in some places where the old, weird
POSIX implementation is used. Also, basename() is not infallible,
but when it fails, it is annoying for us. Assert that it cannot
fail since we feed it with path names < PATH_MAX (handled in
playlist.c and configfile.c.) In short, make processMetadata()
always return something more or less useful as long as the file
in question can be opened.
2007-02-25 02:36 moritz
* [r12553] src/ezstream.c:
Merge changes to replaceString() and buildCommandString(), and do
the formatting nitpickery to setMetadata(). Changes in
replaceString(): * Fix a heap overflow. replaceString() would
happily replace multiple '@T@' and '@M@' placeholders and write
into *dest until things blow up. Fix this by using safe string
functions. Then completely prevent it by ensuring that it
replaces only one placeholder per call (adjusting
buildCommandString() accordingly) and already complaining to the
user in parseConfig() about illegal, multiple placeholders in
their command lines. (That parseConfig() change was missing from
the commit log earlier.) In buildCommandString(): * Use xcalloc()
instead of malloc() and get rid of the now redundant memset()
calls. * Allow decoder command lines to contain the '@M@'
metadata placeholder. Useful for combined de-/encoders like
ffmpeg2theora. * Tweak message about "unsupported" format, which
used to be false in the case of Ogg Theora streams. * Plug
several memory leaks. * Don't print the "Executing command 'foo'"
message in this function.
2007-02-25 01:14 moritz
* [r12552] src/ezstream.c:
Merge changes to main(), urlParse() and streamPlaylist(). In
main(): * Install the signal handler as late as possible. * Add
new command line options: -v (verbose, use twice for even more
verbose output) and -q (quiet, redirect standard error output
from external de-/ encoders to /dev/null.) * It is now an error
to supply more than one -c parameter. This prevents unexpected
results. * Add a stern warning when ezstream is running as root.
Just Don't Do It. Leaving the configfile writeable to others by
accident could mean instant root compromise. * Before handing the
config file over to libxml, try to open it ourselves first. The
error message from strerror() is a lot more helpful than the
cryption I/O error printed by libxml. * Don't preallocate memory
for urlParse(). * Fix command line error messages, they seem to
be for a different program than Ezstream. * More terse libshout
error messages, just print which function failed. I consider
these errors of questionable value for an end user, but at least
a knowledgeable one will know instantly what went wrong. * Case
insensitive matching of playlist file extensions. * Print the
address, port and mountpoint that Ezstream is actually trying to
connect to, instead of what the user supplied. That should make
it easier to spot reasons for connect failures (e.g. typos.)
Changes in urlParse(): * Let urlParse() allocate memory for
hostname and mountpoint, as it knows how much memory is actually
required. * Fix a buffer overflow of the tmpPort buffer by adding
checks and using safe string functions. * Let the caller print an
error message, instead of having the same printf() twice in
urlParse(). The streamPlaylist() function has been rewritten to
use the new playlist_*() routines. Apart from the added playlist
shuffle feature no functional change.
2007-02-25 00:35 moritz
* [r12551] configure.in:
Add check for geteuid(), which is better than checking for WIN32.
2007-02-25 00:25 moritz
* [r12550] src/ezstream.c:
Begin merging ezstream.c changes. This first batch includes: *
License reference and various #include cleanups and additions
that are required later. * Add new usage() and usageHelp()
functions (which already contain what's to come.) Move them close
to main() where getopt() is called. * New signal handler, which
now no longer uses printf(). printf() is not safe to use in
signal handlers. Use volatile sig_atomic_t types instead of ints
as flags to set in the handler. * Formatting and const'ifying of
WIN32-basename() and strrcmp(). Rearrange them so that the actual
"worker functions" are grouped together. * Add function
prototypes for those that are already up-to-date. * Rename
ReplaceString() to replaceString() for consistency with other
function names in Ezstream. * Prepare for portable *__progname
usage.
2007-02-24 23:26 moritz
* [r12549] src/configfile.c:
Merge new parseConfig() function. There were many changes, but
those are too cumbersome to merge separately. They are: * The
usual formatting nitpickings. * Don't leak memory in case of
duplicate entries. Instead make it an error and print a helpful
error message, with config file line number, to the user. *
Replace the manual cast to (const xmlChar *) with libxml2's
BAD_CAST. There probably won't be any UTF8 support in Ezstream
any time soon ... * Remove redundant strlen() check -
xmlNodeListGetString() never returns an empty string if
(cur->xmlChildrenNode != NULL). * Use xstrdup() instead of
malloc() + memset() + strcpy(). * Ensure that boolean
configration options are always either 1 or 0. * Ensure that path
names given via <filename /> do not exceed PATH_MAX. * Add
<shuffle /> configuration option for playlist shuffling.
2007-02-24 23:05 moritz
* [r12548] src/configfile.c:
Add function to free a configuration in case of an error.
2007-02-24 23:03 moritz
* [r12547] configure.in:
Fix typo in comment.
2007-02-24 22:56 moritz
* [r12546] src/configfile.c:
Replace three if-conditionals with one, both in
getFormatEncoder() and getFormatDecoder(), with prettier
formatting.
2007-02-24 22:50 moritz
* [r12545] src/configfile.c, src/configfile.h:
Const'ify configfile functions.
2007-02-24 22:25 moritz
* [r12544] src/configfile.c, src/configfile.h:
Add license reference to configfile.c, sync #includes with what
will be required later, getEZConfig() formatting and remove
unused printConfig() function.
2007-02-24 22:16 moritz
* [r12543] src/configfile.h:
Begin merging configfile.* changes by cleaning up the .h file:
Add license reference, remove prototype of nonexistent
getMetadataGrabber() function, and do some formatting.
2007-02-24 22:03 moritz
* [r12542] win32/Makefile.am:
Clean core and backup files in this directory as well. Only ~2500
lines of diffs left to merge.
2007-02-24 22:01 moritz
* [r12541] src/ezsignals.h:
Commit header with three macros that help with signal handling.
Will be actually used later. Now, all new files are in.
2007-02-24 21:59 moritz
* [r12540] configure.in:
Let the configure script set a (hard-coded, for now) examples
installation directory. This will be made configurable later.
2007-02-24 21:50 moritz
* [r12539] configure.in:
Add several checks that we need now, i.e. very soon.
2007-02-24 21:46 moritz
* [r12538] configure.in:
AM_CONFIG_HEADER -> AC_CONFIG_HEADERS, and move config.h into
src/.
2007-02-24 21:44 moritz
* [r12537] configure.in:
Autoconf 2.61 has a nice macro AC_USE_SYSTEM_EXTENSIONS. Use it,
depend on autoconf-2.61 for it and remove the annoying
_GNU_SOURCE and _XOPEN_SOURCE ... dung. Autoconf takes care of
this, and even checks for more useful stuff for us.
2007-02-24 21:37 moritz
* [r12536] configure.in:
Generate a Makefile in doc/, and switch to AC_CONFIG_FILES.
2007-02-24 21:34 moritz
* [r12535] configure.in:
Ezstream does not need libtool, so remove it. Remove other
redundant configure checks as well: AC_PROG_CC and AC_HEADER_STDC
are automatically checked in packages written in C, no need to do
it twice. This shaves a lot off configure runtime.
2007-02-24 21:29 moritz
* [r12534] configure.in:
Start to incrementally merge configure.in changes by simply
shuffling code around a bit. No functional change, yet.
2007-02-24 21:19 moritz
* [r12533] Makefile.am:
Hook up doc/ with the build, depend on automake 1.9 and remove
dist-zip for now. The latter will come back after testing on
Windows has been done.
2007-02-24 21:16 moritz
* [r12532] autogen.sh:
Replace the autogen behemoth with something much simpler.
AC_PREREQ and AUTOMAKE_OPTIONS already take care of version
checks.
2007-02-24 21:12 moritz
* [r12531] conf/Makefile.am, conf/ezstream_mp3.xml,
conf/ezstream_reencoding_example_mp3.xml,
conf/ezstream_reencoding_example_theora.xml,
conf/ezstream_reencoding_example_vorbis.xml,
conf/ezstream_vorbis.xml:
Clean up and install example configuration files.
2007-02-24 21:11 moritz
* [r12530] README:
Commit rewritten README file.
2007-02-24 20:59 moritz
* [r12529] AUTHORS:
Remove AUTHORS. Credits are in the man page.
2007-02-24 20:58 moritz
* [r12528] INSTALL:
Add INSTALL file for those not familiar with the configure+make
dance. From autoconf-2.61.
2007-02-24 20:57 moritz
* [r12527] src/Makefile.am, src/strlcat.c, src/strlcpy.c,
src/strlfctns.h:
Add files with safe strlc*() string functions, and hook all new
files into Makefile.am. Also let "make clean" clean up coredumps
and editor backup files.
2007-02-24 20:52 moritz
* [r12526] doc, doc/Makefile.am, doc/ezstream.1.in:
Add ezstream man page.
2007-02-24 20:50 moritz
* [r12525] src/playlist.c, src/playlist.h:
Add new playlist handling functions.
2007-02-24 20:49 moritz
* [r12524] src/util.c, src/util.h:
Add new utility functions, for memory management. These do The
Right Thing and never return NULL.
2007-02-24 18:55 moritz
* [r12521] configure.in:
Begin to incrementally merge my changes to Ezstream by bumping
the version number and shifting blame to me. This should keep
most of the history in my local CVS repository. There may be
temporary breakages where it doesn't build or package until I'm
done.
2005-12-14 21:40 oddsock
* [r10593] win32/Makefile.am:
forgot to add the inno setup installer to the dist
2005-12-14 21:16 oddsock
* [r10592] win32/ezstream.iss:
version bump
2005-12-14 21:14 oddsock
* [r10590] ChangeLog:
added changelog
2005-12-14 21:13 oddsock
* [r10589] conf/Makefile.am, configure.in, src/ezstream.c:
added some reconnect logic fixed a buffer overflow on large
id3tags use pclose for popen'd file handles
2005-01-05 00:38 oddsock
* [r8612] README, conf/ezstream_m3u.xml, conf/ezstream_mp3.xml,
conf/ezstream_reencoding_example.xml,
conf/ezstream_reencoding_example_mp3.xml,
conf/ezstream_reencoding_example_theora.xml,
conf/ezstream_reencoding_example_vorbis.xml,
conf/ezstream_vorbis.xml, configure.in, src/ezstream.c,
win32/ezstream.dsp, win32/ezstream.dsw, win32/ezstream.iss:
cleanup of config files fixed reencoding bug on win32 bump to
version 0.2.0
2004-12-22 01:49 oddsock
* [r8519] src/ezstream.c:
add passthorough support for unknown types
2004-07-19 03:48 oddsock
* [r7171] src/configfile.c, win32/ezstream.dsp, win32/ezstream.iss:
some win32 compilation fixes
2004-07-19 03:12 oddsock
* [r7170] README, conf/Makefile.am,
conf/ezstream_reencoding_example.xml, configure.in,
src/configfile.c, src/configfile.h, src/ezstream.c,
win32/ezstream.dsp:
Added reencoding capabilities to ezstream.
2004-07-16 04:02 oddsock
* [r7152] win32/ezstream.dsp:
2004-07-12 19:13 oddsock
* [r7103] src/configfile.c, src/configfile.h, src/ezstream.c:
support for theora streams
2004-04-21 13:48 oddsock
* [r6563] configure.in, src/.deps, src/ezstream.c:
added ability to send a signal (SIGHUP) which will re-read the
current playlist (m3u) that is being processed. When this
happens, ezstream will pick up from the last track that was
played.
2004-02-02 04:56 oddsock
* [r5806] README:
stdin now working :)
2004-02-02 04:39 oddsock
* [r5805] aclocal.m4, configure.in:
* version bump * remove unneeded file
2004-02-02 04:37 oddsock
* [r5804] src/ezstream.c, win32/ezstream.dsp, win32/ezstream.iss:
* set read mode to binary for stdin on win32 * add libXML to
project file * bump version number
2004-01-30 17:19 oddsock
* [r5800] ., AUTHORS, COPYING, Makefile.am, README, aclocal.m4,
autogen.sh, conf, conf/Makefile.am, conf/ezstream_m3u.xml,
conf/ezstream_mp3.xml, conf/ezstream_vorbis.xml, configure.in,
m4, m4/ac_config_libconfig_in.m4, m4/acx_pthread.m4, m4/ogg.m4,
m4/shout.m4, m4/vorbis.m4, m4/xiph_compiler.m4, m4/xiph_curl.m4,
m4/xiph_net.m4, m4/xiph_path_python.m4, m4/xiph_types.m4,
m4/xiph_xml2.m4, src, src/.deps, src/.deps/configfile.Po,
src/.deps/ezstream.Po, src/Makefile.am, src/configfile.c,
src/configfile.h, src/ezstream.c, src/getopt.c, src/getopt.h,
win32, win32/Makefile.am, win32/ezstream.dsp, win32/ezstream.dsw,
win32/ezstream.iss:
Initial revision