Vanilagy
d969266662
Simplify isWebKit, get rid of isSafari
2025-11-10 11:30:26 +01:00
Vanilagy
198928088b
Make cluster/fragment lookup operations almost stateless, fix high Matroska memory, allow more maxCacheSizes
2025-09-29 20:36:37 +02:00
David P. and GitHub
fa4e064345
Transparent video read/write support ( #145 )
...
* Add support for reading transparent Matroska and implement alpha side data & decode
* Few fixes
* Implement alpha encoding
* Gracefully handle inability to acquire WebGL context, properly clean up WebGL contexts
* Improve touch device detection
* Test test
* Test test #2
* Test test 3
* Test test 4
* Test test 5
* Test test 6
* Test test 7
* Test test 8
* Test test 9
* Test test 10
* Test test 11
* Test test 12
* Test test 13
* Test test 14
* Test test 15
* Test test 16
* Test test 17
* Test test 18
* Test test 19
* Test test 20
* Fix type errors, improve MetadataTags docs
* Do a bunch of docs work
* Test test?
* "Unexpected only modifier 🤓 "
* Add InputVideoTrack.canBeTransparent()
* Some clean-up
* Adjust CI to be less spammy in PRs
* Fix broken license headers
2025-09-24 21:20:14 +02:00
Vanilagy
608c769a7e
Add explicit disposability to Inputs ( #126 )
2025-09-21 20:18:59 +02:00
Vanilagy
1bb3c0e262
Avoid opaque canvases in case of Firefox ( fixes #117 )
2025-09-16 17:42:23 +02:00
Vanilagy
3cfb9f27cb
Prefix crop validation error messages
2025-09-12 16:52:55 +02:00
Vanilagy
eba1f360d5
Clean up cropping logic
2025-09-12 16:48:35 +02:00
Vanilagy
4aca172d14
Merge branch 'main' into fork-branch
2025-09-12 15:46:12 +02:00
Vanilagy
b9f7ab2fa2
Skip HEVC RASL slices following a decoder reset
2025-09-09 13:09:41 +02:00
Pablo Cúbico
904fd8f95e
feat: add video crop option
2025-09-05 07:07:43 -03:00
Vanilagy
a2a30c3e92
Add API doc generator, improve documentation across the board
2025-09-03 18:11:43 +02:00
Vanilagy
d2507a5a72
Fix incorrect decoded audio sample timestamps in Firefox
2025-09-01 16:39:19 +02:00
Vanilagy
63b8190185
Add logic for encoding video frames that change size over time ( #63 )
2025-08-24 16:37:03 +02:00
Vanilagy
c9dcebed6f
Skip zero-length AudioSamples
2025-08-12 08:53:25 +02:00
Vanilagy
975c1c42cb
First linting error yay
2025-08-10 20:06:18 +02:00
Vanilagy
a9cec387d4
Extract insertSorted function
2025-08-10 19:55:21 +02:00
Vanilagy
56ae97f994
Fix decoded frame timestamps ( #49 )
2025-08-10 19:26:41 +02:00
Vanilagy
5e933d9362
Add packet type derivation logic, new verifyKeyPackets options, new determinePacketType method
2025-07-24 16:09:01 +02:00
Vanilagy
cf0bbe896a
Add longer variant to VideoSample.draw
2025-07-15 11:49:33 +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
7203ee776c
Add CI
2025-06-18 16:43:19 +02:00
Vanilagy
eef573a972
Always flush when encountering a new key packet
2025-06-18 14:27:17 +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
0ca1425036
Make some more fields readonly
2025-06-09 22:49:54 +02:00
Vanilagy
4bbb6edf5d
Add thumbnail generation example, fix MP3 detection code error, prefer canvas element over OffscreenCanvas
2025-05-23 18:52:09 +02:00
Vanilagy
8de25036b8
Automatically close new VideoFrames created by toCanvasImageSource, reduce clones in mediaSamplesAtTimestamps
2025-05-09 15:31:18 +02:00
Vanilagy
8bca9b0217
Rewrite mediaSamplesAtTimestamps to fix B-frame bug, fix incorrect timestamps when cloning samples
2025-05-09 14:20:29 +02:00
Vanilagy
94b797e227
TEMP timestamp iterator bugfix
2025-05-03 21:43:29 +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
Vanilagy
7fe0593b6c
Fix EBML parsers for large integers, make small API and docblock adjustments
2025-04-25 17:35:03 +02:00
Vanilagy
03b9c6c9ae
Adjust media sink max queue size logic to prevent playback stalls
2025-04-11 19:19:49 +02: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
d833b5ef31
Make use of OffscreenCanvas
2025-03-02 19:30:09 +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
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
f750bcfa21
Fix incorrect timestamp rounding for audio
2025-02-09 14:42:08 +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
ffd0835e9a
Add support for custom encoders & decoders
2025-01-26 17:32:10 +01:00
Vanilagy
b759fd8808
Add toDataView
2025-01-26 12:03:23 +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
9af3e6eb66
Fix atTimestamps iterator
2025-01-14 21:23:37 +01:00
Vanilagy
45474764ca
Add explanatory comment
2025-01-12 16:57:31 +01:00
Vanilagy
aea808ca0c
Adjust timestamp logic for media sinks for more accurate audio timing
2025-01-12 16:41:42 +01:00
David Payr
b6b82084d4
Drain -> Sink
2025-01-08 14:26:49 +01:00