Commit Graph

95 Commits

Author SHA1 Message Date
Alessandro Ros
ec81d388d1 switch to v5 (#890)
* switch from v4 to v5

* remove deprecated entities

* remove "2" suffix from entities

* rename TransportProtocol into Protocol
2025-09-16 11:46:52 +02:00
Alessandro Ros
9259df7cff modernize code (#884) 2025-09-07 16:05:13 +02:00
James Ford
a8513af402 Fix typo when identifying KLV packets as SMPTE336M-encoded (#877) 2025-09-05 19:32:28 +02:00
Alessandro Ros
6d6c7fe273 improve documentation (#848) 2025-08-07 16:18:43 +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
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
7f5aac27d1 ensure unmarshaled entities can be marshaled back (#773) 2025-05-04 11:27:28 +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
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
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
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
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
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
Chris Hiszpanski
44aaa0977a rtph264: accept non-compliant single FU-A frames (#649)
Some IP cameras (e.g. CostarHD) have been observed to emit single
fragment RTP FU-A packets, with start and end bit both set, for
sufficiently small H.264 P-frames. Rather than emit an error,
workaround such non-compliant frames.
2024-12-04 23:21:09 +01:00
Alessandro Ros
a19432fd87 bump Golang to 1.23 (#610) 2024-11-04 13:39:10 +01:00
Alessandro Ros
508d025097 prevent decoders from emitting corrupted frames (#638) 2024-10-23 21:10:37 +02:00
Alessandro Ros
f41b196241 add resetFragments() to all fragment-based decoders (#637) 2024-10-23 20:42:21 +02:00
Jesus Tejedor
b561229761 support H264 with payload type 35 from Bosh Cameras (#632)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-10-14 12:18:56 +02:00
Alessandro Ros
1ca217ae3a simplify format.Unmarshal; improve tests (#631) 2024-10-09 16:21:01 +02:00
Alessandro Ros
2023bf1b00 fix panic when checking pts = dts on H265 (bluenviron/mediamtx#3754) (#617) 2024-09-11 11:43:15 +02:00
Kevin Wang
a99cc55082 mjpeg: fix decoding and encoding JPEG types 1-63 (#605)
Type 0 corresponds to YUV 4:2:2. Since this header is passed directly to the JPEG header, no additional changes are necessary for support. See the type field here: https://datatracker.ietf.org/doc/html/rfc2435#section-4.1

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-08-25 21:27:05 +02:00
Alessandro Ros
92cf812d01 improve fuzz tests (#592) 2024-08-01 16:33:04 +02:00
Alessandro Ros
e2d1e6dab4 improve fuzz tests (#591) 2024-08-01 11:56:52 +02:00
Alessandro Ros
b160f5a614 fix panic in MPEG4Audio.GetConfig() (#590)
https://github.com/bluenviron/mediamtx/issues/3590
2024-08-01 11:54:49 +02:00
Alessandro Ros
4750375772 support decoding M-JPEG streams with any quantization (#566) (#583) 2024-06-22 23:32:31 +02:00
Alessandro Ros
fd4a9137cc support multichannel Opus (https://github.com/bluenviron/mediamtx/issues/3355) (#572) 2024-05-19 14:37:02 +02:00
Alessandro Ros
ef60c8c755 improve fuzz tests (#571) 2024-05-17 19:19:15 +02:00
Alessandro Ros
5eddb77935 bump mediacommon (#564) 2024-05-05 18:56:20 +02:00
Alessandro Ros
9da49cdf63 various performance improvements (#561) 2024-05-05 11:20:22 +02:00