1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-11-03 04:17:18 -05:00
Commit Graph

202 Commits

Author SHA1 Message Date
Moritz Grimm
fb7d3b4e38 Check args prior to allocating resources 2015-06-01 14:57:20 +02:00
Moritz Grimm
8d9f475e38 Simplify playlist_program() 2015-05-30 21:48:46 +02:00
Moritz Grimm
cf141edd52 Fix crash in error path 2015-05-28 16:12:38 +02:00
Moritz Grimm
8b42aff63d Fix metadata.c includes (esp. for stat()) 2015-05-28 14:09:13 +02:00
Moritz Grimm
d929bd65a7 Fix whitespace 2015-05-28 14:02:17 +02:00
Moritz Grimm
2b004da593 Relax "group writeable!" error for compatibility w/ recent Linux 2015-05-28 08:38:51 +02:00
Moritz Grimm
6422607b1f Expect stat() availability 2015-05-28 08:37:49 +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
74dce6af5b Remove unneeded functionality 2015-05-27 00:26:59 +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
7a4c7291da Fix log level 2015-05-26 14:22:56 +02:00
Moritz Grimm
b4fe40532a Simplify log_syserr() (no need to be thread-safe)
Using strerror_r() w/ proper error checking is impossible, if the
system uses GNUisms (and losing _GNU_SOURCE's extensions is equally
painful)

Also, this change probably fixes a "abort() instead of error" bug.
2015-05-24 11:26:04 +02:00
Moritz Grimm
4c6a879303 Make log testable: return true value when something was logged 2015-05-24 09:05:40 +02:00
Moritz Grimm
b920aadd70 Error string argument is no longer used 2015-05-22 22:34:48 +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
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
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
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
0d66baf9f7 Merge branch 'feature/unit_tests' into feature/config_refactor 2015-05-14 23:37:22 +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
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
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
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
Moritz Grimm
85c90a3c80 Add support for compiler attributes 2015-04-16 19:30:36 +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
dd1ab911c9 Two more indent fixes. 2015-04-15 13:20:32 +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