Commit Graph
75 Commits
Author SHA1 Message Date
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
Vanilagy b14daf6dca Add configurable minimum MP4 fragment duration and Matroska cluster duration 2025-03-22 15:33:00 +01:00
Vanilagy 4645b0d6a5 Allow Matroska clusters that don't begin with a key frame 2025-03-21 22:50:57 +01:00
David Payr 3863ffe4d8 Add documentation comments everywhere 2025-03-15 17:12:42 +01:00
David Payr 6eb5c02591 Add VideoSample and AudioSample abstractions 2025-03-13 21:46:39 +01:00
Vanilagy 453f8b6884 Ensure rotation is always clockwise, make CanvasSink more powerful, disable rotation metadata for Matroska outputs, & other changes 2025-03-02 11:59:11 +01:00
David Payr 2ab385b16e Fix cslg box for QuickTime compatibility 2025-02-26 22:46:44 +01:00
David Payr c2b20ccda5 EncodedVideoSample/EncodedAudioSample -> EncodedPacket 2025-02-22 19:54:59 +01:00
Vanilagy 7988b6c2f8 Multiple miscellaneous fixes 2025-02-18 22:13:21 +01:00
Vanilagy 873dae00c1 Add more relaxed rules for edit lists 2025-02-16 18:55:47 +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 6cdaa06c07 Add limited edit list support 2025-02-09 17:21:41 +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 b4d4c71916 Add reusable Opus identification header parsing function 2025-02-07 20:14:01 +01:00
Vanilagy 50442691a5 Implement Ogg demuxer 2025-02-04 16:59:25 +01:00
Vanilagy 35c4d384cf Mime type & MP3 improvements 2025-02-02 17:21:57 +01:00
Vanilagy 387c4dc525 isobmffReader -> metadataReader 2025-01-19 18:56:45 +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
Vanilagy 2bec661985 Add setting track language code, add proper AV1 CodecPrivate for Matroska muxer 2025-01-15 20:00:29 +01:00
Vanilagy 2dfb595911 Improve lookup algorithm to handle misleading cue points, fix cluster start timestamp in Matroska muxer, improve cue points in Matroska muxer, & other misc improvements 2025-01-12 15:17:21 +01:00
Vanilagy 61a4f1483a Add VP9 and AV1 bitstream parsers for extracting codec info 2025-01-11 21:28:10 +01:00
Vanilagy 11d41fcbc7 Fix interleaving of chunks in finalize() 2025-01-11 19:57:31 +01:00
Vanilagy c38c285eab Add Matroska demuxer 2025-01-11 19:39:01 +01:00
David Payr b6b82084d4 Drain -> Sink 2025-01-08 14:26:49 +01:00
Vanilagy 37820f1d4c Replace ArrayBufferTarget with BufferTarget, now spitting out Uint8Array and using .resize 2025-01-05 14:24:06 +01:00
Vanilagy ee81e1b674 Add support for all audio codecs in the ISOBMFF muxer (& some fixes) 2025-01-05 13:50:50 +01:00
Vanilagy 3487bae4fe Add cslg box 2025-01-04 14:43:26 +01:00
Vanilagy b8c0d76503 Add compileSampleStats 2025-01-04 14:25:22 +01:00
Vanilagy 5bb9f8609c Allow non-zero initial timestamps for ISOBMFF muxer 2025-01-04 14:02:45 +01:00
Vanilagy 1145e0ebbe Use new sample classes for muxers as well 2025-01-04 00:28:54 +01:00
Vanilagy e83356662e Add own encoded sample classes and port the code to them 2025-01-04 00:14:34 +01:00
Vanilagy f6d12390cd Fix audio tracks with channel count 1 being discarded 2025-01-02 23:53:22 +01:00
Vanilagy 8db8f10a1e Fix sample index retrieval case 2025-01-02 23:44:40 +01:00
Vanilagy 74369ee108 Explicitly model the supported codecs per output format 2025-01-02 21:03:17 +01:00
Vanilagy 2471f55f20 Validate audio codec strings 2025-01-02 20:21:49 +01:00
Vanilagy 022b157eeb Turn AudioBuffers into AudioData in a chunked fashion 2025-01-02 19:28:43 +01:00
Vanilagy 0f25dcb096 Add methods that check decodability 2025-01-02 19:08:09 +01:00
Vanilagy ad653434a6 Small fix 2025-01-02 18:37:34 +01:00
Vanilagy af26b4aab4 Fix fragment reading bug 2025-01-02 18:16:06 +01:00
Vanilagy d476c42424 Fix rotation matrix detection 2025-01-02 17:03:05 +01:00
Vanilagy 5dda43959d Support mp4a.67 2025-01-02 15:42:04 +01:00
Vanilagy 3a7e272d2f Vorbis works! 2025-01-02 15:33:36 +01:00
Vanilagy 4bef3b6722 Manually write the async generators so that return() is immediate 2025-01-02 15:24:38 +01:00
Vanilagy 7c5e31a93a Add Opus support to ISOBMFF demuxer 2025-01-02 14:19:17 +01:00
Vanilagy 8a8fbc264e Add FLAC support to ISOBMFF demuxer 2025-01-02 00:03:32 +01:00
Vanilagy 4e0b3a7b3a Add ulaw and alaw support to ISOBMFF demuxer 2025-01-01 22:03:12 +01:00
Vanilagy fac4e4bf7b Implement PCM decoder, add PCM support to ISOBMFF demuxer 2025-01-01 21:31:00 +01:00