Alessandro Ros and GitHub
8a327110ee
prevent security warning about "Zip Slip" in RPI camera downloader ( #6096 )
2026-08-16 11:17:03 +00:00
Alessandro Ros and GitHub
550bb297dc
fix race condition during sub-stream creation ( #6075 ) ( #6095 )
...
When a stream with always-available turned on switches from offline to
online, or from a publisher to another, the reader mutex was not
acquired during writing of codec parameters. This is now fixed.
2026-08-16 11:05:50 +00:00
Alessandro Ros and GitHub
309257925e
document payload requirements ( #6094 )
2026-08-16 10:22:31 +00:00
Alessandro Ros and GitHub
53acffacb4
hls: stop using cookies with plain HTTP ( #6089 )
...
in case of plain HTTP, fall back to query parameters, which are safer than
HTTP cookies because they are not shared between different
pages/domains, although they are visible in the URL.
2026-08-16 10:20:51 +00:00
Alessandro Ros and GitHub
ee2ff01704
hls: unlock the session-in-query+iOS combination ( #6088 )
...
this was previously blocked because the session in query was meant to
be dynamic, therefore incompatible with static playlists required by
iOS. It is not anymore, so we can support that.
2026-08-16 10:11:33 +00:00
Alessandro Ros and GitHub
ef6a74455b
hls: prefer hls.js on iOS too ( #6090 )
...
In the embedded HLS reader, use hls.js on iOS, that was previously
disabled due to compatibility issues that should have been solved.
2026-08-16 11:57:13 +02:00
Alessandro Ros and GitHub
337acacd60
moq: limit maximum amount of published tracks ( #6087 )
...
this prevents clients from consuming an excessive amount of memory.
2026-08-15 21:10:53 +00:00
Alessandro Ros and GitHub
679b2b9532
impose a minimum value to clock rate of always-available tracks ( #6086 )
...
Clock rates below 10 caused the emission of empty samples. Fix the
issue by imposing a minimum value of 8khz, that rises to 22khz in case
of AAC.
2026-08-15 17:08:49 +00:00
Alessandro Ros and GitHub
f29816fe50
moq: do not accept empty payloads ( #6085 )
2026-08-15 16:56:35 +00:00
Alessandro Ros and GitHub
02e060721d
remove useless JPEG checks from recorder ( #6083 )
...
MJPEG frames are already validated before reaching the recorder,
there's no need to validate them twice.
2026-08-15 17:38:01 +02:00
Alessandro Ros and GitHub
78081d71d5
rpi: prevent invalid MJPEG sizes ( #6080 )
...
width and height of MJPEG frames must be multiple of 8 and less than
2048, otherwise they cannot be routed with RTP/RTSP.
2026-08-15 16:27:41 +02:00
Alessandro Ros and GitHub
145381e81d
rtmp: inform about authentication failures ( #5657 ) ( #6072 )
...
Reply with NetStream.Play.Failed or NetStream.Publish.Unauthorized when
a client is not authorized to play or publish. This makes clients like
OBS to stop recreating the connection in case of authentication
failures.
2026-08-13 09:05:39 +00:00
bluenviron-bot and GitHub
c11e995bb4
bump hls.js to v1.7.0 ( #6071 )
2026-08-13 07:00:28 +02:00
Alessandro Ros and GitHub
a146e55978
webrtc: improve performance by ignoring mDNS candidates ( #4963 ) ( #6064 )
...
mDNS candidates sometimes require a large CPU portion, they are not
involved in any connectivity method mentioned in the documentation, they work in
local networks only.
2026-08-10 12:00:23 +00:00
Alessandro Ros and GitHub
8e46f37ba7
rpi: fix crash when secondary stream is enabled ( #6060 ) ( #6061 )
2026-08-08 19:41:26 +02:00
Alessandro Ros and GitHub
b615b7312c
prevent spamming of 'stream is closed' error during shutdown ( #6062 )
2026-08-08 19:41:06 +02:00
Alessandro Ros and GitHub
6f0faa49d1
webrtc: fix warning when IPv6 is disabled ( #5733 ) ( #6048 )
2026-08-07 10:05:05 +02:00
bluenviron-bot and GitHub
03a6e91ed7
bump hls.js to v1.6.17 ( #6046 )
2026-08-06 07:01:28 +02:00
Alessandro Ros and GitHub
1b943637a4
moq: support draft-16 ( #6045 )
2026-08-05 12:16:07 +02:00
Alessandro Ros and GitHub
f0d2f11525
moq: link primitives to draft-17 sections ( #6044 )
2026-08-05 09:33:39 +00:00
Alessandro Ros and GitHub
c48b0b8fee
moq: increase max namespace field count to 32 ( #6043 )
2026-08-05 09:20:59 +00:00
Alessandro Ros and GitHub
a4ad182e4e
format imports ( #6041 )
2026-08-04 22:13:15 +00:00
Alessandro Ros and GitHub
a65bdc1c5a
moq: support draft-17 ( #6040 )
2026-08-04 23:57:27 +02:00
Alessandro Ros and GitHub
e0ed9885fc
moq: support publishing and reading through native QUIC ( #6039 )
2026-08-04 23:47:59 +02:00
Alessandro Ros and GitHub
dcd4b38838
srt: close sources immediately when path is closed ( #6038 )
2026-08-04 22:48:57 +02:00
98ab3009ea
support forwarding streams natively ( #5558 )
...
It is now possible to define forward destinations for each path configuration. For each destination, the server will create a client that will forward the stream to the intended destination. Supported protocols are RTSP, RTMP, SRT. API and metrics have also been improved to allow monitoring the new forwarding system.
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-08-04 21:57:15 +02:00
Alessandro Ros and GitHub
f36c41d90a
webrtc: fix "packet lost" error when routing streams from WebRTC ( #6034 )
...
Chrome sometimes sends empty packets, that are discarded by the server,
but the sequence number of following packets is not recomputed,
leading downstream packet loss detectors to emit errors. This is fixed.
2026-08-04 21:00:11 +02:00
Alessandro Ros and GitHub
543dbc9eb8
fix support for regexp groups greater than 10 ( #6033 )
2026-08-04 18:50:38 +00:00
Alessandro Ros and GitHub
d8b2e4b6fc
add more black-box tests ( #6032 )
2026-08-04 18:44:17 +00:00
Alessandro Ros and GitHub
021f84428d
bump Ubuntu in E2E tests ( #6035 )
2026-08-04 18:38:27 +00:00
Alessandro Ros and GitHub
9d8f894c46
srt: show stream ID in logs ( #6018 )
2026-08-04 17:57:01 +02:00
Alessandro Ros and GitHub
c8d0e47488
fix some CodeQL warnings ( #6029 )
2026-08-03 17:23:08 +00:00
Alessandro Ros and GitHub
1c7bc95cdd
prevent some CodeQL warnings ( #6027 )
2026-08-03 16:47:25 +00:00
Alessandro Ros and GitHub
62c119f0a4
hls: prevent some CodeQL warnings ( #6024 )
2026-08-03 16:23:08 +00:00
Alessandro Ros and GitHub
3d5039607c
metrics: fix race condition in tests ( #6026 )
2026-08-03 18:14:20 +02:00
Alessandro Ros and GitHub
35990a38c3
webrtc: fix race condition in tests ( #6025 )
2026-08-03 18:11:24 +02:00
Alessandro Ros and GitHub
3c77704ccf
rtsp: log write errors ( #6023 )
2026-08-02 16:48:13 +00:00
Alessandro Ros and GitHub
4bb896afe0
webrtc: reset recomputed audio PTS if it drifts too much ( #6021 )
2026-08-01 16:24:53 +00:00
Alessandro Ros and GitHub
24dd8f44a5
sync golangci-lint settings ( #6020 )
2026-08-01 08:30:58 +00:00
Alessandro Ros and GitHub
ef93aee083
use black-box testing where possible ( #6016 )
2026-08-01 08:06:27 +00:00
fa9cd4fbed
build(deps): bump github.com/quic-go/webtransport-go from 0.11.1 to 0.12.0 ( #6011 )
...
* build(deps): bump github.com/quic-go/webtransport-go
Bumps [github.com/quic-go/webtransport-go](https://github.com/quic-go/webtransport-go ) from 0.11.1 to 0.12.0.
- [Release notes](https://github.com/quic-go/webtransport-go/releases )
- [Commits](https://github.com/quic-go/webtransport-go/compare/v0.11.1...v0.12.0 )
---
updated-dependencies:
- dependency-name: github.com/quic-go/webtransport-go
dependency-version: 0.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* additional changes
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-07-29 18:40:36 +02:00
Alessandro Ros and GitHub
817c22cc6c
fix inability to read some AV1 streams with RTSP ( #6001 ) ( #6006 )
...
Since v1.16.0, temporal unit delimiters were not stripped from AV1 streams
anymore. This has been restored, healing AV1 streams read with
RTSP.
2026-07-29 14:36:23 +02:00
d843a0bf21
webrtc: fix packet corruption when reading G722 ( #6000 )
...
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-07-29 13:31:02 +02:00
Alessandro Ros and GitHub
a0482f937f
webrtc: sort tracks in a deterministic way ( #5988 ) ( #5989 )
...
When ingesting tracks with WebRTC, track order was randomized,
preventing multi-track always-available streams from working reliably,
since they require tracks to be ordered in a precise way.
WebRTC tracks are not ordered by MID, RID, trackID and streamID
respectively.
2026-07-25 19:44:45 +02:00
Alessandro Ros and GitHub
fc47d9e6ed
srt: improve log clarity ( #5990 )
...
use message 'passphrase not provided by client' when clients do not
provide passphrases.
2026-07-25 19:44:31 +02:00
5ccc80ad7b
build(deps): bump github.com/bluenviron/gortsplib/v5 from 5.6.1 to 5.6.2 ( #5981 )
...
* build(deps): bump github.com/bluenviron/gortsplib/v5 from 5.6.1 to 5.6.2
Bumps [github.com/bluenviron/gortsplib/v5](https://github.com/bluenviron/gortsplib ) from 5.6.1 to 5.6.2.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v5.6.1...v5.6.2 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v5
dependency-version: 5.6.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* additional changes
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-07-23 23:49:31 +02:00
Alessandro Ros and GitHub
4c5f558006
hls, webrtc: prevent cross-origin unauthorized access ( #5975 )
...
when a user had previously inserted credentials into a MediaMTX
instance through a browser, and AllowOrigins was set to a wildcard,
third-party websites visited by the user were allowed to read streams
without restrictions. This is now prevented by returning "*" in
Access-Control-Allow-Origins when AllowOrigins is a wildcard, a
behavior that prevents browsers from sharing credentials with
third-party websites.
2026-07-23 23:06:15 +02:00
c23bdf2924
rtsp: use session ID in requests to the external authentication server ( #5977 )
...
Co-authored-by: Cycle1337 <Cycle1337@outlook.com >
2026-07-23 23:04:29 +02:00
Alessandro Ros and GitHub
5d0ba43667
moq: prevent excessive CPU consumption in reorderer ( #5976 )
...
do not iterate by maxGroupID (passed by user) but iterate by internal
pending packets (uncontrolled by user).
2026-07-23 23:01:05 +02:00
Alessandro Ros and GitHub
2183d37d32
add comment to prevent security scan false positives ( #5973 )
2026-07-23 22:59:23 +02:00