Commit Graph

655 Commits

Author SHA1 Message Date
Alessandro Ros
cf1e074137 restore Windows compatibility (#860) (#861) 2025-08-12 12:45:06 +02:00
Alessandro Ros
7a5df14b2c add UDPReadBufferSize option (#857) 2025-08-11 10:49:54 +02:00
Alessandro Ros
6d6c7fe273 improve documentation (#848) 2025-08-07 16:18:43 +02:00
Alessandro Ros
e9db56f913 client: use server interface as multicast interface (#762) (#847)
this fixes most errors "found no interface that is multicast-capable
and can communicate with IP".
2025-08-04 15:17:49 +02:00
Alessandro Ros
2bb5ab35c8 rtcpreceiver, rtcpsender: fix using read-only mutexes (#844) 2025-08-02 19:37:49 +02:00
Alessandro Ros
c7da004e03 merge rtplossdetector and rtpreorderer into rtcpreceiver (#842) 2025-08-02 12:41:10 +02:00
Alessandro Ros
1021950db8 update linter settings (#840) 2025-07-26 16:28:03 +02:00
Alessandro Ros
800dd9c850 move MPEG-4 audio LATM to dedicated format (bluenviron/mediamtx#4403) (#834) 2025-07-20 17:28:52 +02:00
Alessandro Ros
1db87f6bf6 propagate MPEG-4 audio config parse errors (#836) 2025-07-20 10:58:36 +02:00
Alessandro Ros
f3a865f815 in comments, use specification titles instead of URLs (#830) 2025-07-15 21:30:01 +02:00
Alessandro Ros
5248982137 remove KLV unit splitting (#824) 2025-07-06 20:11:49 +02:00
Yaroslav Molochko
e02c447868 support KLV tracks (#808)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-07-06 19:56:52 +02:00
Alessandro Ros
616fa7ea89 support encrypted streams with SRTP and MIKEY (#520) (#809) 2025-07-05 12:48:13 +02:00
Alessandro Ros
4f3337f56c set SSRC of outgoing packets (#803)
In client and server, each format now has a fixed, unique, known in
advance SSRC, that is applied to outgoing packets belonging to each
format.

This is needed to support SRTP/MIKEY, that require each format to have
a fixed, unique, and known in advance SSRC.

A secondary effect is that SETUP responses now always contain SSRCs of
each format, regardless of the fact that the first packet has been
produced or not (previously we needed at least one packet, from which
the SSRC was extracted).
2025-07-05 11:08:57 +02:00
Alessandro Ros
bee7cc4d6b set default max payload size to 1450 (#811)
this is to support SRTP more easily.
2025-06-29 12:51:54 +02:00
Alessandro Ros
b1804d77e8 bump golangci-lint (#784) 2025-05-23 14:51:33 +02:00
Parallelc
2694ed941f fix invalid TID=0 in writeAggregationUnit of rtph265 encoder (#782)
* fix invalid TID=0 in writeAggregationUnit of rtph265 encoder

* return error in case of invalid NALUs

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-05-21 22:48:45 +02:00
Alessandro Ros
b407cb1dd0 server: support reading back channels (#597) (#777) 2025-05-04 17:04:15 +02:00
Alessandro Ros
7f5aac27d1 ensure unmarshaled entities can be marshaled back (#773) 2025-05-04 11:27:28 +02:00
Alessandro Ros
3e555e2d18 fix crash when reading tracks with zero clock rate (bluenviron/mediamtx#4476) (#772)
also prevents RTCP sender and RTCP reports from being emitted when
track has clock rate set to zero.
2025-05-01 18:08:13 +02:00
Alessandro Ros
bfacd10d35 prevent decoding formats with zero clock rate or channels (#770) 2025-05-01 17:06:55 +02:00
Alessandro Ros
162a72dd96 prevent decoding SDPs without media streams (#769) 2025-05-01 16:54:55 +02:00
Alessandro Ros
900f4958ca fix SDP compatibility with some Uniview cameras (#618) (#765) 2025-04-26 16:13:37 +02:00
Alessandro Ros
e434427da8 unexport multicast.MultiConn, multicast.SingleConn (#763)
they are already exposed through multicast.Conn.
2025-04-25 20:29:26 +02:00
Josh Allmann
03be509422 Add configurable buffer size to Reorderer (#760)
The default of 64 is ~3 seconds which may be too much for some apps.
2025-04-18 12:06:59 +02:00
Alessandro Ros
c3b5e0b76a support decoding H264 units without Marker field (bluenviron/mediamtx#3945) (#759)
(like the ones produced by the FLIR M400)
2025-04-17 09:59:01 +02:00
Alessandro Ros
74a65e4c08 expose back rtcpreceiver, rtcpsender, rtpreorderer, rtplossdetector (#755) 2025-04-12 10:10:05 +02:00
Alessandro Ros
62ac5612f5 improve AV1 compression (#746) 2025-03-27 16:54:38 +01:00
Alessandro Ros
653a574588 restore ability to decode AV1 packets with W != 0 (#745) 2025-03-27 15:48:19 +01:00
Alessandro Ros
c9b91e629c improve AV1 decoder efficiency (#744) 2025-03-27 13:41:18 +01:00
Alessandro Ros
3414414c02 improve tests (#743) 2025-03-27 13:02:57 +01:00
Alessandro Ros
d59d7c48b4 improve tests (#742) 2025-03-27 11:56:51 +01:00
Alessandro Ros
abef977ad5 improve NALU size limit errors (#741) 2025-03-27 11:38:28 +01:00
Alessandro Ros
4b0fe4f7d2 fix wrong size being reported in error messages (#740) 2025-03-27 11:34:23 +01:00
Alessandro Ros
61372cfa68 rename OnPacketLost2 into OnPacketsLost (#736) 2025-03-24 18:42:48 +01:00
Alessandro Ros
c0c275e6a6 expose number of lost packets without passing through an error (#735) 2025-03-24 16:39:55 +01:00
Alessandro Ros
fa94080e84 prevent decoders from returning empty NALUs (bluenviron/mediamtx#4346) (#726) 2025-03-22 22:45:54 +01:00
Alessandro Ros
376fb9e821 replace New* with Initialize (#723) 2025-03-16 13:58:35 +01:00
Alessandro Ros
a17e1f776e improve examples (#703)
* add client-play-format-av1-to-jpeg
* improve client-play-format-av1 to decode frames
* improve speed of sample decoders by using pointers instead of copies
* improve client-record-format-h264 and client-record-format-h265 to encode frames
* add client-record-format-av1
2025-02-19 22:00:49 +01:00
Alessandro Ros
55556f1ecf add ServerConn.VerifyCredentials() (#555) 2025-02-18 17:39:04 +01:00
Alessandro Ros
3409f00c90 disable VerifyMethodDigestSHA256 unless explicitly set (#702) 2025-02-18 15:16:39 +01:00
Alessandro Ros
46374d3815 remove useless test lines (#701) 2025-02-18 15:10:52 +01:00
Alessandro Ros
885a9975ef rename auth.Validate into auth.Verify (#698) 2025-02-14 11:34:55 +01:00
Alessandro Ros
ed078672e4 switch to mediacommon/v2 (#695) 2025-02-10 14:50:05 +01:00
dependabot[bot]
4779b35c23 Bump github.com/bluenviron/mediacommon from 1.13.4 to 1.14.0 (#694)
Bumps [github.com/bluenviron/mediacommon](https://github.com/bluenviron/mediacommon) from 1.13.4 to 1.14.0.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v1.13.4...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon
  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>
2025-02-07 19:59:16 +01:00
Alessandro Ros
e963544973 fix compatibility with AVOID encoders (bluenviron/mediamtx#4183) (#688) 2025-02-01 13:36:02 +01:00
Alessandro Ros
4c8670a4b0 refactor format parser (#682) 2025-01-18 17:18:04 +01:00
dependabot[bot]
ec919809a4 Bump github.com/bluenviron/mediacommon from 1.13.2 to 1.13.3 (#674)
* Bump github.com/bluenviron/mediacommon from 1.13.2 to 1.13.3

Bumps [github.com/bluenviron/mediacommon](https://github.com/bluenviron/mediacommon) from 1.13.2 to 1.13.3.
- [Commits](https://github.com/bluenviron/mediacommon/compare/v1.13.2...v1.13.3)

---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix lint

---------

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>
2025-01-02 12:45:18 +01:00
Alessandro Ros
c548551701 prevent wrong results in format comparisons or when formats are used as keys (#673) 2025-01-01 12:55:03 +01:00
Alessandro Ros
87c6d81053 add statistics to Client, ServerSession, ServerConn, ServerStream (#556) (#656) 2024-12-25 13:30:08 +01:00