Commit Graph
46 Commits
Author SHA1 Message Date
Vanilagy a9a455e132 Add metadata-based duration retrieval 2026-03-13 17:03:36 +01:00
Vanilagy ff523c01c8 Add HLS reading tests, InputTrack.hasOnlyKeyPackets, faster whole-file reading 2026-03-10 13:32:52 +01:00
Vanilagy c088a31384 Various fixes 2026-03-06 15:49:24 +01:00
Vanilagy 6d5821aa74 Clean up some code, add new source getting for Input 2026-03-04 09:34:37 +01:00
Vanilagy cfb5418fa0 Refactor HLS API: Get rid of specialized Manifest* classes, use Input instead. Add unhydrated InputTracks, InputTrack compatibility, InputTrack queries 2026-03-03 15:28:26 +01:00
Vanilagy 9fd82c3448 Make maxWorkerCount strict, queue reads if no worker is free 2026-02-24 20:29:09 +01:00
Vanilagy 68b3ae7155 A BUNCH of HLS (and related) progress
- Add support for fMP4 segments
- Add initInput (supported by ISOBMFF and MPEG-TS)
- Input.isSupported()
- Refactored file size retrieval logic, the file size can now be retrieved alongside the first read.
- Add support for unsized UrlSources
- Add support for multiple trun boxes in a row for the same track (as the spec literally says lol)
- Add support for more M3U8 features
- Fix faulty line reader
- MPEG-TS improvements: support video parameters not in first packet, support better key frame detection, support extension PES packets without PTS
- Fix reorder buffer being 1 element too small
2026-02-20 19:56:20 +01:00
Vanilagy d1fbea3e19 [WIP] Add majority of logic for HLS reading support 2026-01-27 14:45:44 +01:00
Vanilagy 202cd3e09b Add social links 2025-07-02 21:27:45 +02:00
Vanilagy a3d73228e2 Add proper license 2025-06-27 13:14:11 +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 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
David Payr 69751e8bfe Add todo 2025-04-14 13:06:56 +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 1652b4f614 More intentional codec description extraction for Matroska, & generate CodecPrivate for VP9 2025-03-22 14:50:35 +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
Vanilagy 00975b456c Fix error when aborting conversion, expose Conversion class for more control, refactor Output state 2025-03-02 17:32:56 +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 c2b20ccda5 EncodedVideoSample/EncodedAudioSample -> EncodedPacket 2025-02-22 19:54:59 +01:00
Vanilagy 5d1866653c Todo 2025-02-21 22:25:28 +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
David Payr 444770d4f8 todo 2025-02-13 16:12:42 +01:00
David Payr fff9589bfb Todo 2025-02-13 09:50:05 +01:00
Vanilagy 9f6d561772 Add StreamSource 2025-02-09 17:34:59 +01:00
Vanilagy 6cdaa06c07 Add limited edit list support 2025-02-09 17:21:41 +01:00
Vanilagy 2d4df211d8 Support rotation metadata in Matroska muxer 2025-01-11 20:07:31 +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
Vanilagy 316e16211b Add onread callback 2025-01-04 14:46:53 +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 8db8f10a1e Fix sample index retrieval case 2025-01-02 23:44:40 +01:00
Vanilagy a3f19f6f08 Oops 2025-01-02 23:31:06 +01:00
Vanilagy 2471f55f20 Validate audio codec strings 2025-01-02 20:21:49 +01:00
Vanilagy 9ac0519217 Add onEncodedChunk callback 2025-01-02 20:01:30 +01:00
Vanilagy 141bed1b37 Add Output.cancel 2025-01-02 19:57:32 +01:00
Vanilagy c42495ec7e Allow more manual control over key frames 2025-01-02 19:39:02 +01:00
Vanilagy 022b157eeb Turn AudioBuffers into AudioData in a chunked fashion 2025-01-02 19:28:43 +01:00