Moritz Grimm
06e49d2313
Make relative path lookups configurable
...
Retain current behavior by default, where files are found based on
the current working directory.
2022-10-09 02:13:52 +02:00
Moritz Grimm
4c4bf8ffce
Store playlist location alongside playlists
2022-09-10 19:26:18 +02:00
Moritz Grimm
8d882cacff
Switch to non-obsolete shout_set_content_format()
...
Error checking is now more strict; work around unreliability in tests
as failure/success depends on libshout configuration
2021-02-09 12:12:32 +01:00
Moritz Grimm
80afe5baf7
Fix crash related to unconfigured intakes
2021-01-07 04:19:06 +01:00
Moritz Grimm
3a791a6de4
Fix crash when attempting to replace a placeholder with NULL
...
For example, this solves the combination of an explicit format string
'@a@ - @t@' in combination with an MP3 input file that lacks either
artist or title
2020-04-02 13:01:07 +02:00
Moritz Grimm
b923260d82
mdata_destroy() is supposed to be idempotent
2020-02-12 00:39:13 +01:00
Moritz Grimm
333b2848f9
More format-related updates
2020-01-25 01:18:12 +01:00
Moritz Grimm
97d9949a4b
Improve test reliability and fix bugs
2020-01-25 01:13:24 +01:00
Moritz Grimm
09b615db0a
Support v0 ffmpeg/Ogg Theora configuration migration
2020-01-25 01:05:18 +01:00
Moritz Grimm
b61b78e161
Modernize stream format options
...
Adds support for WebM/Matroska
Replaces Vorbis and Theora with Ogg
2020-01-24 23:27:02 +01:00
Moritz Grimm
44f7e19ca7
Fix "HTTPS" protocol support. Add optional support for ICY and RoarAudio
2020-01-22 22:55:59 +01:00
Moritz Grimm
7e7b3be281
Remove old attempt at automating integration tests
2020-01-19 00:53:22 +01:00
Moritz Grimm
83d1d17be1
Remove half-baked support for "passthrough encoders"
...
The correct way is to just not configure an encoder for a stream, which
is what the documentation already states. Encoder sections now require
a program name to be set or the configuration will not load.
Fixes a segfault in ezstream.c, as reported by Tom McCallum via Github.
2020-01-15 23:04:40 +01:00
Moritz Grimm
7989928690
Positive tests of example configuration sanity
...
Certain breakage in the example configurations can now be detected
automatically.
2019-09-06 14:56:25 +02:00
Moritz Grimm
6f8daee288
Fix whitespace
2018-07-17 13:41:48 +02:00
Moritz Grimm
4fb7001eb9
Include public cfg interface instead of private one
2018-07-17 13:41:48 +02:00
Moritz Grimm
92ffc9ac50
Rename function for consistency
2018-07-16 16:25:50 +02:00
Moritz Grimm
c4c9b96a0b
Ensure stream_validate() sets errstr properly
2018-03-21 10:14:33 +01:00
Moritz Grimm
429a39196e
Fail with assert() if open() fails
...
This is an attempt to resolve a coverity false positive in a somewhat
sane way.
2018-03-21 10:09:31 +01:00
Moritz Grimm
d81a3e23bb
Add configuration migration tool
2018-01-23 01:51:48 +01:00
Moritz Grimm
113d8a6b88
Make set_progname() reusable
2018-01-19 13:03:32 +01:00
Moritz Grimm
86bd51b39a
Decouple cfg from log
2018-01-19 12:32:30 +01:00
Moritz Grimm
0b260b3c08
Make media inputs ("intakes") a list of things, too
2017-11-23 18:34:57 +01:00
Moritz Grimm
ed9e84f387
Change config format to (eventually) support concurrent streams to many servers
...
Everything ties together in stream configurations, of which there can be many
now.
For the time being, every stream configuration but the "default" is ignored.
Every stream/server/encoder/decoder configuration now has the name "default"
by default, so that configuring names is only needed to resolve ambiguities.
Decoder configurations are now also constrained in this manner for consistency,
meaning they are no longer uniquely identified by a number of file extensions
but also a name.
2017-11-18 01:54:14 +01:00
Moritz Grimm
cc5a3ab5d3
Safely squelch a bunch of warnings
2017-10-04 15:23:21 +02:00
Moritz Grimm
c6741ab55f
Fix a type error
2017-10-04 15:22:12 +02:00
Moritz Grimm
857f096ba0
Libshout behaves irregularly; make tests cope
2017-09-25 20:45:47 +00:00
Moritz Grimm
cb77b073de
Explicitly check that m_str is NULL after an error return
...
Hopefully, this is enough of a hint to Coverity to squelch that
resource leak false positive as well ...
2017-09-25 21:01:55 +02:00
Moritz Grimm
a896f2cc19
Increase test coverage for stream_*()
2017-09-25 20:49:59 +02:00
Moritz Grimm
bcb097a16e
Remove more superfluous access() checks
...
Removes TOCTOU complaints from Coverity
2017-09-25 19:34:37 +02:00
Moritz Grimm
4551bfdbc0
Remove superfluous access() as unlink() does the same thing
2017-09-25 18:18:07 +02:00
Moritz Grimm
9cb757f17f
Add util_* tests
2017-09-25 17:48:39 +02:00
Moritz Grimm
6616831590
Switch to a new (unit-tested) metadata handling API
2017-09-20 12:40:33 +02:00
Moritz Grimm
3a471dc164
Assert errstr2 to be not NULL before dereferencing it
2017-09-20 11:20:39 +02:00
Moritz Grimm
7729fa9773
Make configuration handling around streaming from stdin more robust
2017-09-15 19:23:16 +02:00
Moritz Grimm
43e26549f9
Add support for writing PID files
2017-07-10 11:39:00 +02:00
Moritz Grimm
71e5820df1
Make cmdline_parse() restartable
2017-07-07 16:44:58 +02:00
Moritz Grimm
8e0d5d6678
Add STDIN streaming configuration example
2017-03-30 14:54:41 +02:00
Moritz Grimm
cec131e83a
Fix misleading function name
2016-10-14 16:23:32 +02:00
Moritz Grimm
cce2455bc6
Rename config file (re)load function for clarity
2016-10-14 16:19:39 +02:00
Moritz Grimm
f05462c7ea
Merge remote-tracking branch 'origin/feature/stream_refactor' into feature/https_support
2016-03-07 11:12:22 +01:00
Moritz Grimm
a337c74ea4
Update TLS configuration to match libshout requirements
2016-03-04 18:20:17 +01:00
Moritz Grimm
4b087df3ab
Add plumbing for future encapsulation of libshout usage
2015-06-15 08:04:57 +02:00
Moritz Grimm
b34b78aeba
Remove unneeded fixture prototypes
2015-06-13 11:41:40 +02:00
Moritz Grimm
77fe651bff
Move config plausibility check to CFG and test it
2015-06-11 23:50:31 +02:00
Moritz Grimm
744511ffe2
Expose "configuration stashing" API
2015-06-09 23:02:45 +02:00
Moritz Grimm
02edf4f385
Start with some automated integration/smoke tests
...
Audio from http://www.audiocheck.net/audiocheck_spectrotyper.php
2015-06-03 23:58:45 +02:00
Moritz Grimm
b0eda7b48c
Add cfg_get_stream_format_str()
2015-06-02 23:45:10 +02:00
Moritz Grimm
c396866de6
Test recovery after excessively long lines
2015-06-02 22:35:43 +02:00
Moritz Grimm
9d9bf9865c
Comment out a test that fails with -O0
...
This is a riddle for another day ...
2015-05-30 21:53:01 +02:00