Alessandro Ros and GitHub
b64650ca4a
record: prevent recordDeleteAfter from deleting current segment ( #4331 )
2025-03-16 12:24:40 +01:00
Alessandro Ros and GitHub
44136b3045
api: fix crash in /recordings/list ( #4040 ) ( #4291 )
...
The API crashed when
- '%path%' is not present in 'recordPath'
- 'all_others' is in 'paths'
- there's at least one recording segment
A recording segment without path is parsed as a segment with an empty
path. This path is then passed to FindPathConf(), that returns an error
in case of empty or invalid paths. This error is not checked for
performance reasons, leading to the crash.
This PR prevents empty or invalid paths from reaching FindPathConf().
2025-02-28 19:04:05 +01:00
Alessandro Ros and GitHub
386be42784
rtsp: rewrite authentication around ServerConn.VerifyCredentials ( #4267 )
2025-02-18 17:54:13 +01:00
Alessandro Ros and GitHub
7ade2896e5
warn users when non-existent fields are used in conf ( #4261 )
2025-02-18 15:23:44 +01:00
Alessandro Ros and GitHub
d822c2a200
rtsp: support using relative URLs in sourceRedirect ( #4260 )
2025-02-18 15:23:07 +01:00
Alessandro Ros and GitHub
b950a0a601
rtsp: fix authentication when rtspAuthMethods is empty ( #4266 )
...
when rtspAuthMethods is nil, digest+SHA256 gets enabled, resulting in
the inability of FFmpeg and most clients to connect due to
compatibility issues.
2025-02-18 15:18:17 +01:00
Alessandro Ros and GitHub
244da930a1
switch to mediacommon/v2 ( #4259 )
2025-02-17 14:54:58 +01:00
Jean-Philippe Bergeron and GitHub
e8297478f3
Configurable webrtcSTUNGatherTimeout ( #4221 )
2025-02-07 16:34:17 +01:00
Alessandro Ros and GitHub
ac0ddc9e8a
playback: improve /list response time ( #3637 ) ( #4096 )
...
Response times of the /list endpoint were slow because the duration of
each segment was computed from scratch by summing the duration of each
of its parts.
This is improved by storing the duration of the overall segment in the
header and using that, if available.
2025-01-03 13:08:46 +01:00
Alessandro Ros and GitHub
b49acb1e00
accept durations expressed as days (i.e. '1d') ( #4094 )
2025-01-02 12:44:15 +01:00
Alessandro Ros and GitHub
df3362aef8
warn users if deprecated parameters are being used ( #4080 )
2024-12-25 19:28:54 +01:00
Alessandro Ros and GitHub
dfb792eb90
rtsp: rename encryption, protocols, serverKey, serverCert into rtspEncryption, rtspProtocols, rtspServerKey, rtspServerCert ( #4078 )
2024-12-25 18:26:14 +01:00
Alessandro Ros and GitHub
d641392da5
fix race condition when checking configuration ( #4044 )
...
* simplify configuration parser
* fix race condition when checking configuration
2024-12-15 12:34:51 +01:00
Alessandro Ros and GitHub
576a117c7c
bump Golang to 1.23 ( #3702 )
2024-11-04 14:02:05 +01:00
Alessandro Ros and GitHub
1dd975504f
rpi: increase default camera bitrate to 5 Mbps ( #3896 )
2024-10-21 01:25:32 +02:00
Alessandro Ros and GitHub
a532779e33
simplify Path.HasStaticSource() ( #3876 )
2024-10-14 14:47:51 +02:00
Alessandro Ros and GitHub
4d0ce87f09
hls: support generating streams with multiple audio tracks ( #2728 ) ( #3793 )
2024-10-03 19:38:54 +02:00
Alessandro Ros and GitHub
7b01f48d40
prevent setting readTimeout / writeTimeout to zero ( #3750 )
2024-09-09 12:36:53 +02:00
Alessandro Ros and GitHub
73a300afd0
fix cleaning of recordings in case of multiple recordDeleteAfter values ( #3557 ) ( #3741 )
2024-09-08 20:33:18 +02:00
Alessandro Ros and GitHub
0d1da6bd5b
allow to set the JWT claim key that contains permissions ( #3560 ) ( #3692 )
2024-08-26 12:43:28 +02:00
Alessandro Ros and GitHub
3700d5e5b9
rpi: fix passing unsigned integers to component ( #3672 )
2024-08-21 00:08:54 +02:00
Alessandro Ros and GitHub
41a3fd503d
rpi: add H264 software encoder ( #2581 ) ( #3670 )
...
This allows to use the RPI camera on the Raspberry Pi 5 too.
2024-08-21 00:05:40 +02:00
Alessandro Ros and GitHub
f4051eb63d
rpi: add rpiCameraFlickerPeriod ( #3463 ) ( #3667 )
2024-08-19 11:22:54 +02:00
Alessandro Ros and GitHub
adf740098a
raise error in case of duplicate params in the configuration ( #3593 ) ( #3651 )
2024-08-13 11:55:00 +02:00
Alessandro Ros and GitHub
aade940296
Revert "enable runOnDemandRestart by default ( #3605 )" ( #3609 )
...
This reverts commit 547e56e82b .
2024-08-04 12:32:37 +02:00
Alessandro Ros and GitHub
547e56e82b
enable runOnDemandRestart by default ( #3605 )
2024-08-03 20:51:54 +02:00
Alessandro Ros and GitHub
9554fc4ba0
prevent mixing together legacy and current auth mechanism ( #3258 ) ( #3460 )
2024-06-12 17:38:55 +02:00
Jason Walton and GitHub
1c2f95f609
webrtc: allow configuring timeouts ( #3404 ) ( #3406 )
...
* webrtc: allow configuring timeouts (#3404 )
* fix from code inspect
2024-05-30 13:36:58 +02:00
Bouke van der Bijl and GitHub
6793a12aff
api: make replace paths idempotent ( #3362 )
...
Don't return a 404 error if the path doesn't exist yet
2024-05-19 14:40:50 +02:00
Alessandro Ros and GitHub
f3ed659fab
rtsp: fix authentication when algorithm field is not supported ( #3116 ) ( #3314 )
2024-05-15 10:28:12 +02:00
Alessandro Ros and GitHub
c0ad6e4dc5
raise an error in case recordPath is incompatible with the playback server ( #3356 )
2024-05-14 17:40:45 +02:00
xjr20042 and GitHub
6debb52abd
hls: make closeAfterInactivity configurable ( #3329 )
...
* HLS: make closeAfterInactivity configurable
* add `hlsMuxerCloseAfter` to `apidocs/openapi.yaml`
2024-05-09 10:08:15 +02:00
Alessandro Ros and GitHub
575d3585fe
fix unexpected behavior of authInternalUsers or authHTTPExclude ( #3316 )
...
when some subfields of authInternalUsers or authHTTPExclude were not
set explicitly in the configuration file, default values were used in
their place. This is caused by a strange behavior of Go
(https://github.com/golang/go/issues/21092 )
2024-05-04 10:12:43 +02:00
Alessandro Ros and GitHub
85dd81698b
support HTTPS, Allow-Origin and trusted proxies in API, playback server, metrics server and pprof server ( #2658 ) ( #2491 ) ( #3235 ) ( #3280 )
2024-04-21 17:10:35 +02:00
Alessandro Ros and GitHub
9d82d4e783
api: fix crash when calling config/paths/patch on an empty path config ( #3265 )
2024-04-18 00:23:39 +02:00
Alessandro Ros and GitHub
9a67eb8bb6
record: increase default part duration to 1s ( #3264 )
2024-04-18 00:11:28 +02:00
Alessandro Ros and GitHub
0b5519d30c
deprecate path.playback parameter ( #3217 )
...
this has become useless after the introduction of the new
authentication system, that already allows to select which paths are
available for playback
2024-04-09 10:04:12 +02:00
lvyaoting and GitHub
34b120fd33
fix typo in comment ( #3205 )
...
Signed-off-by: lvyaoting <lvyaoting@outlook.com >
2024-04-08 09:29:42 +02:00
87c0535823
Add option for ICE servers to be client only ( #3164 )
...
* Add option for ICE servers to be client only
* add clientOnly to configuration file and API docs
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2024-04-06 18:32:53 +02:00
Alessandro Ros and GitHub
c7dbb951f3
update golangci-lint ( #3149 )
2024-03-19 12:53:26 +01:00
Alessandro Ros and GitHub
dd3b268346
do not switch to legacy authentication system when readUser, readPass, publishUser, publishPass are present but are empty ( #3113 )
2024-03-06 18:04:08 +01:00
Alessandro Ros and GitHub
9c6ba7e2c7
New authentication system ( #1341 ) ( #1992 ) ( #2205 ) ( #3081 )
...
This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication).
2024-03-04 14:20:34 +01:00
Alessandro Ros and GitHub
b6db3121b5
rtsp: add random value to timestamp of tracks from other protocols ( #3071 )
2024-02-26 00:41:05 +01:00
Alessandro Ros and GitHub
c7bdcea741
move RTSP tests into internal/servers/rtsp ( #3049 )
2024-02-20 19:35:35 +01:00
Alessandro Ros and GitHub
9e5de737f0
move SRT tests into internal/servers/srt ( #3037 )
2024-02-17 20:42:41 +01:00
Alessandro Ros and GitHub
0f733bab26
add rpiCameraAWBGains ( #2858 ) ( #2954 )
2024-01-28 21:48:21 +01:00
Alessandro Ros and GitHub
57c2d5aecb
add playback server ( #2452 ) ( #2906 )
...
* add playback server
* add playback switch
* update readme
2024-01-23 20:52:05 +01:00
Alessandro Ros and GitHub
7b9617f2e7
api: return 404 when an entity is not found ( #2582 ) ( #2920 )
2024-01-18 23:28:56 +01:00
397c58a882
Add Argon2 credential hash support ( #2888 )
...
* Add argon2 credential hash support
* update README, tests and documentation
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2024-01-13 12:49:08 +01:00
Alessandro Ros and GitHub
7437ee7a09
update golangci-lint ( #2868 )
2024-01-03 21:13:20 +01:00