1
0
Fork 0
Commit Graph

84 Commits

Author SHA1 Message Date
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