Commit Graph
3360 Commits
Author SHA1 Message Date
Alessandro RosandGitHub a56c635f8e fix deadlock when changing configuration through file and API (#6077) (#6101)
When changing configuration in parallel by editing the configuration
file and calling the API, the server could get into a deadlock that
prevented any further action. This is fixed.
2026-08-17 11:14:01 +00:00
Alessandro RosandGitHub 8657b48a03 srt: restore ability to run tests on most systems (#6102) 2026-08-17 12:26:44 +02:00
Alessandro RosandGitHub 831ed9564b webrtc: support forwarding streams (#6099) 2026-08-16 21:09:59 +02:00
Alessandro RosandGitHub c9f003f247 restore ability to run the server in a read-only file system (#6098)
This was temporarily lost after the introduction of the native MoQ QUIC
listener.
2026-08-16 16:03:37 +02:00
6a40b29538 srt: apply UDP read buffer size from configuration (#6069)
Use upstream datarhei/gosrt's ListenerControl config field
(datarhei/gosrt#144) to set SO_RCVBUF on the SRT listener's UDP socket.

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2026-08-16 13:27:57 +00:00
Alessandro RosandGitHub f89b0feb28 prevent security warning about "Zip Slip" in RPI camera downloader (#6097) 2026-08-16 11:51:15 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d5ef4b455b build(deps): bump golang.org/x/net from 0.57.0 to 0.58.0 (#6092)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.57.0 to 0.58.0.
- [Commits](https://github.com/golang/net/compare/v0.57.0...v0.58.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.58.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-16 13:29:57 +02:00
Alessandro RosandGitHub 8a327110ee prevent security warning about "Zip Slip" in RPI camera downloader (#6096) 2026-08-16 11:17:03 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2e12e9df11 build(deps): bump golang.org/x/crypto from 0.54.0 to 0.55.0 (#6093)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.54.0 to 0.55.0.
- [Commits](https://github.com/golang/crypto/compare/v0.54.0...v0.55.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-16 13:12:28 +02:00
Alessandro RosandGitHub 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 RosandGitHub 309257925e document payload requirements (#6094) 2026-08-16 10:22:31 +00:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub 4f78c3f2d6 docs: suggest using playsinline in video tags (#6091) 2026-08-16 10:03:16 +00:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub 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 RosandGitHub f29816fe50 moq: do not accept empty payloads (#6085) 2026-08-15 16:56:35 +00:00
Alessandro RosandGitHub 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 RosandGitHub 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
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c990fad680 build(deps): bump code.cloudfoundry.org/bytefmt from 0.84.0 to 0.85.0 (#6076)
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt) from 0.84.0 to 0.85.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases)
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.84.0...v0.85.0)

---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
  dependency-version: 0.85.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-15 07:00:18 +02:00
Alessandro RosandGitHub 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
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
20048e7c11 build(deps): bump github.com/alecthomas/kong from 1.16.0 to 1.16.1 (#6070)
Bumps [github.com/alecthomas/kong](https://github.com/alecthomas/kong) from 1.16.0 to 1.16.1.
- [Commits](https://github.com/alecthomas/kong/compare/v1.16.0...v1.16.1)

---
updated-dependencies:
- dependency-name: github.com/alecthomas/kong
  dependency-version: 1.16.1
  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>
2026-08-13 07:00:33 +02:00
bluenviron-botandGitHub c11e995bb4 bump hls.js to v1.7.0 (#6071) 2026-08-13 07:00:28 +02:00
Alessandro RosandGitHub b86f02c227 restore datarhei/gosrt (#6068) 2026-08-12 10:10:23 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8ce023fd70 build(deps): bump github.com/pion/ice/v4 from 4.4.0 to 4.4.1 (#6066)
Bumps [github.com/pion/ice/v4](https://github.com/pion/ice) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/pion/ice/releases)
- [Commits](https://github.com/pion/ice/compare/v4.4.0...v4.4.1)

---
updated-dependencies:
- dependency-name: github.com/pion/ice/v4
  dependency-version: 4.4.1
  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>
2026-08-11 07:01:14 +02:00
Alessandro RosandGitHub 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 RosandGitHub 8e46f37ba7 rpi: fix crash when secondary stream is enabled (#6060) (#6061) 2026-08-08 19:41:26 +02:00
Alessandro RosandGitHub b615b7312c prevent spamming of 'stream is closed' error during shutdown (#6062) 2026-08-08 19:41:06 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
97b404349c build(deps): bump actions/attest from 4.2.1 to 4.2.2 (#6054)
Bumps [actions/attest](https://github.com/actions/attest) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/attest/releases)
- [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/attest
  dependency-version: 4.2.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>
2026-08-08 11:14:45 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
faf9da7c62 build(deps): bump code.cloudfoundry.org/bytefmt from 0.83.0 to 0.84.0 (#6052)
---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
  dependency-version: 0.84.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-08 07:01:03 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
98e52ea43b build(deps): bump github.com/pion/transport/v4 from 4.0.2 to 4.1.0 (#6053)
Bumps [github.com/pion/transport/v4](https://github.com/pion/transport) from 4.0.2 to 4.1.0.
- [Release notes](https://github.com/pion/transport/releases)
- [Commits](https://github.com/pion/transport/compare/v4.0.2...v4.1.0)

---
updated-dependencies:
- dependency-name: github.com/pion/transport/v4
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-08 07:00:56 +02:00
Alessandro RosandGitHub 6f0faa49d1 webrtc: fix warning when IPv6 is disabled (#5733) (#6048) 2026-08-07 10:05:05 +02:00
bluenviron-botandGitHub 03a6e91ed7 bump hls.js to v1.6.17 (#6046) 2026-08-06 07:01:28 +02:00
Alessandro RosandGitHub 1b943637a4 moq: support draft-16 (#6045) 2026-08-05 12:16:07 +02:00
Alessandro RosandGitHub f0d2f11525 moq: link primitives to draft-17 sections (#6044) 2026-08-05 09:33:39 +00:00
Alessandro RosandGitHub c48b0b8fee moq: increase max namespace field count to 32 (#6043) 2026-08-05 09:20:59 +00:00
Alessandro RosandGitHub 241892220b bump dependencies (#6042) 2026-08-05 10:59:53 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
028915aa49 build(deps): bump github.com/MicahParks/jwkset from 0.11.2 to 0.11.3 (#6036)
Bumps [github.com/MicahParks/jwkset](https://github.com/MicahParks/jwkset) from 0.11.2 to 0.11.3.
- [Release notes](https://github.com/MicahParks/jwkset/releases)
- [Commits](https://github.com/MicahParks/jwkset/compare/v0.11.2...v0.11.3)

---
updated-dependencies:
- dependency-name: github.com/MicahParks/jwkset
  dependency-version: 0.11.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>
2026-08-05 07:00:13 +02:00
Alessandro RosandGitHub a4ad182e4e format imports (#6041) 2026-08-04 22:13:15 +00:00
Alessandro RosandGitHub a65bdc1c5a moq: support draft-17 (#6040) 2026-08-04 23:57:27 +02:00
Alessandro RosandGitHub e0ed9885fc moq: support publishing and reading through native QUIC (#6039) 2026-08-04 23:47:59 +02:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub 543dbc9eb8 fix support for regexp groups greater than 10 (#6033) 2026-08-04 18:50:38 +00:00
Alessandro RosandGitHub d8b2e4b6fc add more black-box tests (#6032) 2026-08-04 18:44:17 +00:00
Alessandro RosandGitHub 021f84428d bump Ubuntu in E2E tests (#6035) 2026-08-04 18:38:27 +00:00
Alessandro RosandGitHub 9d8f894c46 srt: show stream ID in logs (#6018) 2026-08-04 17:57:01 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
99388ff71f build(deps): bump actions/attest from 4.2.0 to 4.2.1 (#6028)
Bumps [actions/attest](https://github.com/actions/attest) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/attest/releases)
- [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: actions/attest
  dependency-version: 4.2.1
  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>
2026-08-04 07:00:35 +02:00