Commit Graph
1350 Commits
Author SHA1 Message Date
Vanilagy 34733015cb Add negative timestamp support to MPEG-TS 2026-09-04 15:27:19 +02:00
Vanilagy 9726b0cb4e Add negative timestamp muxing support to Matroska 2026-09-04 12:17:33 +02:00
Vanilagy 3c94d062d2 Allow negative timestamps in media sources, add negative timestamp support to ISOBMFF muxer 2026-09-04 11:48:50 +02:00
hi.jack2eeandGitHub 6c88763a5c Terminate sample iterators before throwing so late-decoded samples are closed (#484)
for await never calls return() on an iterator whose next() threw, so the
error branches in mediaSamplesInRange / mediaSamplesAtTimestamps left the
iteration un-terminated: the pump's decoder callback kept queueing decoded
samples that no consumer or cleanup path could ever close, orphaning them
until GC ("A VideoSample was garbage collected without first being closed").

Set terminated (and ended, where the pump gates on it) before throwing in
both the InputDisposedError and out-of-band error branches of both sample
generators - samples emitted after the throw are then closed on arrival by
the existing checks in the decoder callbacks.

Observed on iOS Safari when the hardware VideoDecoder dies mid-iteration
("Decoding task did not complete"): 3-14 samples orphaned per failing
iterator; with this change, at most the single sample already in flight
during the error microtask window.
2026-09-04 10:01:18 +02:00
Vanilagy 5954a472fa Remove console.log 2026-09-04 10:00:33 +02:00
Vanilagy 6319bf2eee Bump patch v1.55.6 2026-09-03 10:48:32 +02:00
Vanilagy 5ffb5a0979 Add sponsor 2026-09-03 10:48:03 +02:00
Vanilagy cf2edfada2 Relax audio track assert for esds box (fixes #481) 2026-09-02 09:32:06 +02:00
Vanilagy a97e9800d2 Bump patch v1.55.5 2026-08-31 14:11:25 +02:00
Vanilagy 23f5e96afd Rely not only on FinalizationRegistry 2026-08-31 14:05:33 +02:00
Vanilagy 9e203c0c8a Manually close file readers to avoid indefinite memory leak (fixes #144) 2026-08-31 13:44:58 +02:00
Vanilagy dec669163f Add reliable AudioSample.copyTo() fallback for unsupported destination formats (fixes #479) 2026-08-30 12:49:22 +02:00
Vanilagy e16b01a4c6 Fix Infinity not being allowed where it should be (fixes #478) 2026-08-30 12:19:25 +02:00
Vanilagy 398d172152 Bump patch v1.55.4 2026-08-29 20:11:58 +02:00
Vanilagy da18ceeb24 Add smpte170m vp9 test for CI stability, add missing VP9 color spaces in parser 2026-08-29 20:08:57 +02:00
Vanilagy 3c4c2a459c Remove Chromium version check 2026-08-29 19:53:42 +02:00
Vanilagy 7d1eb5b063 Fall back to color space information from bitstream, fill missing color space fields when passing it to Chromium's VideoDecoder, fix AV1 Sequence Header OBU parsing, fix vpcC box generation, still mux partial color space info into container (fixes #474, closes #475) 2026-08-29 19:48:20 +02:00
Vanilagy 42196e9f64 Add proper non-null check 2026-08-28 15:11:31 +02:00
Vanilagy 16f8889e14 Bump patch v1.55.3 2026-08-26 13:44:21 +02:00
Vanilagy d44253c7d3 Fix incomplete parsing and generation of AacAudioSpecificConfig (fixes #471) 2026-08-26 13:40:14 +02:00
Vanilagy c10f93ab8c Recognize fMP4 segments starting with an emsg box (or similar) (fixes #473) 2026-08-26 11:59:22 +02:00
Vanilagy 14fb7d0119 Add ducktyped Promise checks (fixes #472) 2026-08-26 11:24:24 +02:00
0f9dc1f91b Fix tenc fallback for encrypted ISOBMFF files (#470)
* fix tenc fallback

* Add test case

---------

Co-authored-by: Vanilagy <[email protected]>
2026-08-24 14:12:04 +02:00
Vanilagy 394eede178 Bump patch v1.55.2 2026-08-21 20:14:58 +02:00
Vanilagy 6b5ae29252 Add Annex B in MP4 test 2026-08-21 20:12:50 +02:00
Vanilagy 656c7e70a8 Merge branch 'main' of https://github.com/Vanilagy/mediabunny 2026-08-21 20:06:29 +02:00
Vanilagy 3c4f4c27a3 Slightly restructure code 2026-08-21 20:06:28 +02:00
Vanilagy 166298df2c Make WebCodecs missing error message more helpful (fixes #466) 2026-08-20 23:22:28 +02:00
Jasmine Minter fdfab4660f Support missing or empty avcC chunk 2026-08-20 13:28:50 +10:00
Vanilagy 1c4d1c70a8 Prevent warning from being emitted in CI 2026-08-17 18:55:15 +02:00
Vanilagy 018c2ca67b Bump patch v1.55.1 2026-08-17 18:40:58 +02:00
Vanilagy 1d53e12f28 Bump minor v1.55.0 2026-08-17 18:22:16 +02:00
David P.andGitHub 972215e738 Merge pull request #462 from Vanilagy/dts
Full DTS read/write support + @mediabunny/dts extension package
2026-08-17 14:03:04 +02:00
Vanilagy 6d9a65a2aa Address transcode forced by trimming in docs (closes #464) 2026-08-17 11:25:52 +02:00
Vanilagy 77c78b6c02 Fix linting errors 2026-08-15 17:55:54 +02:00
Vanilagy e8162f483f Add @mediabunny/dts extension package 2026-08-15 17:50:47 +02:00
Vanilagy 914907b5db Define DTS codec, add muxing and demuxing support across ISOBMFF, Matroska, and MPEG-TS, add DTS encode/decode support to @mediabunny/server 2026-08-15 16:19:12 +02:00
Vanilagy ae66f01566 Clarify Conversion API codec field default 2026-08-14 11:54:43 +02:00
Vanilagy 6a87647d67 Bump minor v1.54.0 2026-08-14 11:24:03 +02:00
Vanilagy d6fdf5748d Add sponsor 2026-08-14 11:23:43 +02:00
David P.andGitHub b293ea1e79 Merge pull request #461 from Vanilagy/frame-rate
Add computeFrameRateMetrics and heuristics to determine a video's true frame rate
2026-08-14 11:17:08 +02:00
Vanilagy 39f49de96d Add explanatory doc comment 2026-08-14 11:15:25 +02:00
Vanilagy 9acc97da7a Bump patch v1.53.1 2026-08-12 16:13:43 +02:00
Vanilagy dc068a0aa8 Add computeFrameRateMetrics and heuristics to determine a video's true frame rate 2026-08-12 16:10:28 +02:00
Vanilagy a08e262dfc Work around WebKit not respecting TypedArray offets for FileSystemWritableFileStream data (fixes #459) 2026-08-11 12:46:33 +02:00
Vanilagy e9d7bc4e83 Bump minor, document single file mode special case v1.53.0 2026-08-08 17:10:33 +02:00
Vanilagy 5b22c8c17d Fix HLS writing an incomplete init segment for sparse segments, improve decoder config validation, fix getFirstTimestamp() for Inputs with zero-packet tracks, allow zero-track muxing for some formats that allow it, add new track metadata that allows you to specify the decoder config early (enables zero-packet tracks), fix trafIndices in sparse fragmented MP4s, fix assertion errors in MPEG-TS demuxer 2026-08-08 17:00:36 +02:00
Vanilagy 7ec538e175 Add special-cased HLS muxer behavior with single-file mode and fMP4 in order to create a standalone playable fMP4 file (closes #394) 2026-08-07 23:03:48 +02:00
Vanilagy eceb350806 Unflake FLAC test 2026-08-06 17:05:09 +02:00
Vanilagy f8f660b31a Flake? 2026-08-06 16:52:08 +02:00