193 Commits

Author SHA1 Message Date
John Mylchreest
f84899af51 mpeg4audio: support all ADTS profiles (#275)
ADTS supports profiles 0-3 per ISO 14496-3, mapping to ObjectType 1-4.
Previously only ObjectType 2 (AAC-LC) was accepted, rejecting valid
streams with AAC Main (1), AAC SSR (3), or AAC LTP (4).

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-12-21 16:45:39 +01:00
John Mylchreest
aba462d94e fix(mpegts): CodecAC3.IsVideo() incorrectly returns true (#274)
AC-3 is an audio codec, but IsVideo() was returning true.
This caused AC-3 audio tracks to be misidentified as video tracks.
2025-12-19 12:51:12 +01:00
Alessandro Ros
b90ac72711 h265: fix DTS extraction with multiple slices (bluenviron/mediamtx#5071) (#269) 2025-12-07 13:13:33 +01:00
Jae-Sung Lee
71fa198c5f fix(fmp4): Correctly parse trun v0 sample composition time offset (#268)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-12-07 11:06:22 +01:00
Alessandro Ros
3483c05725 pmp4: fix crash when unmarshaling and there are no samples (bluenviron/mediamtx#5240) (#267) 2025-12-06 22:04:21 +01:00
Alessandro Ros
1a1ceffa7a fmp4: support parts with no samples (#266) 2025-12-06 22:04:07 +01:00
flo-eyeson-team
22f9382edd Increase MaxNALUsPerAccessUnit (#262)
Some parrot drones use slice-encoding with 45 independent slices, resulting in frames consisting of 48 NALUs.
2025-12-06 21:52:45 +01:00
Alessandro Ros
8d059e8616 h264, h265: require random access frame before computing DTS (#264) 2025-12-01 16:27:46 +01:00
Alessandro Ros
68324496aa h264: fix regression in DTS extractor (bluenviron/mediamtx#5207) (#263) 2025-11-30 13:10:03 +01:00
Alessandro Ros
8df74e6691 update golangci-lint configuration (#258) 2025-11-11 14:15:11 +01:00
Alessandro Ros
fe6328c4a9 h264: fix DTS estimation of some HikVision cameras (bluenviron/mediamtx#4617) (#252) 2025-10-20 10:57:06 +02:00
Alessandro Ros
8c0b4c88a1 fmp4: support udta boxes (#250) 2025-10-12 17:52:38 +02:00
Alessandro Ros
a0203aa9ae remove pointer from marshaling methods (#249) 2025-10-12 17:48:43 +02:00
Alessandro Ros
3882df8df1 h265: fix DTS extractor regression after #245 (#247)
IDR frames which are also B-frames are supported again.
2025-09-18 10:34:04 +02:00
Alessandro Ros
66e4ac94ea h265: fix DTS extractor with libx265 (#245) 2025-09-13 15:52:02 +02:00
Alessandro Ros
ff8c341f31 improve performance when dealing with AV1 (#243) 2025-09-12 21:49:00 +02:00
Alessandro Ros
d67e19f79d ac3: fix support for bsid different than 8 (bluenviron/mediamtx#4705) (#244) 2025-09-12 21:48:46 +02:00
Alessandro Ros
017d0bbe41 av1: add constant (#242) 2025-09-09 13:28:26 +02:00
Alessandro Ros
6d946701e1 h265: fix DTS extractor compatibility with Apple VT HEVC Hardware Encoder (bluenviron/mediamtx#4892) (#238) 2025-08-25 23:18:12 +02:00
Alessandro Ros
750426aa55 h264: fix DTS extractor compatibility with Apple VT HEVC Hardware Encoder (bluenviron/mediamtx#4892) (#236) 2025-08-25 23:17:44 +02:00
xprgv
2ddc002ac5 add support for dvb subtitles (#214)
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2025-07-30 13:32:52 +02:00
Alessandro Ros
65598e2007 mpegts: remove useless computation (#226) 2025-07-30 13:07:43 +02:00
Alessandro Ros
8a1ed14e94 update linter settings (#225) 2025-07-26 16:27:23 +02:00
Alessandro Ros
8fb6595e0e mpegts: add MPEG-4 Audio LATM support (bluenviron/mediamtx#4403) (#218) 2025-07-20 17:14:22 +02:00
Alessandro Ros
203e856dfa mpegts: improve reader robustness (#222)
detect and skip corrupted data without stopping reading.
2025-07-20 13:01:58 +02:00
Alessandro Ros
8bb48d4469 mpeg4audio: fix regression due to #219 (#223) 2025-07-20 10:59:46 +02:00
Alessandro Ros
db1f43505f mpeg4audio: add unread bytes check in StreamMuxConfig (#221) 2025-07-19 13:23:18 +02:00
Alessandro Ros
766b341c81 bits: add WriteFlagUnsafe (#220) 2025-07-19 11:56:34 +02:00
Alessandro Ros
0f83f5dc85 mpeg4audio: add unread bytes check on AudioSpecificConfig (#219) 2025-07-19 11:43:41 +02:00
Alessandro Ros
75bd65fb5e in comments, use specification titles instead of URLs (#217) 2025-07-15 21:29:21 +02:00
Alessandro Ros
52a2f32d11 mpeg4audio: deprecate Config (#216) 2025-07-14 13:42:44 +02:00
Alessandro Ros
2f459c4b3f update documentation (#213) 2025-07-06 20:37:24 +02:00
Alessandro Ros
d1fe0aa1b8 mpegts: support writing and reading KLV with size greater than 65535 (#212) 2025-07-06 18:33:16 +02:00
Alessandro Ros
7da853fd5a mpegts: support KLV tracks (#211) 2025-07-06 16:34:30 +02:00
Alessandro Ros
464c9bec91 bump golangci-lint (#203) 2025-05-23 14:49:00 +02:00
Alessandro Ros
51847e390c move more shared MP4 entities into internal/mp4 (#202) 2025-05-22 18:17:53 +02:00
Alessandro Ros
5218285d45 move shared MP4 entities inside internal/mp4 (#201) 2025-05-21 18:40:13 +02:00
Alessandro Ros
27b8b3d506 move MP4 codecs into formats/mp4 (#200) 2025-05-21 18:05:34 +02:00
Alessandro Ros
18575d32db fmp4: rename PartSample into Sample (#199) 2025-05-21 16:18:11 +02:00
Alessandro Ros
e6f9f625d9 pmp4: add presentation unmarshaler (#198) 2025-05-21 16:17:14 +02:00
Alessandro Ros
99e1b5a2d6 av1: strip size when decoding bitstreams (#197) 2025-05-20 22:49:27 +02:00
Alessandro Ros
83f96a8ad8 pmp4: support negative PTSOffset (#196) 2025-05-18 13:33:05 +02:00
Alessandro Ros
8e71fc344b improve tests, documentation (#195) 2025-05-18 13:14:20 +02:00
Alessandro Ros
6b848e200b ensure unmarshaled entities can be marshaled back (#193) 2025-05-04 11:15:27 +02:00
Alessandro Ros
5e21043480 fmp4: block tracks with invalid timescale (#192) 2025-05-04 10:53:30 +02:00
Alessandro Ros
93d53ba1af h265: fix crash in DTS extractor with malicious payload (#191) 2025-05-04 10:52:46 +02:00
Alessandro Ros
fa9e877b61 mpegts: improve Reader.Initialize performance (#190) 2025-05-01 17:20:06 +02:00
Alessandro Ros
c01405c84e improve tests (#189) 2025-05-01 17:19:56 +02:00
Alessandro Ros
b8ce69d15d formats/mpegts: return errors in Writer.Initialize() (#187) 2025-03-24 16:19:31 +01:00
Alessandro Ros
4938d25378 prevent unmarshalers from returning empty byte arrays (#186) 2025-03-22 22:45:04 +01:00