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

118 Commits

Author SHA1 Message Date
redswitchio
582c0b67ad Fixed the copypasta mistake of using the PLACEHOLDER_ARTIST value in the PLACEHOLDER_ALBUM conditional. 2017-07-05 05:09:26 -04:00
redswitchio
cd98caa5fb Added additional code needed to support the album field when constructing the metadata string. 2017-07-04 21:34:58 -04:00
Moritz Grimm
cce2455bc6 Rename config file (re)load function for clarity 2016-10-14 16:19:39 +02:00
Moritz Grimm
b1aecc835a Put "get_metadata_str()" where it belongs 2016-05-19 14:37:21 +02:00
Moritz Grimm
3135c9e517 ezstream.c/libshout untangle 2/2 2016-05-19 14:19:31 +02:00
Moritz Grimm
4d787b10a3 Streamline set_metadata() behavior on error/success 2016-05-19 14:12:34 +02:00
Moritz Grimm
3ba4b06478 Move urlParse() to util.c 2016-05-19 14:06:31 +02:00
Moritz Grimm
a9728c54be ezstream.c/libshout untangle 1/2 2016-03-24 18:16:00 +01:00
Moritz Grimm
4b087df3ab Add plumbing for future encapsulation of libshout usage 2015-06-15 08:04:57 +02:00
Moritz Grimm
77fe651bff Move config plausibility check to CFG and test it 2015-06-11 23:50:31 +02:00
Moritz Grimm
f367140d82 Rework stream_setup() 2015-06-02 23:45:55 +02:00
Moritz Grimm
715be8094b Switch to clock_gettime(CLOCK_MONOTONIC) 2015-05-28 00:10:52 +02:00
Moritz Grimm
aab0afaa82 Fix media type handing wrt playlists
This was a regression introduced by the cfg refactor
2015-05-27 00:27:08 +02:00
Moritz Grimm
bf4150dcce Make playlist_t a truly opaque type
... and don't initialize global values twice while here
2015-05-26 23:40:48 +02:00
Moritz Grimm
c304dfe48a Support passthrough "encoders" again 2015-05-22 00:20:54 +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
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
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
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
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