bluenviron-bot
ff4ca04fb4
bump golangci-lint to 2.11.4 ( #5607 )
2026-03-23 13:50:19 +01:00
Alessandro Ros
33f12816cd
docs: update ( #5598 )
2026-03-22 10:38:53 +01:00
t-animal
8568d8c57c
webrtc: fix random absolute timestamps with Opus, G711 and LPCM ( #5597 )
...
When rewriting audio RTP timestamps in WebRTC egress, NTP was
derived using regenerated packet timestamps minus the incoming
RTP base timestamp.
That mixed timestamp domains and could shift absolute time by an
arbitrary offset while still exposing mapping as available.
Fix by using a consistent outgoing RTP domain in rewritten audio
paths:
- snapshot outgoing base timestamp before rewriting each unit
- compute NTP from (outgoing packet timestamp - outgoing base
timestamp)
This keeps RTP<->NTP mapping coherent for sender reports and prevents
random absolute-time offsets in WebRTC loopback with
useAbsoluteTimestamp.
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-03-21 19:46:39 +01:00
Alessandro Ros
3381b196fb
solve codec labels internally ( #5603 )
...
stop using gortsplib format.Format.Codec() for getting codec names.
2026-03-21 18:22:49 +01:00
Alessandro Ros
0f42f087ab
test: add docslinks linter ( #5601 )
...
this checks links in the documentation.
2026-03-21 13:04:14 +01:00
Alessandro Ros
a82e0c7a9d
rpi: restore Docker compatibility with armv6 devices ( #5590 ) ( #5595 )
2026-03-19 21:21:27 +01:00
Alessandro Ros
12687e5abb
improve documentation ( #5586 )
2026-03-18 09:47:46 +01:00
Alessandro Ros
2b302e7940
api: provide track details ( #5307 ) ( #5333 ) ( #1726 ) ( #5585 )
v1.17.0
2026-03-18 00:01:43 +01:00
dependabot[bot]
95e5b55dae
build(deps): bump code.cloudfoundry.org/bytefmt from 0.66.0 to 0.67.0 ( #5583 )
...
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt ) from 0.66.0 to 0.67.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases )
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.66.0...v0.67.0 )
---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
dependency-version: 0.67.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-03-17 19:14:19 +01:00
eh
f98c9c59ca
rtsp: support unwrapping MPEG-TS tracks ( #5476 )
...
this allows to use MPEG-TS tracks with other protocols and with the recording system.
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2026-03-17 19:14:04 +01:00
Alessandro Ros
c8e07b55d5
api: add new stats ( #5582 )
...
- RTSPSession.outboundRTPPacketsDiscarded
- Path.inboundFramesInError
- SRTConn.outboundFramesDiscarded
- WebRTCSession.outboundFramesDiscarded
- RTMPConn.outboundFramesDiscarded
- HLSMuxer.outboundFramesDiscarded
2026-03-17 17:22:15 +01:00
Alessandro Ros
adf45596a3
api: rename WebRTC stats to match RTSP ones ( #5581 )
2026-03-16 23:29:25 +01:00
Alessandro Ros
02e05f1f16
metrics: add two missing SRT stats ( #5580 )
2026-03-16 22:18:16 +01:00
Alessandro Ros
dfce20fefa
api: add RTSP reported lost packets ( #5198 ) ( #5579 )
...
The new outboundRtpPacketsReportedLost property allows to track RTP
packets that have been reported lost by readers. Furthermore, stats now
have a "inbound" or "outbound" prefix to improve readability.
2026-03-16 22:10:18 +01:00
Roman Sirokov
9a485119ec
docs: clarify jwt in query option for rtsp and rtmp ( #5577 )
2026-03-16 21:41:05 +01:00
Alessandro Ros
3bad7045c1
api: add missing enums and move all enums in dedicated components ( #5576 )
2026-03-15 22:09:00 +01:00
Alessandro Ros
c6bb332664
api: add deprecated fields to the OpenAPI definition ( #5575 )
2026-03-15 19:28:06 +01:00
Alessandro Ros
a7290a2069
webrtc: support publishing multiple video/audio renditions ( #5573 )
...
this allows to receive multiple video tracks from OBS Studio with the
new WebRTC Simulcast feature introduced in v32.1.0.
2026-03-14 16:59:05 +01:00
Alessandro Ros
d1fd3df27c
api: add user field to RTSP, RTMP, SRT, WebRTC conns and sessions ( #5104 ) ( #5565 )
2026-03-14 00:03:58 +01:00
Roman Sirokov
9b36d50b8d
optionally validate JWT iss and aud claims ( #5569 )
2026-03-13 22:38:40 +01:00
Alessandro Ros
a6856e9e58
tests: fix race conditions ( #5571 )
2026-03-13 22:32:06 +01:00
Alessandro Ros
7c9023f139
docs: update ( #5570 )
2026-03-13 14:13:42 +01:00
dependabot[bot]
1ef2af64b1
build(deps): bump golang.org/x/crypto from 0.48.0 to 0.49.0 ( #5568 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.48.0 to 0.49.0.
- [Commits](https://github.com/golang/crypto/compare/v0.48.0...v0.49.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.49.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-03-13 13:57:44 +01:00
Alessandro Ros
e59fbd4590
docs: update ( #5567 )
2026-03-12 13:48:35 +01:00
Alessandro Ros
979ddaf81d
webrtc: fix panic with WHIP POST authentication failures ( #5566 )
2026-03-12 12:14:49 +01:00
dependabot[bot]
622513cb24
build(deps): bump code.cloudfoundry.org/bytefmt from 0.65.0 to 0.66.0 ( #5560 )
...
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt ) from 0.65.0 to 0.66.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases )
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.65.0...v0.66.0 )
---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
dependency-version: 0.66.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-03-11 23:00:29 +01:00
dependabot[bot]
4da3015388
build(deps): bump golang.org/x/term from 0.40.0 to 0.41.0 ( #5563 )
...
Bumps [golang.org/x/term](https://github.com/golang/term ) from 0.40.0 to 0.41.0.
- [Commits](https://github.com/golang/term/compare/v0.40.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/term
dependency-version: 0.41.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-03-11 23:00:20 +01:00
dependabot[bot]
d0d6272825
build(deps): bump github.com/abema/go-mp4 from 1.4.1 to 1.5.0 ( #5564 )
...
Bumps [github.com/abema/go-mp4](https://github.com/abema/go-mp4 ) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/abema/go-mp4/releases )
- [Commits](https://github.com/abema/go-mp4/compare/v1.4.1...v1.5.0 )
---
updated-dependencies:
- dependency-name: github.com/abema/go-mp4
dependency-version: 1.5.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-03-11 23:00:08 +01:00
bluenviron-bot
8a4c89f6e9
bump golangci-lint to 2.11.3 ( #5561 )
2026-03-11 22:59:54 +01:00
bluenviron-bot
891befedf6
bump golangci-lint to 2.11.2 ( #5555 )
2026-03-09 20:39:54 +01:00
dependabot[bot]
abf31b65f7
build(deps): bump golang.org/x/sys from 0.41.0 to 0.42.0 ( #5557 )
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.41.0 to 0.42.0.
- [Commits](https://github.com/golang/sys/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.42.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-03-09 20:39:42 +01:00
JulienCossec
184899dfab
fix: avoid buffering HTTP response body in loggerWriter ( #5552 )
...
loggerWriter was shadow-copying every response byte into a bytes.Buffer
to report the body size, causing the entire response to be accumulated
in memory for the lifetime of each request. Replace the buffer with a
plain int counter since dump() only ever reported the byte count anyway.
2026-03-07 18:36:10 +01:00
Alessandro Ros
daec21324f
rtsp: fix rtsps scheme not being used in requests ( #5236 ) ( #5544 )
2026-03-07 18:30:40 +01:00
dependabot[bot]
b5c734eee2
build(deps): bump code.cloudfoundry.org/bytefmt from 0.64.0 to 0.65.0 ( #5547 )
...
Bumps [code.cloudfoundry.org/bytefmt](https://github.com/cloudfoundry/bytefmt ) from 0.64.0 to 0.65.0.
- [Release notes](https://github.com/cloudfoundry/bytefmt/releases )
- [Commits](https://github.com/cloudfoundry/bytefmt/compare/v0.64.0...v0.65.0 )
---
updated-dependencies:
- dependency-name: code.cloudfoundry.org/bytefmt
dependency-version: 0.65.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-03-07 18:29:17 +01:00
bluenviron-bot
a1b0b01b60
bump golangci-lint to 2.11.1 ( #5554 )
2026-03-07 16:16:46 +01:00
dependabot[bot]
9f94bd1333
build(deps): bump github.com/bluenviron/gortsplib/v5 from 5.3.2 to 5.4.0 ( #5543 )
...
Bumps [github.com/bluenviron/gortsplib/v5](https://github.com/bluenviron/gortsplib ) from 5.3.2 to 5.4.0.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v5.3.2...v5.4.0 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v5
dependency-version: 5.4.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>
v1.16.3
2026-03-01 16:43:06 +01:00
dependabot[bot]
de97a47e70
build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.2.6 to 2.2.7 ( #5542 )
...
* build(deps): bump github.com/bluenviron/gohlslib/v2 from 2.2.6 to 2.2.7
Bumps [github.com/bluenviron/gohlslib/v2](https://github.com/bluenviron/gohlslib ) from 2.2.6 to 2.2.7.
- [Commits](https://github.com/bluenviron/gohlslib/compare/v2.2.6...v2.2.7 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gohlslib/v2
dependency-version: 2.2.7
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-03-01 16:38:06 +01:00
dependabot[bot]
5d42c4d3b8
build(deps): bump github.com/gin-gonic/gin from 1.11.0 to 1.12.0 ( #5541 )
...
Bumps [github.com/gin-gonic/gin](https://github.com/gin-gonic/gin ) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/gin-gonic/gin/releases )
- [Changelog](https://github.com/gin-gonic/gin/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gin-gonic/gin/compare/v1.11.0...v1.12.0 )
---
updated-dependencies:
- dependency-name: github.com/gin-gonic/gin
dependency-version: 1.12.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-03-01 12:32:15 +01:00
Alessandro Ros
72832369f6
inherit MPEG-4 audio type from alwaysAvailableFile ( #5539 )
2026-03-01 10:12:35 +01:00
Alessandro Ros
3f1ff994b7
revert to Go 1.25 ( #5521 ) ( #5538 )
...
It seems like Go 1.26 is causing segmentation faults, related to
channels, on Windows.
2026-03-01 10:09:11 +01:00
Alessandro Ros
05ab631996
refactor alwaysAvailable tests ( #5537 )
2026-03-01 00:20:20 +01:00
Alessandro Ros
16fdb71ee9
fix alwaysAvailableFile restarting when a publisher fails ( #5536 )
...
when a publisher try to start an online stream and there's an error,
alwaysAvailableFile restarted without any reason.
2026-02-28 22:43:15 +01:00
Alessandro Ros
2f91c8198c
fix audio from alwaysAvailableFile not being streamed ( #5535 )
2026-02-28 21:46:25 +01:00
Alessandro Ros
10e0271755
fix corrupted video with alwaysAvailableFile ( #5534 )
...
when alwaysAvailableFile points to a file with a H265 or H264 track,
server is started, an online stream is published and then closed, video
was getting corrupted since the online video was overriding the
parameters of the offline video.
2026-02-28 21:06:07 +01:00
Alessandro Ros
4ebfcde8e2
fix MPEG-4 audio configuration not matching error ( #5468 ) ( #5533 )
...
This happened when using alwaysAvailableFile and a MPEG-4 audio track.
2026-02-28 20:17:44 +01:00
Alessandro Ros
5e80554d20
improve playback precision of alwaysAvailable offline segment ( #5530 )
2026-02-28 18:39:52 +01:00
Alessandro Ros
549300cbd4
prevent using alwaysAvailableFile and alwaysAvailableTracks together ( #5529 )
2026-02-28 18:31:41 +01:00
Alessandro Ros
2fcefb7093
switch to actions/attest ( #5528 )
2026-02-28 13:38:03 +01:00
Alessandro Ros
13551f0d98
fix panic when setting writeQueueSize to zero ( #5360 ) ( #5527 )
2026-02-28 09:18:42 +01:00
Alessandro Ros
3568c54a02
improve JSON decoder performance ( #5526 )
...
avoid decoding JSON twice.
2026-02-27 23:25:04 +01:00