Commit Graph

492 Commits

Author SHA1 Message Date
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
aler9 92f83da31c fix RTCP generation when using UDP 2021-01-07 13:17:51 +01:00
aler9 b588f5e9a9 fix crash 2021-01-06 23:40:08 +01:00
aler9 6d98532f19 convert stress test into benchmark tests 2021-01-06 23:24:05 +01:00
aler9 0cf0cd9045 fix crash 2021-01-06 22:49:16 +01:00
aler9 d590805cda move RTCP receivers into gortsplib 2021-01-06 22:31:08 +01:00
aler9 2132226f90 move client state and client tracks into gortsplib 2021-01-06 21:23:45 +01:00
aler9 9fb844331e move UDP support into gortsplib 2021-01-06 12:40:18 +01:00
aler9 39882ef654 update issue templates 2021-01-01 17:03:37 +01:00
aler9 63485ef55e add auth fail tests (#164) 2021-01-01 16:05:32 +01:00
aler9 4822e8c06c update issue templates 2021-01-01 14:57:37 +01:00
aler9 818307ff54 forbid usage of publishUser, publishPass, publishIps when source is not 'record' 2020-12-31 21:50:18 +01:00
aler9 3050893d32 support hashed credentials 2020-12-31 19:47:25 +01:00
aler9 36caa51081 update golangci-lint 2020-12-30 17:15:00 +01:00
aler9 ad195a6bd0 use 'strict' instead of 'yes' in the 'encryption' parameter 2020-12-20 12:51:04 +01:00
aler9 939dda01d0 support 'false' and 'true' values of 'encryption' parameter (#160) 2020-12-19 20:04:17 +01:00
aler9 98a443d22d fix crash when configuration is invalid (#160) 2020-12-19 20:03:28 +01:00
aler9 95559faeb9 update readme 2020-12-17 14:37:39 +01:00
aler9 cea8fe358b add delay before gstreamer tests 2020-12-17 14:26:46 +01:00
aler9 6bc240daf2 fix gstreamer tests 2020-12-17 13:24:24 +01:00
aler9 b3e9249158 fix PAUSE with UDP (#157)" 2020-12-16 22:31:32 +01:00
aler9 007cfb33ae isolate stress tests 2020-12-16 13:23:42 +01:00
aler9 4b3b0bb73c remove useless header 2020-12-16 13:15:32 +01:00
aler9 19fec814fa fix possible freeze 2020-12-16 12:15:36 +01:00
aler9 9887abc51a fix freeze 2020-12-15 21:25:40 +01:00
aler9 baf7abc9a6 add release workflow 2020-12-15 14:14:24 +01:00
aler9 5e32a526e5 support proxying rtsps streams 2020-12-14 23:32:24 +01:00
aler9 ccb8b92bfb implement RTSPS (#77) 2020-12-13 23:51:44 +01:00
aler9 d83aa880cc add anti-brute force mechanism 2020-12-13 18:59:46 +01:00
aler9 854f00afdc update gortsplib 2020-12-13 13:58:56 +01:00
aler9 40c2eb3da2 forbid runOnPublish when source is not record (#143) 2020-12-13 00:18:40 +01:00
aler9 41c1deda63 update issue templates 2020-12-13 00:02:21 +01:00
aler9 cd958588ac rewrite readme 2020-12-12 23:56:05 +01:00
aler9 f9e6cdcb7b rewrite client to use the new gortsplib ServerConn 2020-12-12 23:37:15 +01:00
aler9 692b236c6c update linter settings 2020-12-08 12:37:31 +01:00
aler9 74b592b211 implement log levels; print requests and responses when log level is "debug" (#116) 2020-12-08 12:21:06 +01:00
aler9 18fe2d057c print a warn message when the configuration file is not found 2020-12-06 22:29:56 +01:00
aler9 a6c06d3853 support transport headers with a single port (#136) 2020-12-06 22:06:22 +01:00
aler9 7d0bfe563c try to increase test success rate 2020-12-06 21:31:10 +01:00
aler9 cce08c12b6 fix crash when using publishIp or readIp (#142) 2020-12-06 21:16:04 +01:00
aler9 6e352aca7f support SDPs with spaces in origin (#127) 2020-12-06 20:16:03 +01:00
aler9 60d1407a01 add multiple sources example (#141) 2020-12-06 19:45:16 +01:00
aler9 27b046c217 update gstreamer pipelines to publish and read audio too 2020-12-06 19:41:14 +01:00
aler9 286d837d9e update gortsplib 2020-12-06 18:01:10 +01:00
aler9 769e1a7e1a simplify linter settings 2020-12-06 12:22:00 +01:00