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
ad26edc6b5
Catch degenerate ISOBMFF matrices
2025-08-24 14:49:33 +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
8b9f22ba46
eqeqeq
2025-08-18 17:17:18 +02:00
Vanilagy
e0a4169bf8
Handle missing starting key sample in ISOBMFF
2025-08-12 09:29:57 +02:00
Vanilagy
a9cec387d4
Extract insertSorted function
2025-08-10 19:55:21 +02:00
Vanilagy
597b68b299
Add support for Matroska lacing, fix packet lookup logic
2025-08-08 17:10:03 +02:00
Vanilagy
5a6b849ff8
Fix fragmented MP4 files with a non-empty sample table
2025-08-03 22:34:38 +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
14ad80df5d
Improve ISOBMFF demuxer to support fragments without a key frame
2025-07-11 10:57:24 +02:00
Vanilagy
9072a7a9f7
Be even more graceful with invalid ISOBMFF files
2025-07-10 17:47:56 +02:00
Vanilagy
fba463f46b
Be more graceful with unsupported edit lists
2025-07-10 17:33:10 +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
b15a5cd984
Fix incorrect cluster insertion for Matroska demuxer
2025-06-20 12:05:40 +02:00
Vanilagy
a2fc4decda
Fix contiguous box reading regression
2025-06-17 13:53:43 +02:00
Vanilagy
28597ea93c
Yapperino
2025-06-16 20:51:58 +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
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
0359a7f2b1
Fix PCM playback issue for certain malformed files
2025-06-06 20:02:46 +02:00
Vanilagy
550b849235
Rename
2025-05-12 15:16:30 +02:00
Vanilagy
fd159ecce3
Migrate all codec data parsing logic into new file
2025-05-12 15:09:04 +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
e527fe1484
Allow fractional frame rates in track metadata, document frameRate better, other small doc adjustments
2025-04-28 15:48:51 +02:00
Yonatan Bendahan
9738329f73
make getSize and input source public
2025-04-15 15:09:15 +03:00
Vanilagy
20c53c407f
Fix codec validation logic
2025-04-05 17:10:49 +02: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
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