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

95 Commits

Author SHA1 Message Date
Moritz Grimm
19af508eae Add a simple logging API
Uses syslog
2015-04-16 19:30:41 +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
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
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
291ed50044 Drop RCS ID tag 2015-02-23 13:51:55 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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