Commit graph

1343 commits

Author SHA1 Message Date
Dimitri Marechal
1827e062bd
add authJWTExclude to exclude actions when using JWT (#3431)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
* Added authJWTExclude to allow exclusion of actions while using the JWT authentication method

* add test

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-04-25 19:55:11 +02:00
Alessandro Ros
77c77c7f2f
webrtc: prevent payload type conflict in read page (#4456)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
2025-04-21 15:24:01 +02:00
Alessandro Ros
0c501e2507
webrtc: improve JavaScript classes (#4455)
* add close() method

* move support functions into classes as static methods

* convert arrow functions into standard functions

* make most methods private

* add JSDocs
2025-04-21 15:01:46 +02:00
Xiaobo Liu
44aa4ba50f
webrtc: simplify webrtcTurnSecretExpiration (#4453) 2025-04-21 14:21:45 +02:00
Alessandro Ros
dd9a5caa7b
fix getting version from .git folder (#4430)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
2025-04-14 12:31:48 +02:00
Alessandro Ros
189c2085db
fix cross-compilation of arm/arm64 (#4429) 2025-04-14 12:20:11 +02:00
Alessandro Ros
8ce49727d6
rpi: support exposing a secondary stream from the same camera (#4426) 2025-04-14 11:56:08 +02:00
Alessandro Ros
14f1daa02a
move static source handler into dedicated package (#4427)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-04-13 21:35:12 +02:00
Alessandro Ros
4280eec265
rpi: make sure all parameters are 32-bit (#4425) 2025-04-13 19:13:26 +02:00
Alessandro Ros
b564dc9ff1
rtsp: emit log message when remuxing RTP packets (#4422)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-04-13 10:21:46 +02:00
Alessandro Ros
14eb9f6175
improve tests (#4423) 2025-04-13 10:00:52 +02:00
Alessandro Ros
517ba4124c
restore support for using unix timestamp in record path (#4330) (#4417) 2025-04-12 12:16:08 +02:00
Alessandro Ros
77a3c7ae6e
webrtc: route original absolute timestamp of packets (#1300) (#4415) 2025-04-12 11:34:27 +02:00
Alessandro Ros
49bcd35afd
bump gortsplib (#4416) 2025-04-12 11:29:37 +02:00
github-actions[bot]
e7388e1125
bump hls.js to v1.6.2 (#4411)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
Co-authored-by: mediamtx-bot <bot@mediamtx>
2025-04-11 11:14:42 +02:00
github-actions[bot]
070ffe739b
bump hls.js to v1.6.1 (#4398)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
2025-04-05 18:33:56 +02:00
Alessandro Ros
f9bee5f54f
rename high-level tests into E2E tests (#4395) 2025-04-04 14:43:35 +02:00
Alessandro Ros
848a8b1031
webrtc: fix codec collision in Chrome (#4394)
Fix error "A BUNDLE group contains a codec collision for
payload_type='96. All codecs must share the same type, encoding name,
clock rate and parameters. (INVALID_PARAMETER)"
2025-04-04 14:31:37 +02:00
Alessandro Ros
a05da3a205
rpi: route original absolute timestamp of packets (#1300) (#4382)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-31 13:18:56 +02:00
Alessandro Ros
8b98c02903
rtsp: route original absolute timestamp of packets (#1300) (#4378)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-29 19:08:42 +01:00
Alessandro Ros
4bbedc4955
hls: fix reading streams with non-standard clock rates (#4376) 2025-03-29 17:14:02 +01:00
Alessandro Ros
ee8a47844a
hls: fix race condition when getting absolute time (#4375) 2025-03-29 17:10:31 +01:00
github-actions[bot]
6250d6c485
bump hls.js to v1.6.0 (#4374)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-28 08:48:10 +01:00
Alessandro Ros
60cabeea92
hls: support routing absolute timestamps (#1300) (#4372)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-03-27 22:18:13 +01:00
Alessandro Ros
0d46cf3f74
rename stream decode errors into processing errors (#4370)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
Stream errors include both errors from decoding RTP packets into
frames, and errors from encoding frames into RTP packets. "processing
errors" is more fit.
2025-03-26 15:14:08 +01:00
Alessandro Ros
f851cb6961
add missing Start() call; fix wrong sprintf (#4369) 2025-03-26 12:47:09 +01:00
Alessandro Ros
986e270862
count and log all discarded frames, decode errors, lost packets (#4363)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
Discarded frames, decode errors and lost packets were logged
individually, then there was a mechanism that prevented more than 1 log
entry per second from being printed, resulting in inaccurate reports.

Now discarded frames, decode errors and lost packets are accurately
counted, and their count is printed once every second.
2025-03-25 21:59:58 +01:00
Alessandro Ros
65a2f63081
fix getting MediaMTX version with go-gin (#4367) 2025-03-25 21:41:38 +01:00
Alessandro Ros
416ac1357e
bump mediacommon and gortsplib (#4364)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-03-24 17:25:18 +01:00
Vyacheslav Kadyshev
1069e131b0
allow to customize syslog prefix (#4356)
Co-authored-by: Кадышев Вячеслав <v.kadyshev@dssl.ru>
2025-03-24 15:54:33 +01:00
Alessandro Ros
b329c4bbe8
replace New* with Initialize() (#4345) 2025-03-16 15:34:53 +01:00
Alessandro Ros
b64650ca4a
record: prevent recordDeleteAfter from deleting current segment (#4331) 2025-03-16 12:24:40 +01:00
github-actions[bot]
285b94fce5
bump mediamtx-rpicamera to v2.3.7 (#4312)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
Co-authored-by: mediamtx-bot <bot@mediamtx>
2025-03-05 17:58:51 +01:00
Alessandro Ros
371b9585a6
change error message when stream is not found (#4301)
Switch from 'no one is publishing to path' to 'no stream is available
on path' since the stream might be provided from a static source too.
2025-03-03 18:09:22 +01:00
Alessandro Ros
c692f3b78c
webrtc: rewrite WHIP client (#4299)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-01 17:01:57 +01:00
Alessandro Ros
aa101c680c
webrtc: make client always provide UDP candidates (#4298) 2025-03-01 16:52:59 +01:00
Alessandro Ros
5c6cf58d75
webrtc: fix connecting to TCP-only sources (#4293) 2025-03-01 11:07:50 +01:00
Alessandro Ros
44136b3045
api: fix crash in /recordings/list (#4040) (#4291)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
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
Kibeom Lee
95d0be64bc
fix ARM compilation (#4280)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-02-27 20:13:18 +01:00
Alessandro Ros
386be42784
rtsp: rewrite authentication around ServerConn.VerifyCredentials (#4267)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-02-18 17:54:13 +01:00
Alessandro Ros
7ade2896e5
warn users when non-existent fields are used in conf (#4261) 2025-02-18 15:23:44 +01:00
Alessandro Ros
d822c2a200
rtsp: support using relative URLs in sourceRedirect (#4260) 2025-02-18 15:23:07 +01:00
Alessandro Ros
2745527264
prevent useless path manager reload (#4264) 2025-02-18 15:18:45 +01:00
Alessandro Ros
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
244da930a1
switch to mediacommon/v2 (#4259)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-02-17 14:54:58 +01:00
Alessandro Ros
eeb83f9a56
record: fix crash when recordDeleteAfter is 0 and API is called (#4250) (#4254)
Some checks are pending
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-02-14 11:53:16 +01:00
dependabot[bot]
b66efd66da
build(deps): bump github.com/bluenviron/gortsplib/v4 (#4236)
Some checks failed
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
Bumps [github.com/bluenviron/gortsplib/v4](https://github.com/bluenviron/gortsplib) from 4.12.2 to 4.12.3.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v4.12.2...v4.12.3)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-07 20:19:14 +01:00
Alessandro Ros
e8e21bfa42
do not allocate recordcleaner.Cleaner when not needed (#4232) 2025-02-07 17:11:20 +01:00
Alessandro Ros
d31f1ab882
fix removing empty recording folders (#4227) (#4231) 2025-02-07 17:07:08 +01:00
Jean-Philippe Bergeron
e8297478f3
Configurable webrtcSTUNGatherTimeout (#4221) 2025-02-07 16:34:17 +01:00