Commit Graph

636 Commits

Author SHA1 Message Date
aler9 b06d95eac4 fix removal of RTMP clients 2021-03-02 11:51:17 +01:00
aler9 a9385547ea add parameter readBufferCount to support non-compliant servers or publishers (#211) 2021-02-18 23:26:45 +01:00
aler9 2f156b59f8 drop existing publisher when a new publisher connects (#187) 2021-02-15 19:02:33 +01:00
aler9 25bf7759ef add logo 2021-02-15 12:39:21 +01:00
aler9 a42419eae3 fix tests 2021-02-13 22:00:31 +01:00
aler9 fa381c73ac add codecov 2021-02-13 20:45:23 +01:00
aler9 b4f7f6f4fa update action badges to point to the right page 2021-02-13 19:23:58 +01:00
aler9 22ab4d489e support relative fallback paths (#201) 2021-02-09 22:33:50 +01:00
aler9 86c718ae04 forbid usage of sourceOnDemand when source is not 'record' 2021-02-09 22:13:16 +01:00
aler9 a0aa88cb45 update makefile 2021-02-04 21:55:00 +01:00
aler9 0484e417ee send status 461 instead of error when multicast is used (#198) 2021-02-03 23:24:52 +01:00
aler9 f9125fe986 update readme 2021-02-03 21:38:27 +01:00
aler9 a047fdc404 split configuration into sections 2021-02-03 09:55:11 +01:00
aler9 f8967d05bc update readme 2021-02-01 09:34:58 +01:00
aler9 59e754feb1 support runOnConnect and runOnDemand with RTMP clients 2021-01-31 23:37:20 +01:00
aler9 2025fa163d implement RTMP authentication 2021-01-31 23:11:14 +01:00
aler9 750d4f7072 update readme 2021-01-31 22:01:23 +01:00
aler9 3bcead121d add a RTMP server that allows to publish legacy streams (#132) 2021-01-31 21:42:27 +01:00
aler9 50880bf07b rename client into clientrtsp 2021-01-31 17:06:34 +01:00
aler9 f9a7ad7eca add serverrtmp 2021-01-31 16:58:57 +01:00
aler9 17c22577c9 split sourcertmp and rtmpinfo 2021-01-31 16:44:32 +01:00
aler9 f03ff73ef3 add read timeout to RTMP sources 2021-01-31 16:24:58 +01:00
aler9 da9d6df706 merge serverplain and servertls into serverrtsp 2021-01-31 13:19:44 +01:00
aler9 b30dbc1315 start runOnDemand even with clients that don't send DESCRIBE (#155) 2021-01-31 12:23:54 +01:00
aler9 40f2d5cd09 cleanup 2021-01-30 22:06:02 +01:00
aler9 49ac52ff67 speed up RTMP sources 2021-01-30 21:19:50 +01:00
aler9 c179e924ee remove useless sleeps from tests 2021-01-30 19:30:46 +01:00
aler9 4920a1d6a1 rewrite TestAuth and TestPath 2021-01-30 19:17:17 +01:00
aler9 ac04b7afb4 rewrite TestSource 2021-01-30 18:55:50 +01:00
aler9 764d6976a7 rewrite TestRunOnDemand 2021-01-30 18:28:49 +01:00
aler9 0df60e1e9a restore CI 2021-01-30 17:55:13 +01:00
aler9 38ec8d878d increase path and headers maximum length (#192) 2021-01-30 17:51:52 +01:00
aler9 2b4d22589c move configuration tests into internal/conf 2021-01-30 17:49:10 +01:00
aler9 887a95f2f1 run internal tests too 2021-01-30 17:45:33 +01:00
aler9 cc703fe5c5 support clients that don't specify track ID, like tvheadend (#155) 2021-01-20 22:25:47 +01:00
aler9 b6277dc7cf update workflows to use the main branch 2021-01-17 22:55:04 +01:00
aler9 1df765edcd add go-mod-tidy to the lint action 2021-01-16 16:14:32 +01:00
aler9 6b1643940e support encrypting the configuration file 2021-01-16 15:43:56 +01:00
aler9 903842484e apply listenIP to metrics and pprof too 2021-01-15 18:58:45 +01:00
aler9 9b052f1cdc metrics: avoid sprintf 2021-01-15 18:50:31 +01:00
aler9 3b04ba36c3 add parameter listenIP to listen on a specific IP/interface (#166) 2021-01-15 18:42:53 +01:00
aler9 e40235966e add instructions on how to edit the configuration file with docker 2021-01-15 11:50:33 +01:00
aler9 205284829d confwatcher: add additional tests 2021-01-13 21:57:09 +01:00
aler9 8e97f4ff61 confwatcher: fail if configuration file doesn't exist 2021-01-13 21:57:09 +01:00
Florian Vallée f5dc53e0f2 improve config file watcher to support k8s configmap reloads
The config file watcher assumed a simple configuration where the
existing configuration file is overwritten by a text editor.

In practice this does not detect some more complex configuration change
scenarios such as :
* The configuration file is behind a symlink and the symlink is updated
* The configuration file is behind a double symlink (k8s configmap
  update)
* The configuration file is not updated but removed the re-created

In order to fix these cases :
* Watch the configuration file parent directory instead of the file
itself, this lets us grab events event if the file was removed and a new
file is used.
* In addition to read/write event matching, watch for any change in
the configuration file path. This handles the symlink case where the
file itself hasn't changed but its location did

v2:
- apply gofmt
2021-01-13 21:57:09 +01:00
aler9 05e835e48c confwatcher: add tests 2021-01-13 20:48:57 +01:00
aler9 97305af272 new parameter readBufferCount 2021-01-10 12:55:53 +01:00
aler9 9b20f53119 decrease RAM consumption 2021-01-10 12:36:39 +01:00
aler9 2cbb5ac361 decrease RAM usage by allocating TCP buffers only when needed and with a proper size 2021-01-10 12:23:49 +01:00
aler9 e5364b1fc6 perform frame readings and writings in separate routines, in order to increase UDP throughput and avoid freezes caused by a single laggy reader (#125) (#162) 2021-01-09 23:04:23 +01:00