aler9
c6f91d62d7
fix hot reloading
2025-11-19 03:21:26 +01:00
Kim Adrian Huynh
61c67cc585
feat(api): add support for multiple allowed origins with wildcards
...
Introduce a new `allowOrigins` configuration field (slice of strings) to
replace the single-string `allowOrigin`.
Add logic to validate origins against allowed patterns, supporting:
- Exact matches
- Wildcard domain matching (e.g., http://*.example.com )
Update configuration handling in core and test components to support the
new format.
Maintain backwards compatibility with the old `allowOrigin` field.
Update `openapi.yaml` to reflect the new configuration field.
2025-11-19 02:45:54 +01:00
dependabot[bot]
4b80f5fbf5
build(deps): bump github.com/pion/rtp from 1.8.23 to 1.8.25 ( #5138 )
...
Bumps [github.com/pion/rtp](https://github.com/pion/rtp ) from 1.8.23 to 1.8.25.
- [Release notes](https://github.com/pion/rtp/releases )
- [Changelog](https://github.com/pion/rtp/blob/master/.goreleaser.yml )
- [Commits](https://github.com/pion/rtp/compare/v1.8.23...v1.8.25 )
---
updated-dependencies:
- dependency-name: github.com/pion/rtp
dependency-version: 1.8.25
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-11-18 04:12:41 +01:00
Alessandro Ros
3f599d236f
rtp: reorder packets before ingestion ( #5194 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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-11-14 17:19:48 +01:00
Alessandro Ros
2d02ca0df7
webrtc: use rtpReceiver and rtpSender to count packets ( #5193 )
2025-11-14 17:10:50 +01:00
Alessandro Ros
d02fb4ed8e
move constant ( #5190 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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-11-12 18:09:53 +01:00
Alessandro Ros
ff187b6d8a
update golangci-lint configuration ( #5182 )
2025-11-11 23:57:52 +01:00
Alessandro Ros
ac1d4360b2
tests: fix race condition ( #5187 )
2025-11-11 21:12:01 +01:00
Alessandro Ros
8858bf1db9
simplify code with ptrOf ( #5179 )
2025-11-11 12:01:03 +01:00
Alessandro Ros
5be9b0eb97
rename variable ( #5173 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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-11-09 22:19:17 +01:00
bluenviron-bot
2cd62af900
bump hls.js to v1.6.14 ( #5147 )
2025-11-02 16:58:58 +01:00
Alessandro Ros
1ef5db5b3c
extend udpReadBufferSize to WebRTC UDP sockets ( #5130 )
...
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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
this allows to decrease packet losses without touching system parameters.
2025-10-29 11:45:15 +01:00
Alessandro Ros
adc4a6ceb6
add udpReadBufferSize parameter ( #5129 )
...
this allows to set a global UDP read buffer, applied to every UDP socket.
2025-10-29 11:28:22 +01:00
Alessandro Ros
c42642ac3c
recorder: prevent FMP4 durations from overflowing ( #4711 ) ( #5126 )
...
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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
The timestamp difference between two samples was put inside an unsigned
integer, and, when negative, caused an overflow.
2025-10-26 15:52:13 +01:00
bluenviron-bot
4ff80d773b
bump mediamtx-rpicamera to v2.5.1 ( #5121 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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-10-21 21:50:28 +02:00
Alessandro Ros
d209454693
rtmp: fix freeze when reading source ( #5117 )
...
Tracks were read without deadlines, freezing the server if they are not
present. This patch also allows to close the server immediately during
track reading.
2025-10-21 18:04:18 +02:00
Alessandro Ros
f126a7e7d6
playback: improve segment merging algorithm ( #5084 )
...
* merge segments only if they belong to the same stream and are
consecutive. * compute DTS without using NTP timestamp, increasing
robustness against NTP fluctuations.
2025-10-13 17:00:21 +02:00
Alessandro Ros
7bca38badb
add self-upgrader ( #3501 ) ( #5035 )
...
this allows to upgrade MediaMTX to latest version by running
./mediamtx --upgrade
2025-10-13 13:06:47 +02:00
Alessandro Ros
02e2b9d640
recorder: write additional infos inside segments ( #5083 )
...
write stream ID, segment number, DTS, NTP in a dedicated box. This
allows to improve the merge algorithm in the playback server.
2025-10-13 12:34:44 +02:00
Alessandro Ros
ccaccc51b4
replace incoming absolute timestamps of any source ( #5081 )
...
Absolute timestamps are used to generate recording segments, so users
should not be able to change them, unless explicitly allowed.
Parameter useAbsoluteTimestamp allowed to re-enable absolute timestamps
with RTSP and WebRTC, now it is extended to all protocols.
2025-10-13 12:23:51 +02:00
Alessandro Ros
75420552b9
recorder: reset fMP4 sequence number during segment switch ( #5082 )
...
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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
It's useless to make sequence numbers unique across the entire stream.
2025-10-12 17:59:28 +02:00
Alessandro Ros
a9d84103d0
prevent estimated absolute timestamp from drifting too much ( #5080 )
2025-10-12 17:53:22 +02:00
Alessandro Ros
0cdae40fe3
estimate absolute timestamp more precisely ( #5078 )
...
When the absolute timestamp of incoming frames was not available, it
was filled with the current timestamp, which is influenced by latency
over time.
This mechanism is replaced by an algorithm that detects when latency is
the lowest, stores the current timestamp and uses it as reference
throughout the rest of the stream.
2025-10-12 11:02:14 +02:00
Alessandro Ros
f5f03562d3
rewrite Unit definition ( #5079 )
...
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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
Stream units now share the same struct, with a specialized payload.
2025-10-11 12:18:51 +02:00
Alessandro Ros
6415285427
hls: improve web page performance ( #5062 )
...
load hls.js in parallel with the page.
2025-10-05 18:00:14 +02:00
Alessandro Ros
7634370818
add read and write timeouts in HTTP servers ( #5056 )
...
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
Alessandro Ros
691d7290fb
webrtc: fix packet corruption when reading G711 ( #5048 )
...
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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
when a reader is reading a G711 track, stream units are modified
globally, affecting every other reader. This fixes the issue.
2025-09-30 10:42:24 +02:00
Alessandro Ros
2690ef8e71
api: add /info endpoint ( #945 ) ( #5045 )
2025-09-30 10:39:27 +02:00
Alessandro Ros
2024783eec
webrtc: fix clippy audio when reading Opus ( #3878 ) ( #5047 )
...
Opus timestamp is now recomputed from scratch.
2025-09-30 10:35:56 +02:00
Alessandro Ros
cd80814009
do not include recorder and HLS muxer in sent bytes ( #4380 ) ( #5039 )
...
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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
in API (/paths/list, /paths/get) and metrics (paths_bytes_sent), the
amount of sent bytes was increased even in case of writes to the
recorder and HLS muxer, which are not generating network traffic. This
fixes the issue.
2025-09-29 09:28:04 +02:00
Alessandro Ros
ada39d22cd
on Windows, do not look for configuration in linux paths ( #5036 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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-09-27 13:36:04 +02:00
Alessandro Ros
d6e6954a12
api: fix crash in rtspsessions/list and /rtspsessions/get ( #5030 ) ( #5031 )
...
sometimes sessions have an empty associated path, and this caused a
crash.
2025-09-25 10:57:03 +02:00
Alessandro Ros
6b57c5187b
webrtc: add authentication parameters to publisher.js and reader.js ( #5026 )
...
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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
add user, pass and token configuration parameters.
2025-09-24 18:28:53 +02:00
Alessandro Ros
e1f5d06612
allow changing record parameters without disconnecting readers ( #4663 ) ( #5018 )
2025-09-23 10:31:05 +02:00
Alessandro Ros
f987695d9d
rtsp: log authentication failure reason ( #4641 ) ( #5017 )
2025-09-23 10:18:13 +02:00
Alessandro Ros
5240bcb8ff
log authentication errors of API, metrics, pprof ( #4641 ) ( #5015 )
2025-09-23 09:51:22 +02:00
bluenviron-bot
b192dbc492
bump hls.js to v1.6.13 ( #5024 )
2025-09-23 09:36:32 +02:00
Alessandro Ros
85f57b90db
stop accepting JWTs from query parameters unless allowed in conf ( #5010 )
...
This is the first step into removing support for JWTs in
query parameters, which is a security flaw.
2025-09-22 10:04:51 +02:00
Alessandro Ros
68b4c20627
fix reading JWT when it is passed through the password field ( #5009 )
...
Usernames and passwords must be requested explicitly to clients, but
they were not requested when JWT is meant to be passed as password.
This fixes the issue.
2025-09-22 10:00:33 +02:00
Alessandro Ros
b517631b8f
fix authentication failure reason not being displayed ( #5007 )
2025-09-22 09:48:51 +02:00
dependabot[bot]
253df883c2
build(deps): bump github.com/bluenviron/mediacommon/v2 ( #4990 )
...
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon ) from 2.4.2 to 2.4.3.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v2.4.2...v2.4.3 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
dependency-version: 2.4.3
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-09-18 13:10:42 +02:00
bluenviron-bot
d6cb547321
bump mediamtx-rpicamera to v2.5.0 ( #4993 )
2025-09-18 13:06:12 +02:00
Alessandro Ros
f81c50ee68
rtsp: support reading streams tunneled with HTTP or WebSocket ( #4986 )
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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-09-17 22:31:20 +02:00
Alessandro Ros
558d1c3818
api: add tunnel and profile to RTSP conns and sessions ( #4985 )
2025-09-17 22:18:21 +02:00
Alessandro Ros
e3b8af8933
switch to gortsplib/v5 ( #4978 )
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (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-09-16 13:10:34 +02:00
dependabot[bot]
ebd9eb6665
build(deps): bump github.com/bluenviron/mediacommon/v2 ( #4975 )
...
Bumps [github.com/bluenviron/mediacommon/v2](https://github.com/bluenviron/mediacommon ) from 2.4.2-0.20250909112826-017d0bbe41db to 2.4.2.
- [Commits](https://github.com/bluenviron/mediacommon/commits/v2.4.2 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon/v2
dependency-version: 2.4.2
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-09-15 22:56:28 +02:00
Alessandro Ros
35aceaa4a9
send server name (SNI) when opening TLS connections ( #4973 )
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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-09-15 19:38:36 +02:00
Alessandro Ros
1b8897d30d
rtmp: move implementation to gortmplib ( #4968 )
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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-09-13 11:50:36 +02:00
Alessandro Ros
e8b746b6d5
rtsp: fix memory leak when closing sessions ( #4964 ) ( #4678 ) ( #4967 )
code_lint / go (push) Waiting to run
code_lint / go_mod (push) Waiting to run
code_lint / docs (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-09-12 15:48:14 +02:00
Alessandro Ros
0c801564fd
playback: fix crash during authentication errors ( #4960 ) ( #4966 )
2025-09-12 15:24:51 +02:00