1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-12-04 14:46:31 -05:00
Commit Graph

297 Commits

Author SHA1 Message Date
moritz
cc557a8799 sync
git-svn-id: https://svn.xiph.org/trunk/ezstream@12678 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-08 14:34:22 +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
3de809760e Ignore generated files.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12666 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-06 14:11:53 +00:00
moritz
03ffc617d2 Bump version number after the 0.3.0 release.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12665 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-06 14:02:29 +00:00
moritz
7ffe862625 regen
git-svn-id: https://svn.xiph.org/trunk/ezstream@12639 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-05 02:03:30 +00:00
moritz
e61fc1438d regen
git-svn-id: https://svn.xiph.org/trunk/ezstream@12637 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-05 01:01:49 +00:00
moritz
1dec90989f Fix a typo, and reword a few sentences to make them easier to understand.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12636 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-05 00:51:53 +00:00
moritz
bf430039bf Add release date. This is definitely going out today...
git-svn-id: https://svn.xiph.org/trunk/ezstream@12635 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 23:58:42 +00:00
moritz
cd30d6c2de regen
git-svn-id: https://svn.xiph.org/trunk/ezstream@12634 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 21:19:53 +00:00
moritz
05a9ae4f42 Sync with the blurb on the new home page.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12633 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 21:12:34 +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
3861e75ba2 Yay. I finally managed to build a statically linked and self-contained
ezstream.exe. Update, and regen the HTML man page for -V.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12627 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-04 14:29:27 +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
b87b03f2d6 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. ;-)


git-svn-id: https://svn.xiph.org/trunk/ezstream@12621 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-03 20:20:40 +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
6cdaac888d Tweak XXX comment.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12595 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-01 00:34:57 +00:00
moritz
9e0c427433 Make the example configuration files directory configurable.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12594 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-03-01 00:10:12 +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
8e56ed5c07 Remove redundant paragraph.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12588 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 12:47:26 +00:00
moritz
18f395b6ff 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12587 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 12:44:56 +00:00
moritz
631c6aa5fe Switch from a generated ChangeLog to a manually maintained and more compact
CHANGELOG.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12586 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-28 11:06:46 +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
moritz
6b01b59811 Let MIPS[pro] C be chatty with warnings and check for basename() in libgen.
Ezstream now builds on IRIX.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12576 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-27 14:44:46 +00:00
moritz
382c811b97 getopt() returns int, not char.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12575 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-27 14:42:14 +00:00
moritz
3418a75a66 Use backticks to execute xml2-config/xslt-config, which is more portable.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12574 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-27 14:41:51 +00:00
moritz
43d8282bb3 Document a caveat when building ezstream on Solaris with a different compiler
than the one used to build libshout.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12573 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-27 12:46:56 +00:00
moritz
5cd0b1aba9 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12572 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-26 20:29:48 +00:00
moritz
fddb4090c7 Add m4/ to the distribution tarball.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12571 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-26 19:59:19 +00:00
moritz
678e161e54 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12570 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-26 15:28:50 +00:00
moritz
e05ccb9f05 Remove unused .m4 files and sync the used ones with Icecast.
git-svn-id: https://svn.xiph.org/trunk/ezstream@12565 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-26 02:56:12 +00:00
moritz
270c56c8bf 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12564 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 18:28:05 +00:00
moritz
ea8d29f742 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12563 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 16:00:41 +00:00
moritz
733c989d1b 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12562 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 14:00:15 +00:00
moritz
04e087fc11 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.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12557 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 03:49:30 +00:00