Skip to content

v1.12.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Apr 10:36
· 105 commits to main since this release
dd9a5ca

New major features

RTSP

  • support routing absolute timestamps (#1300) (#4378)

HLS

  • support routing absolute timestamps (#1300) (#4372)

WebRTC

  • support routing absolute timestamps (#1300) (#4415)

RPI Camera

  • support exposing a secondary stream from the same camera (#4426)
  • support routing absolute timestamps (#1300) (#4382)

Fixes and improvements

General

  • record: fix crash when recordDeleteAfter is 0 and API is called (#4250) (#4254)
  • warn users when non-existent fields are used in conf (#4261)
  • change error message when stream is not found (#4301). Switch from 'no one is publishing to path' to 'no stream is available. on path' since the stream might be provided from a static source too.
  • record: prevent recordDeleteAfter from deleting current segment (#4331)
  • allow to customize syslog prefix (#4356). Co-authored-by: Кадышев Вячеслав [email protected]
  • count and log all discarded frames, decode errors, lost packets (#4363). Discarded frames, decode errors and lost packets were logged individually, then there was a mechanism that prevented more than 1 log entry per second from being printed, resulting in inaccurate reports. Now discarded frames, decode errors and lost packets are accurately counted, and their count is printed once every second.
  • prevent unmarshalers from returning empty byte arrays (bluenviron/mediacommon#186)

API

  • fix crash in /recordings/list (#4040) (#4291). The API crashed when: * '%path%' is not present in 'recordPath' * 'all_others' is in 'paths' * there's at least one recording segment. A recording segment without path is parsed as a segment with an empty path. This path is then passed to FindPathConf(), that returns an error in case of empty or invalid paths. This error is not checked for performance reasons, leading to the crash. This PR prevents empty or invalid paths from reaching FindPathConf().

RTSP

HLS

  • fix race condition when getting absolute time (#4375)
  • fix reading streams with non-standard clock rates (#4376)

WebRTC

  • fix connecting to TCP-only sources (#4293)
  • make client always provide UDP candidates (#4298)
  • fix codec collision in Chrome (#4394). Fix error "A BUNDLE group contains a codec collision for. payload_type='96. All codecs must share the same type, encoding name, clock rate and parameters. (INVALID_PARAMETER)"

RPI Camera

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.0.0 to v0.36.0
  • github.com/MicahParks/jwkset updated from v0.8.0 to v0.9.5
  • github.com/alecthomas/kong updated from v1.7.0 to v1.10.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.1.3 to v2.1.4
  • github.com/bluenviron/gortsplib/v4 updated from v4.12.3 to v4.13.0
  • github.com/bluenviron/mediacommon removed
  • github.com/datarhei/gosrt updated from v0.8.0 to v0.9.0
  • github.com/fsnotify/fsnotify updated from v1.8.0 to v1.9.0
  • github.com/gin-contrib/pprof updated from v1.5.2 to v1.5.3
  • github.com/go-git/go-git/v5 updated from v5.13.2 to v5.15.0
  • github.com/golang-jwt/jwt/v5 updated from v5.2.1 to v5.2.2
  • github.com/matthewhartstonge/argon2 updated from v1.1.1 to v1.2.1
  • github.com/pion/ice/v4 updated from v4.0.5 to v4.0.7
  • github.com/pion/rtp updated from v1.8.11 to v1.8.13
  • github.com/pion/sdp/v3 updated from v3.0.10 to v3.0.11
  • golang.org/x/crypto updated from v0.32.0 to v0.37.0
  • golang.org/x/sys updated from v0.30.0 to v0.32.0
  • golang.org/x/term updated from v0.29.0 to v0.31.0
  • github.com/Microsoft/go-winio updated from v0.6.1 to v0.6.2
  • github.com/ProtonMail/go-crypto updated from v1.1.5 to v1.1.6
  • github.com/bytedance/sonic updated from v1.12.6 to v1.13.2
  • github.com/bytedance/sonic/loader updated from v0.2.1 to v0.2.4
  • github.com/cloudflare/circl updated from v1.3.7 to v1.6.1
  • github.com/cloudwego/base64x updated from v0.1.4 to v0.1.5
  • github.com/cloudwego/iasm removed
  • github.com/cyphar/filepath-securejoin updated from v0.3.6 to v0.4.1
  • github.com/gabriel-vasile/mimetype updated from v1.4.7 to v1.4.8
  • github.com/gin-contrib/sse updated from v0.1.0 to v1.0.0
  • github.com/go-playground/validator/v10 updated from v10.23.0 to v10.26.0
  • github.com/goccy/go-json updated from v0.10.4 to v0.10.5
  • github.com/golang/groupcache updated from v0.0.0-20210331224755-41bb18bfe9da to v0.0.0-20241129210726-2c02b8208cf8
  • github.com/klauspost/cpuid/v2 updated from v2.2.9 to v2.2.10
  • github.com/pion/sctp updated from v1.8.35 to v1.8.36
  • github.com/skeema/knownhosts updated from v1.3.0 to v1.3.1
  • golang.org/x/arch updated from v0.12.0 to v0.16.0
  • golang.org/x/mod removed
  • golang.org/x/net updated from v0.34.0 to v0.39.0
  • golang.org/x/sync removed
  • golang.org/x/text updated from v0.21.0 to v0.24.0
  • golang.org/x/tools removed
  • google.golang.org/protobuf updated from v1.36.1 to v1.36.6
  • github.com/bluenviron/mediacommon/v2 v2.1.0 added
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.3.6 to v2.4.0
  • hls.js updated from v1.5.20 to v1.6.2

Security

Binaries have been produced by the Release workflow without human intervention.

SHA256 checksums:

  • mediamtx_v1.12.0_darwin_amd64.tar.gz 1d408db2ecb2a363da02ab71797bd13b182ebff36d986d8bc7226581f6e45943
  • mediamtx_v1.12.0_darwin_arm64.tar.gz dbd3c20557d81bf6d32038cc1d8390652a83a6418cc28f76ba03bd8dbe554317
  • mediamtx_v1.12.0_linux_amd64.tar.gz 8bbf936e70a8abc80fdb2d0d67c1b53df6a3bfcf4d819ac730a4b0fddcc793bf
  • mediamtx_v1.12.0_linux_arm64v8.tar.gz fdeb6e1649f82949c33c7619403147dabadf5a3fb178cf29805d3ea0fa5a2886
  • mediamtx_v1.12.0_linux_armv6.tar.gz 4028650e05223806a969843dcdc9f1605a1c3543906a3e45518855ca5274ba96
  • mediamtx_v1.12.0_linux_armv7.tar.gz 0b96fb21da1abbf612518daf3978055cb608157cecad2d076b47f644a6aac28b
  • mediamtx_v1.12.0_windows_amd64.zip 1cca94d874b3fe5b32547159ce2070a3e87d0bf746aeb53e077ca4680a372d6e