JulienCossec and GitHub
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 and GitHub
daec21324f
rtsp: fix rtsps scheme not being used in requests ( #5236 ) ( #5544 )
2026-03-07 18:30:40 +01:00
Alessandro Ros and GitHub
72832369f6
inherit MPEG-4 audio type from alwaysAvailableFile ( #5539 )
2026-03-01 10:12:35 +01:00
Alessandro Ros and GitHub
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 and GitHub
05ab631996
refactor alwaysAvailable tests ( #5537 )
2026-03-01 00:20:20 +01:00
Alessandro Ros and GitHub
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 and GitHub
2f91c8198c
fix audio from alwaysAvailableFile not being streamed ( #5535 )
2026-02-28 21:46:25 +01:00
Alessandro Ros and GitHub
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 and GitHub
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 and GitHub
5e80554d20
improve playback precision of alwaysAvailable offline segment ( #5530 )
2026-02-28 18:39:52 +01:00
Alessandro Ros and GitHub
549300cbd4
prevent using alwaysAvailableFile and alwaysAvailableTracks together ( #5529 )
2026-02-28 18:31:41 +01:00
Alessandro Ros and GitHub
13551f0d98
fix panic when setting writeQueueSize to zero ( #5360 ) ( #5527 )
2026-02-28 09:18:42 +01:00
Alessandro Ros and GitHub
3568c54a02
improve JSON decoder performance ( #5526 )
...
avoid decoding JSON twice.
2026-02-27 23:25:04 +01:00
Alessandro Ros and GitHub
4974cacb94
improve video/audio sync of alwaysAvailable ( #5443 ) ( #5508 )
...
store elapsed time once for the entire stream and start PTS of sub
streams from there.
2026-02-22 18:25:32 +01:00
0f46e4982d
build(deps): bump github.com/bluenviron/gortsplib/v5 from 5.3.2-0.20260222121945-18b06189ef23 to 5.3.2 ( #5504 )
...
* build(deps): bump github.com/bluenviron/gortsplib/v5
Bumps [github.com/bluenviron/gortsplib/v5](https://github.com/bluenviron/gortsplib ) from 5.3.2-0.20260222121945-18b06189ef23 to 5.3.2.
- [Commits](https://github.com/bluenviron/gortsplib/commits/v5.3.2 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v5
dependency-version: 5.3.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-02-22 17:14:02 +01:00
2e429158a8
log packet sizes if UDPMaxPayloadSize is exceeded ( #4668 )
...
Co-authored-by: Alessandro Ros <aler9.dev@gmail.com >
2026-02-22 13:42:12 +01:00
Alessandro Ros and GitHub
35e1f486c9
add integrated packet dumper ( #5488 )
...
this allows to dump any incoming and outgoing packet, to disk, in
pcapng format.
2026-02-22 13:34:05 +01:00
Alessandro Ros and GitHub
a93f75cdc3
remove double check ( #5457 ) ( #5503 )
2026-02-22 13:28:54 +01:00
Alessandro Ros and GitHub
52d14ba47c
fix error 400 with parallel describe and publish requests ( #5095 ) ( #5502 )
...
When a path is dynamic, and the path receives multiple describe and
publish requests in parallel, describe requests might cause the path to
be deleted, and this might cause pending publish requests to fail,
since the path has been deleted.
This patch improves the situation by checking for pending requests
before deleting a path.
2026-02-22 00:00:41 +01:00
bluenviron-bot and GitHub
a07526d57c
bump Golang to 1.26 ( #5460 )
2026-02-21 14:48:53 +01:00
Alessandro Ros and GitHub
96d6dbae12
rpi: fix kernel warning when closing camera ( #4988 ) ( #5474 )
2026-02-21 14:37:37 +01:00
Alessandro Ros and GitHub
98a9cf8238
improve tests ( #5497 )
2026-02-21 14:25:32 +01:00
bluenviron-bot and GitHub
a4ff325df0
bump mediamtx-rpicamera to v2.5.4 ( #5495 )
2026-02-21 12:35:03 +01:00
Alessandro Ros and GitHub
28b0e21910
suggest using JWTs in query parameters for RTSP and RTMP ( #5267 ) ( #5493 )
...
In case of RTSP and RTMP, JWTs cannot be used as passwords since
there's a size limit. Therefore, documentation is updated to suggest
passing JWT through query parameters, and authJWTInHTTPQuery is updated
to act on HTTP requests only.
2026-02-20 22:16:56 +01:00
jmduerk and GitHub
5403dc2796
srt: set timeout of idle peers to readTimeout ( #5489 )
2026-02-20 22:15:13 +01:00
Alessandro Ros and GitHub
87fbfebf06
webrtc: add whepBearerTokenParameter ( #3796 ) ( #5486 )
...
this allows to pass Authorization: Bearer to servers that require it.
2026-02-19 11:57:39 +01:00
Alessandro Ros and GitHub
3c46bfd337
warn when alwaysAvailableFile is not MP4 ( #5483 )
2026-02-18 21:29:42 +01:00
Alessandro Ros and GitHub
336714157f
fix codec parameters not being loaded from alwaysAvailableFile ( #5484 )
2026-02-18 21:29:24 +01:00
Alessandro Ros and GitHub
f991821a5f
webrtc: allow tuning WHEP timeouts ( #5027 ) ( #5479 )
...
add whepHandshakeTimeout, whepTrackGatherTimeout, whepSTUNGatherTimeout
2026-02-18 16:29:25 +01:00
Alessandro Ros and GitHub
ddaafd4ef3
rtmp: prevent legacy clients from reading multiple video/audio tracks ( #5478 )
2026-02-18 11:02:58 +01:00
Alessandro Ros and GitHub
cb69d64fac
deprecate unix+rtp ( #5318 ) ( #4999 ) ( #5351 ) ( #5470 )
...
Unix socket are stream-based connections, while RTP requires
packet-based connections. While packet-based Unix sockets exist
(unixgram), no client supports them. Consequently we are forced to
deprecate unix+rtp.
2026-02-15 13:02:18 +01:00
Alessandro Ros and GitHub
bbefa5bc8b
improve tests ( #5469 )
2026-02-15 12:50:26 +01:00
Alessandro Ros and GitHub
a0bbdd9655
replace YAML parser ( #5461 )
...
switch from the unmaintained gopkg.in/yaml to goccy/go-yaml
2026-02-12 15:51:14 +01:00
Alessandro Ros and GitHub
9793f90453
make config file YAML 1.2 compliant ( #5345 ) ( #5456 )
2026-02-12 15:46:06 +01:00
Alessandro Ros and GitHub
832cc05f39
api: add conns to RTSP Sessions ( #5454 )
...
this allows to find connections associated with a RTSP session.
2026-02-12 15:45:34 +01:00
bluenviron-bot and GitHub
ea6977d918
bump golangci-lint to 2.9.0 ( #5459 )
2026-02-12 15:18:02 +01:00
Alessandro Ros and GitHub
c250e34075
support X-Forwarded-Proto in playback server ( #4970 ) ( #5445 )
...
allow reverse proxies to change the schema of URLs returned by the
server through the X-Forwarded-Proto header.
2026-02-11 21:47:02 +01:00
Alessandro Ros and GitHub
f907e19b08
hls: in client, support storing and sending cookies ( #5444 )
2026-02-10 15:17:15 +01:00
4a559338ae
improve JSON error message ( #5412 ) ( #5433 )
...
Co-authored-by: Zaphkiel <duambi123@gmail.com >
2026-02-07 19:52:27 +01:00
bluenviron-bot and GitHub
e0dac8724b
bump mediamtx-rpicamera to v2.5.3 ( #5429 )
2026-02-07 19:38:57 +01:00
Alessandro Ros and GitHub
325d00dfb8
move go <-> api check in linters ( #5425 )
2026-02-06 16:12:57 +01:00
Alessandro Ros and GitHub
ae21240c76
add additional checks on always-available streams ( #5408 )
...
make sure that published streams match MPEG-4 audio, G711 and LPCM
parameters declared in configuration or used by the offline file.
2026-02-06 16:06:24 +01:00
Alessandro Ros and GitHub
4f859fb40b
add authHTTPFingerprint ( #5413 ) ( #5422 )
2026-02-05 16:51:29 +01:00
Alessandro Ros and GitHub
4dc09e1d51
set default udpMaxPayloadSize to an IPv6 compatible value ( #4882 ) ( #5402 )
...
When using IPv6, there are 20 bytes less available for UDP payload,
which has been adjusted accordingly.
2026-02-05 16:32:02 +01:00
Alessandro Ros and GitHub
a0745e1220
emit structured logs with nanosecond precision ( #4924 ) ( #5404 )
2026-02-05 16:31:23 +01:00
Dimitri Pappas and GitHub
9ffbdbdc1f
fix typo in error message ('alwaysAvailableVideo' -> 'alwaysAvailableFile') ( #5417 )
2026-02-03 11:59:20 +01:00
Alessandro Ros and GitHub
74eaa11d3a
rtsp: add rtspUDPSourcePortRange param ( #5363 ) ( #5397 )
2026-01-31 16:21:53 +01:00
88a15c7654
build(deps): bump github.com/bluenviron/gortmplib from 0.2.0 to 0.2.1 ( #5394 )
...
* build(deps): bump github.com/bluenviron/gortmplib from 0.2.0 to 0.2.1
Bumps [github.com/bluenviron/gortmplib](https://github.com/bluenviron/gortmplib ) from 0.2.0 to 0.2.1.
- [Commits](https://github.com/bluenviron/gortmplib/compare/v0.2.0...v0.2.1 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortmplib
dependency-version: 0.2.1
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-01-31 15:57:00 +01:00
bluenviron-bot and GitHub
cdab7a062d
bump mediamtx-rpicamera to v2.5.2 ( #5396 )
2026-01-31 15:56:48 +01:00
Alessandro Ros and GitHub
92f9ee7b78
deprecate fallback ( #5388 )
...
The fallback feature worked with RTSP only and did not allow readers to
resume the original stream. It has been replaced by alwaysAvailable.
2026-01-31 15:29:24 +01:00