Commit Graph
99 Commits
Author SHA1 Message Date
Vanilagy e676de4129 Terminate reading a cluster early if another cluster is encountered (fixes #164) 2025-10-21 16:18:48 +02:00
Vanilagy 088d1f1701 Adjust Matroska cue point distribution logic, ensure no duplicate timestamps in cue points, fixing infinite recursion issue 2025-10-02 10:44:01 +02:00
Vanilagy 7d747ae6d9 Dedent 2025-09-29 20:37:10 +02:00
Vanilagy 198928088b Make cluster/fragment lookup operations almost stateless, fix high Matroska memory, allow more maxCacheSizes 2025-09-29 20:36:37 +02:00
David P.andGitHub fa4e064345 Transparent video read/write support (#145)
* Add support for reading transparent Matroska and implement alpha side data & decode

* Few fixes

* Implement alpha encoding

* Gracefully handle inability to acquire WebGL context, properly clean up WebGL contexts

* Improve touch device detection

* Test test

* Test test #2

* Test test 3

* Test test 4

* Test test 5

* Test test 6

* Test test 7

* Test test 8

* Test test 9

* Test test 10

* Test test 11

* Test test 12

* Test test 13

* Test test 14

* Test test 15

* Test test 16

* Test test 17

* Test test 18

* Test test 19

* Test test 20

* Fix type errors, improve MetadataTags docs

* Do a bunch of docs work

* Test test?

* "Unexpected only modifier 🤓"

* Add InputVideoTrack.canBeTransparent()

* Some clean-up

* Adjust CI to be less spammy in PRs

* Fix broken license headers
2025-09-24 21:20:14 +02:00
Vanilagy 608c769a7e Add explicit disposability to Inputs (#126) 2025-09-21 20:18:59 +02:00
Vanilagy 9e1a23aefd Generate random BigInts instead of doubles 2025-09-19 23:21:36 +02:00
Vanilagy a3f4f7f4f7 Allow all Matroska AttachedFiles to be read & written via metadata tags 2025-09-19 20:12:29 +02:00
Vanilagy 4fd90cf73b Add missing block scope condition 2025-09-18 15:14:01 +02:00
Vanilagy 407dd05953 Make Matroska block decoding lazy 2025-09-18 10:00:03 +02:00
Vanilagy 6d5bd58ae8 Add support for header removal content compression in Matroska 2025-09-17 23:09:04 +02:00
Vanilagy c5523516c7 Add fastStart: 'reserve' option (closes #119) 2025-09-17 12:26:24 +02:00
Vanilagy 6f06631355 Use decoder information for resampler sample rate, fix Opus sample rate to 48 kHz everywhere 2025-09-10 23:03:20 +02:00
Vanilagy dcd99f8930 Add metadata tag support to Conversion API 2025-09-05 23:34:24 +02:00
Vanilagy bd99d8f28f Add metadata tests, fix a few bugs 2025-09-05 21:42:26 +02:00
Vanilagy b58476b1b0 Renaming 2025-09-05 18:59:13 +02:00
Vanilagy d3a030c307 Add metadata read/write support for Ogg 2025-09-05 15:39:29 +02:00
Vanilagy 6d32de0fb1 Add metadata read/write support for Matroska 2025-09-05 13:41:09 +02:00
Vanilagy ef95960e13 Add support for unsized sources, add ReadableStreamSource, fix WAVE packet lookup 2025-09-02 16:39:38 +02:00
Vanilagy cba0525e51 Reorder stuff, rename stuff, add license header 2025-08-29 22:52:27 +02:00
Vanilagy c222973571 Implement improved StreamSource, restructure source code (hah, get it?) 2025-08-29 22:50:24 +02:00
Vanilagy c93755def1 Implement ReadOrchestrator class, add highly optimized UrlSource 2025-08-29 19:39:50 +02:00
Vanilagy 641cdd02e3 Add new slice-based reader system, port all demuxers to new reader system, add optimized BlobSource 2025-08-28 17:24:31 +02:00
Vanilagy 7f8770de99 Fix regular Language element in Matroska not having an effect anymore 2025-08-27 08:56:41 +02:00
Vanilagy 803e58a0d2 Add internalCodecId field 2025-08-23 16:24:36 +02:00
Vanilagy e6420caea4 Add support for LanguageBCP47 2025-08-23 15:58:58 +02:00
Vanilagy bb1b20afa7 Add track name support 2025-08-23 15:33:44 +02:00
Vanilagy a56dca10d9 Use SimpleBlock in almost all cases now (cries a little inside) (fixes #62) 2025-08-22 15:32:05 +02:00
Vanilagy 2d62395fc0 Fix faulty faulty lookup table logic (addresses #70) 2025-08-22 14:20:57 +02:00
Vanilagy bb9554df60 Handle ISOBMFF boxes with no size 2025-08-20 15:12:25 +02:00
Vanilagy 5782219941 Add Matroska resync logic for malformed files, add RVE sponsor 2025-08-20 13:38:54 +02:00
Vanilagy 16c8a6c255 Gracefully handle invalid EBML headers 2025-08-13 09:46:27 +02:00
Vanilagy 6d447660c2 Clarify EBML strings are ASCII 2025-08-11 16:10:43 +02:00
Vanilagy a9cec387d4 Extract insertSorted function 2025-08-10 19:55:21 +02:00
Vanilagy 597b68b299 Add support for Matroska lacing, fix packet lookup logic 2025-08-08 17:10:03 +02:00
Frederick Widjaja 5b238c6d0f fix: check string for null terminators 2025-08-07 11:09:44 +07:00
Vanilagy 95091cce9c Add special top-level Cluster logic for Matroska demuxer 2025-07-28 12:03:19 +02:00
Vanilagy ac8baa4873 Fall back to default timescale when not provided by the Matroska file 2025-07-27 13:03:43 +02:00
Vanilagy 5e933d9362 Add packet type derivation logic, new verifyKeyPackets options, new determinePacketType method 2025-07-24 16:09:01 +02:00
Vanilagy b1b493ab10 Fix out of bounds reads for Matroska demuxer 2025-07-15 16:03:00 +02:00
Vanilagy 14ad80df5d Improve ISOBMFF demuxer to support fragments without a key frame 2025-07-11 10:57:24 +02:00
Vanilagy 846fa0b183 Adjust legal comment 2025-06-27 13:22:19 +02:00
Vanilagy a3d73228e2 Add proper license 2025-06-27 13:14:11 +02:00
Vanilagy b15a5cd984 Fix incorrect cluster insertion for Matroska demuxer 2025-06-20 12:05:40 +02:00
Vanilagy befab215b4 Add "Quick start" to docs, small API and docs adjustments 2025-06-18 12:25:10 +02:00
Vanilagy 28597ea93c Yapperino 2025-06-16 20:51:58 +02:00
Vanilagy 05881ff1f5 Add support for PCM codecs in MP4, add 64-bit float PCM support 2025-06-16 10:49:55 +02:00
Vanilagy c7c57e2132 Add getMimeType to Output & other small adjustments 2025-06-07 22:51:57 +02:00
Vanilagy 550b849235 Rename 2025-05-12 15:16:30 +02:00
Vanilagy fd159ecce3 Migrate all codec data parsing logic into new file 2025-05-12 15:09:04 +02:00