Commit Graph
414 Commits
Author SHA1 Message Date
Vanilagy 6722592e27 Migrate fragmented MP4 reading to new packet system, add tests for it, add packet internal data, and various other fixes prob 2025-12-21 19:11:46 +01:00
Vanilagy 00efb69a7d Fully update MP3 demuxer to use new packet reading system & mutex, add MP3 reading tests 2025-12-21 11:52:54 +01:00
Vanilagy ece27cca79 Update thumbnail generation example to use cursors 2025-12-21 10:50:32 +01:00
Vanilagy 3fa95cb449 Update media player example to use cursors, fix some cursor bugs, add more cursor tests 2025-12-20 21:46:24 +01:00
Vanilagy de82f6f3c9 SampleCursor code cleanup & couple of more fixes 2025-12-18 20:51:44 +01:00
Vanilagy 8815eab4a6 Add nextKey, better define waitUntilIdle, fix some bugs 2025-12-18 17:04:40 +01:00
Vanilagy 9dbab133db Add input type validation 2025-12-17 17:57:26 +01:00
Vanilagy 48c8b38ed5 Add InputDisposedError throwing to PacketReader 2025-12-17 17:51:33 +01:00
Vanilagy 8267d0191c Rename and extract function 2025-12-17 17:47:55 +01:00
Vanilagy 3bd227bd66 Change pump reuse rule: enforce queued commands are resolved in the order in which they are queued 2025-12-17 17:44:52 +01:00
Vanilagy d44b8bdbd3 Clone samples when reused with autoClose: false 2025-12-15 18:35:36 +01:00
Vanilagy f045e5988c Implement sample cursor reset() 2025-12-15 17:07:22 +01:00
Vanilagy 9222d943ad Make cursor initialization instant, fix some code 2025-12-15 01:31:35 +01:00
Vanilagy fbcb4dcb95 By the creators of AsyncMutex3 2025-12-14 23:32:55 +01:00
Vanilagy 0f015d8e98 Add AudioSampleCursor, make sample cursor error behavior more explicit, add sample mapping, and a bunch of extra shit I forgot 2025-12-14 23:24:50 +01:00
Vanilagy 48abcb240f Merge branch 'main' into cursors 2025-12-12 22:02:35 +01:00
Vanilagy 84dec01dfd Add pause and resume methods to MediaStreamTrack sources (closes #241) 2025-12-11 15:51:18 +01:00
Vanilagy 1ff8abdaab "Extract function" ahh 2025-12-11 15:24:19 +01:00
Vanilagy cc649ba192 Add allowRotationMetadata video conversion option (see #247) 2025-12-11 14:41:00 +01:00
Vanilagy 0500beaf34 Fix user agent detection in workers (fixes #223, #242) 2025-12-08 18:46:58 +01:00
Vanilagy f424f6e840 Count AVC SEI recovery points as keyframes (except on older Chromium versions) 2025-12-07 19:24:08 +01:00
Vanilagy 11970675c6 Slightly adjust validated key packet retrieval logic 2025-12-05 23:00:40 +01:00
Vanilagy d6c223b0f6 Fix keyframe sample index lookup logic for ISOBMFF in rare B-frame scenarios 2025-12-05 22:14:23 +01:00
Vanilagy 5b703a1c78 Fix MP3 encoder emitting incorrect timestamps, fixed overaggressive audio sample gap filling (fixes #233) 2025-12-05 12:41:36 +01:00
Vanilagy 816bb020fb Fix incorrect conversion trim option typings, change release CI to "trusted publishing" 2025-12-04 16:40:41 +01:00
Vanilagy e5aeff89e3 Wtf 2025-12-04 10:03:09 +01:00
Vanilagy 3620b04caf Fix incomplete AV1 sequence header OBU parsing, fix missing saample close() calls in audio resampling path, add error logging when open samples are GC'd, bump patch 2025-12-04 09:58:12 +01:00
Vanilagy f86294b802 BIG cursor progress
- Add extensive tests for packet cursor, sample cursor, and call serialization
- Major PacketCursor refactor
- Add PacketReader
- Many SampleCursor fixes, harden the behavior
- Typo fixes and various other small things
2025-11-27 16:26:46 +01:00
Vanilagy 52d7ba07b0 Merge branch 'main' into cursors 2025-11-26 12:06:05 +01:00
Vanilagy 75096edb23 Update TypeScript, fix generic ArrayBufferView type errors, allow SharedArrayBuffer as input for BufferSource 2025-11-26 12:04:23 +01:00
Vanilagy f33dd4f2cd UrlSource: Deal gracefully with servers that cap unbounded range requests (fixes #231) 2025-11-26 11:26:09 +01:00
Vanilagy ef7a40944e Stronger encodability checks for Firefox (fixes #222) 2025-11-24 17:18:46 +01:00
Vanilagy f62ecb0eb6 Fix wrong type being used 2025-11-24 16:53:53 +01:00
Vanilagy da159bb063 Stop retrying requests when the source is disposed, log warning in possible CORS detection case (see #158) 2025-11-24 16:28:10 +01:00
Vanilagy 408b4e4877 WIP 2025-11-19 11:29:23 +01:00
Vanilagy 9464adf22f Remove pure annotations for non-function call expressions (fixes #225) 2025-11-18 11:36:20 +01:00
Vanilagy bd9d35122f WIP 2 2025-11-14 21:00:29 +01:00
Vanilagy 7fd2ec6373 WIP 2025-11-14 14:07:31 +01:00
Vanilagy 217b383f12 Add read/write support for track disposition information 2025-11-13 11:00:42 +01:00
2c96ec0f1b feature(isobmff): read disabled tracks (#214)
* feature(isobmff): read disabled tracks

* Put enabled ISOBMFF tracks first

---------

Co-authored-by: Vanilagy <[email protected]>
2025-11-13 09:34:29 +01:00
Vanilagy 6684984e7e Fix faulty timestamp rounding to nearest integer (fixes #207) 2025-11-12 21:35:18 +01:00
Vanilagy 02b08e036b Fix Matroska files where no audio packets are key packets (fixes #192) 2025-11-12 16:07:17 +01:00
Vanilagy 327696666b Expand doc blocks 2025-11-12 14:40:47 +01:00
Vanilagy 07b2e70863 Force software decoding in Chromium for interlaced AVC 2025-11-12 14:29:56 +01:00
Vanilagy 3cb6ed82ce Fix globals not being treeshakable by some bundlers (fixes #172) 2025-11-12 13:11:18 +01:00
Vanilagy 12216ae29e Remove reordering Matroska blocks by references (fixes #178) 2025-11-12 10:49:47 +01:00
Vanilagy e33e9f13fe Fix missing VideoSample.close() calls in CanvasSink conversion path 2025-11-12 10:05:41 +01:00
Vanilagy 966ac133e9 Merge branch 'main' of https://github.com/Vanilagy/mediabunny 2025-11-11 18:03:28 +01:00
Vanilagy 23f814679e Modify audio encoder to fill gaps between timestamps with silence to ensure AV sync (fixes #176) 2025-11-11 18:03:28 +01:00
Jonny BurgerandGitHub f3a2d57156 Don't overlook potential packets in FLAC bitstream (#219)
* Don't overlook potential packets in FLAC bitstream

* Update way of going back
2025-11-11 17:07:49 +01:00