Commit Graph
1609 Commits
Author SHA1 Message Date
JulienCossecandGitHub 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 RosandGitHub daec21324f rtsp: fix rtsps scheme not being used in requests (#5236) (#5544) 2026-03-07 18:30:40 +01:00
Alessandro RosandGitHub 72832369f6 inherit MPEG-4 audio type from alwaysAvailableFile (#5539) 2026-03-01 10:12:35 +01:00
Alessandro RosandGitHub 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 RosandGitHub 05ab631996 refactor alwaysAvailable tests (#5537) 2026-03-01 00:20:20 +01:00
Alessandro RosandGitHub 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 RosandGitHub 2f91c8198c fix audio from alwaysAvailableFile not being streamed (#5535) 2026-02-28 21:46:25 +01:00
Alessandro RosandGitHub 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 RosandGitHub 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 RosandGitHub 5e80554d20 improve playback precision of alwaysAvailable offline segment (#5530) 2026-02-28 18:39:52 +01:00
Alessandro RosandGitHub 549300cbd4 prevent using alwaysAvailableFile and alwaysAvailableTracks together (#5529) 2026-02-28 18:31:41 +01:00
Alessandro RosandGitHub 13551f0d98 fix panic when setting writeQueueSize to zero (#5360) (#5527) 2026-02-28 09:18:42 +01:00
Alessandro RosandGitHub 3568c54a02 improve JSON decoder performance (#5526)
avoid decoding JSON twice.
2026-02-27 23:25:04 +01:00
Alessandro RosandGitHub 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
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>aler9
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 RosandGitHub 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 RosandGitHub a93f75cdc3 remove double check (#5457) (#5503) 2026-02-22 13:28:54 +01:00
Alessandro RosandGitHub 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-botandGitHub a07526d57c bump Golang to 1.26 (#5460) 2026-02-21 14:48:53 +01:00
Alessandro RosandGitHub 96d6dbae12 rpi: fix kernel warning when closing camera (#4988) (#5474) 2026-02-21 14:37:37 +01:00
Alessandro RosandGitHub 98a9cf8238 improve tests (#5497) 2026-02-21 14:25:32 +01:00
bluenviron-botandGitHub a4ff325df0 bump mediamtx-rpicamera to v2.5.4 (#5495) 2026-02-21 12:35:03 +01:00
Alessandro RosandGitHub 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
jmduerkandGitHub 5403dc2796 srt: set timeout of idle peers to readTimeout (#5489) 2026-02-20 22:15:13 +01:00
Alessandro RosandGitHub 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 RosandGitHub 3c46bfd337 warn when alwaysAvailableFile is not MP4 (#5483) 2026-02-18 21:29:42 +01:00
Alessandro RosandGitHub 336714157f fix codec parameters not being loaded from alwaysAvailableFile (#5484) 2026-02-18 21:29:24 +01:00
Alessandro RosandGitHub f991821a5f webrtc: allow tuning WHEP timeouts (#5027) (#5479)
add whepHandshakeTimeout, whepTrackGatherTimeout, whepSTUNGatherTimeout
2026-02-18 16:29:25 +01:00
Alessandro RosandGitHub ddaafd4ef3 rtmp: prevent legacy clients from reading multiple video/audio tracks (#5478) 2026-02-18 11:02:58 +01:00
Alessandro RosandGitHub 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 RosandGitHub bbefa5bc8b improve tests (#5469) 2026-02-15 12:50:26 +01:00
Alessandro RosandGitHub 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 RosandGitHub 9793f90453 make config file YAML 1.2 compliant (#5345) (#5456) 2026-02-12 15:46:06 +01:00
Alessandro RosandGitHub 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-botandGitHub ea6977d918 bump golangci-lint to 2.9.0 (#5459) 2026-02-12 15:18:02 +01:00
Alessandro RosandGitHub 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 RosandGitHub 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-botandGitHub e0dac8724b bump mediamtx-rpicamera to v2.5.3 (#5429) 2026-02-07 19:38:57 +01:00
Alessandro RosandGitHub 325d00dfb8 move go <-> api check in linters (#5425) 2026-02-06 16:12:57 +01:00
Alessandro RosandGitHub 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 RosandGitHub 4f859fb40b add authHTTPFingerprint (#5413) (#5422) 2026-02-05 16:51:29 +01:00
Alessandro RosandGitHub 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 RosandGitHub a0745e1220 emit structured logs with nanosecond precision (#4924) (#5404) 2026-02-05 16:31:23 +01:00
Dimitri PappasandGitHub 9ffbdbdc1f fix typo in error message ('alwaysAvailableVideo' -> 'alwaysAvailableFile') (#5417) 2026-02-03 11:59:20 +01:00
Alessandro RosandGitHub 74eaa11d3a rtsp: add rtspUDPSourcePortRange param (#5363) (#5397) 2026-01-31 16:21:53 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>aler9
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-botandGitHub cdab7a062d bump mediamtx-rpicamera to v2.5.2 (#5396) 2026-01-31 15:56:48 +01:00
Alessandro RosandGitHub 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