Commit Graph
45 Commits
Author SHA1 Message Date
2876197631 Fix WaveDemuxer reading too far in corrupted ID3 chunk (#301)
* Update read-mp4.test.ts

* Fix the bug

* Delete read-wav.test.ts

* Submit test file

* Small adjustments

---------

Co-authored-by: Vanilagy <[email protected]>
2026-02-16 10:48:07 +00:00
Vanilagy cacbc2a399 Fix assertion failure 2026-02-07 10:35:40 +01:00
Vanilagy ab0fd6a8d8 Fix WAVE demuxer out of bounds reads 2026-02-07 10:28:14 +01:00
Vanilagy e20f779ede Add InputTrack.number 2026-01-22 09:18:43 +01:00
Vanilagy 7e8f9fbbb1 It's 2026 2026-01-16 17:02:12 +01:00
Vanilagy 217b383f12 Add read/write support for track disposition information 2025-11-13 11:00:42 +01:00
Vanilagy 537119357d Add strict slice range validation, fix RF64 reading error (fixes #146) 2025-09-25 10:26:44 +02:00
6aee4e6a6a Fix WAV files with embedded ID3 metadata returning empty tags (#110)
* Read ID3v2 tags from WAV file

* remove js import

Co-authored-by: David P. <[email protected]>

* revert slicing in wave-demuxer.ts and add id3.ts for further sharing

* Add `writeId3Tag` to the `WavOutputFormat` constructor options

* add more context in private and public APIs that it's non-standard

* compare actual values in the test with real file

* remove unnecesarry double slice requesting

* trim test audio file (i tried my best to preserve ID3, including artwork)

* Couple of code cleanups

* const -> using

* Fix linting errors

---------

Co-authored-by: David P. <[email protected]>
2025-09-22 14:06:06 +02:00
Vanilagy 608c769a7e Add explicit disposability to Inputs (#126) 2025-09-21 20:18:59 +02:00
Vanilagy bd99d8f28f Add metadata tests, fix a few bugs 2025-09-05 21:42:26 +02:00
Vanilagy 42190900cd Disallow non-Latin-1 strings for WAVE metadata tags 2025-09-05 19:02:43 +02:00
Vanilagy b58476b1b0 Renaming 2025-09-05 18:59:13 +02:00
Vanilagy dd7804e5ab Add metadata read/write support for WAVE 2025-09-05 16:31:26 +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 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 4b12468008 Add support for reading and writing RF64 WAVE files 2025-07-18 16:48:23 +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 e22839f5a2 Deal properly with truncated WAVE files 2025-06-23 15:53:31 +02:00
Vanilagy c7c57e2132 Add getMimeType to Output & other small adjustments 2025-06-07 22:51:57 +02:00
Vanilagy 9be55666ac Fix missing byte lengths in metadata-only packets 2025-05-11 23:11:06 +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
Yonatan Bendahan 9738329f73 make getSize and input source public 2025-04-15 15:09:15 +03:00
Vanilagy 5e224510be Add documentation on writing files 2025-03-31 21:21:10 +02:00
Vanilagy ceb2528014 Add specific, per-output-format data callbacks & rewrite some logic in the process 2025-03-22 20:30:24 +01:00
David Payr c2b20ccda5 EncodedVideoSample/EncodedAudioSample -> EncodedPacket 2025-02-22 19:54:59 +01:00
Vanilagy a4c5ab4a8c Add fix to ensure VideoFrames are output in timestamp order, fix atTimestamps iterator logic & leaks 2025-02-16 18:30:14 +01:00
Vanilagy 0db871dd21 Implement Ogg muxer 2025-02-09 10:56:54 +01:00
Vanilagy cd30c9faec Unpromise many input track methods 2025-02-08 16:32:34 +01:00
Vanilagy 1d823805cf Remove sample correlation logic in decoder pipeline 2025-02-08 15:55:54 +01:00
Vanilagy d3566305df Implement MP3 muxer 2025-01-26 11:45:56 +01:00
Vanilagy 7205d9445b Implement MP3 demuxer 2025-01-26 10:01:09 +01:00
Vanilagy 70b88332b2 Add media conversion utility function, fix fragment/cluster reading issues, expand color space logic, add qualitative bitrates, & many other fixes and improvements 2025-01-19 18:55:12 +01:00
Vanilagy 7b6567fcf0 Add language getter to InputTrack 2025-01-15 20:21:34 +01:00
David Payr fbe084d721 Minor cleanup 2025-01-08 14:43:16 +01:00
David Payr b6b82084d4 Drain -> Sink 2025-01-08 14:26:49 +01:00
Vanilagy dc81afa1d9 Drop big-endian PCM support for WaveDemuxer 2025-01-07 22:23:04 +01:00
Vanilagy e1c070fe7b Move RiffWriter into separate file 2025-01-07 22:20:33 +01:00
Vanilagy 7d5957957e Add WAVE muxer 2025-01-07 21:37:55 +01:00
Vanilagy 3041989cf3 Add WAVE demuxer 2025-01-07 20:57:16 +01:00