Commit Graph
124 Commits
Author SHA1 Message Date
Vanilagy ef95960e13 Add support for unsized sources, add ReadableStreamSource, fix WAVE packet lookup 2025-09-02 16:39:38 +02:00
Vanilagy 4b3fb34a95 Fix running = false being set too late for ReadOrchestrator workers (fixes #84) 2025-09-02 16:21:39 +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 63b8190185 Add logic for encoding video frames that change size over time (#63) 2025-08-24 16:37:03 +02:00
Vanilagy 803e58a0d2 Add internalCodecId field 2025-08-23 16:24:36 +02:00
Vanilagy bb1b20afa7 Add track name support 2025-08-23 15:33:44 +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 f4b97c1731 Make mfra box lookup more resilient 2025-08-20 14:33:26 +02:00
Vanilagy 5782219941 Add Matroska resync logic for malformed files, add RVE sponsor 2025-08-20 13:38:54 +02:00
Ally 1ce5e108a7 Implement ADTS muxer :3 2025-08-17 16:14:15 +02:00
Vanilagy 7e546c2cc7 Fix sample closing before it reaches the custom encoder 2025-08-12 15:36:17 +02:00
Vanilagy e0a4169bf8 Handle missing starting key sample in ISOBMFF 2025-08-12 09:29:57 +02:00
Vanilagy 1492fd5c6f Add workaround for Chromium range request caching bug 2025-08-11 18:14:02 +02:00
Vanilagy 47c955524f Rework MP3 reading pattern 2025-08-11 02:50:13 +02:00
Vanilagy 11c15c2392 Add track-specific conversion options, fix esbuild race condition 2025-08-11 00:00:04 +02:00
Vanilagy 56ae97f994 Fix decoded frame timestamps (#49) 2025-08-10 19:26:41 +02:00
Vanilagy cbb2681d33 Create @mediabunny/mp3-encoder, restructure and extend build system 2025-08-10 00:45:30 +02:00
Vanilagy 1fe115ac83 Implement frame rate adjustment logic for Conversion API, fix source not being closed 2025-08-08 18:39:08 +02:00
Vanilagy 597b68b299 Add support for Matroska lacing, fix packet lookup logic 2025-08-08 17:10:03 +02:00
Vanilagy d38ad22559 Big realtime playback refactor
- Added Worker- or AudioContext-based fallbacks in case MediaStreamTrackProcessor is not available
- Fixed fMP4-streamed files not playing in Safari
- Added better error handling for MediaStream sources
- Improved the live recording example to be more robust
2025-07-27 12:13:03 +02:00
Vanilagy 5e933d9362 Add packet type derivation logic, new verifyKeyPackets options, new determinePacketType method 2025-07-24 16:09:01 +02:00
Vanilagy 4b12468008 Add support for reading and writing RF64 WAVE files 2025-07-18 16:48:23 +02:00
Vanilagy cf0bbe896a Add longer variant to VideoSample.draw 2025-07-15 11:49:33 +02:00
Vanilagy 84c9d37cb7 Revise build step and dist structure for better Webpack, CJS and pnpm support 2025-07-09 11:53:19 +02:00
Vanilagy 1b382d3e57 Improve unsupported encoder configuration error messages 2025-07-07 11:21:42 +02:00
Vanilagy f675966004 Metamuxer -> Mediabunny 2025-06-16 15:55:38 +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 fa3f4b0052 Document conversion API 2025-06-08 22:42:23 +02:00
Vanilagy c7c57e2132 Add getMimeType to Output & other small adjustments 2025-06-07 22:51:57 +02:00
Vanilagy f5a56e1f62 Fix incorrectly processed timestamps for fragmented MP4 2025-06-07 18:54:19 +02:00
Vanilagy c600b60ee0 Provide "in-band" encoding errors 2025-06-05 15:31:38 +02:00
Vanilagy 176d21cf50 Make media player AudioContext match audio track sample rate 2025-05-30 20:12:00 +02:00
Vanilagy 218803a9fe Add better BBB example file 2025-05-30 19:49:41 +02:00
Vanilagy 61c9883817 Small conversion logic & API adjustments 2025-05-30 19:45:57 +02:00
Vanilagy 71a8f65578 Implement custom audio resampler for conversion 2025-05-29 19:41:26 +02:00
Vanilagy 33b209644e Add metadata extraction example 2025-05-23 16:50:49 +02:00
Vanilagy b0a6cf8535 Add support for HEVC in Annex B, fix HEVC codec string extraction logic 2025-05-12 14:56:34 +02:00
Vanilagy f1eed5aa9e Support AVC in Annex B format, add AVCDecoderConfigurationRecord extraction logic, add Annex B to AVCC converter, add support for Matroska Clusters with undefined size, & a couple other improvements 2025-05-11 20:47:37 +02:00
Vanilagy 8de25036b8 Automatically close new VideoFrames created by toCanvasImageSource, reduce clones in mediaSamplesAtTimestamps 2025-05-09 15:31:18 +02:00
Vanilagy 8bca9b0217 Rewrite mediaSamplesAtTimestamps to fix B-frame bug, fix incorrect timestamps when cloning samples 2025-05-09 14:20:29 +02:00
Vanilagy 865fdcf110 Fix async race condition bug 2025-05-08 16:23:07 +02:00
Vanilagy 94b797e227 TEMP timestamp iterator bugfix 2025-05-03 21:43:29 +02:00
Vanilagy ac1b009486 Implement "cross-track offset" for MediaStreamTrack sources & small fixes 2025-04-28 18:31:53 +02:00
Vanilagy ca77ce2d94 Validate types returned by custom coders, refactor custom coder call serialization logic, improve metadata validation 2025-04-28 17:31:56 +02:00
Vanilagy e527fe1484 Allow fractional frame rates in track metadata, document frameRate better, other small doc adjustments 2025-04-28 15:48:51 +02:00
Vanilagy 7fe0593b6c Fix EBML parsers for large integers, make small API and docblock adjustments 2025-04-25 17:35:03 +02:00
Vanilagy 20c53c407f Fix codec validation logic 2025-04-05 17:10:49 +02:00
Vanilagy 97e2a9c1ba Add fullCodecString and rename other config field 2025-04-05 16:49:58 +02:00
Vanilagy c95058e659 Add onEncoderConfig 2025-04-05 15:16:48 +02:00