Moritz Grimm
65200182f9
Split out tests for cfg_xmlfile.c and use it to check the examples
2015-05-22 00:40:21 +02:00
Moritz Grimm
d71886a0e6
Add a video streaming example
2015-05-22 00:27:52 +02:00
Moritz Grimm
c304dfe48a
Support passthrough "encoders" again
2015-05-22 00:20:54 +02:00
Moritz Grimm
b8ea620f7a
Default to port 8000
2015-05-22 00:19:57 +02:00
Moritz Grimm
f7a700efe9
Replace examples with fewer, more concise ones
2015-05-21 23:32:55 +02:00
Moritz Grimm
2bc4cedbb0
Make oggdec output correctly signed RAW audio
...
Newer oggdec seems to have inverted the -e setting, as compared to the
old examples from a few years ago.
2015-05-21 23:30:51 +02:00
Moritz Grimm
34bdab6a36
Fix cfg_get_metadata_program() and add tests when NULL is expected from getters
2015-05-21 23:25:05 +02:00
Moritz Grimm
fb9c44f7fa
Update new example so that it can theoretically work
2015-05-21 18:50:22 +02:00
Moritz Grimm
404b03fa60
Fix format_str default
2015-05-21 18:41:07 +02:00
Moritz Grimm
e2139e9195
Remove check_ezstream dummy; it doesn't do anything useful, yet
...
... and ezstream.c is probably the most untestable file right now anyways.
2015-05-21 08:34:30 +02:00
Moritz Grimm
dd2f32665a
Add remaining tests that make cfg tests "good enough"
2015-05-21 01:28:07 +02:00
Moritz Grimm
6c6e758626
Fix variable name inside test macro
2015-05-21 01:27:28 +02:00
Moritz Grimm
5350b3be79
Fix signedness in comparison
2015-05-21 01:25:07 +02:00
Moritz Grimm
dcb5303b4b
Consistently set errstrp
2015-05-21 01:24:09 +02:00
Moritz Grimm
d1ae8fa17d
Properly traverse list
2015-05-21 01:23:47 +02:00
Moritz Grimm
865dbfe682
Test error branch w/o triggering a Valgrind error
2015-05-20 00:34:26 +02:00
Moritz Grimm
4c3a4a38bb
Reorganize tests; add proper fixtures
2015-05-20 00:14:50 +02:00
Moritz Grimm
810fbdb897
Add a few more tests
2015-05-18 23:57:36 +02:00
Moritz Grimm
8eef9842b1
cfg_init() returns int
2015-05-18 23:49:52 +02:00
Moritz Grimm
02b42c8446
Plug memory leak
2015-05-18 23:36:43 +02:00
Moritz Grimm
876660fc17
Test and fix cfg_*_get()
2015-05-16 00:39:36 +02:00
Moritz Grimm
1d02b841f0
Update ezstream-file(1) for new command line arguments
2015-05-15 22:47:19 +02:00
Moritz Grimm
e529726e50
Fix "make distcheck"
2015-05-15 22:30:48 +02:00
Moritz Grimm
13be6d2680
Add remaining tests of cfg.c
2015-05-15 00:47:47 +02:00
Moritz Grimm
5a8e087b31
Clean up better before and after
2015-05-15 00:46:31 +02:00
Moritz Grimm
91bcdc206f
The metadata block is not mandatory
2015-05-15 00:45:36 +02:00
Moritz Grimm
0d66baf9f7
Merge branch 'feature/unit_tests' into feature/config_refactor
2015-05-14 23:37:22 +02:00
Moritz Grimm
91b82d8fd5
Catch up with the documentation
2015-05-14 23:29:38 +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
1115ab16db
Return NULL in case of unset program_config_file
2015-05-12 17:33:08 +02:00
Moritz Grimm
4aff0b7e3e
Remove copypasta to fix "make dist"
2015-05-12 13:08:47 +02:00
Moritz Grimm
36511d9408
Add script to generate coverage reports using lcov.
2015-05-12 12:06:49 +02:00
Moritz Grimm
9c842281fa
Make LIBOBJS available to libtool libs
2015-05-12 11:32:21 +02:00
Moritz Grimm
8355fde68a
Merge branch 'feature/config_refactor' into feature/unit_tests
2015-05-11 23:48:50 +02:00
Moritz Grimm
f7bc34e8f2
Use a macro to set UINT values
2015-05-11 23:48:07 +02:00
Moritz Grimm
7789015afe
Add tests for all but cfg_reload() and cfg_exit()
2015-05-11 23:46:39 +02:00
Moritz Grimm
9f975551ee
Merge branch 'feature/config_refactor' into feature/unit_tests
2015-05-11 22:47:27 +02:00
Moritz Grimm
d2468432db
Make behaviour of setters consistent
2015-05-11 22:45:22 +02:00
Moritz Grimm
ff0640053e
Add a few tests
2015-05-11 00:47:39 +02:00
Moritz Grimm
f6ec4e1aeb
Add check unit testing framework w/ 2 dummy tests
2015-05-06 23:45:52 +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
05c7e32997
Fix command line parsing regression
2015-05-06 16:59:05 +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
ffa2a01c96
Add missing change to xreallocarray() in previous
2015-04-23 00:02:51 +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