Vanilagy
fd39084e88
Simplify/fix 3d matrix rotation extraction ( #330 )
2026-03-19 15:08:29 +01:00
31d86331ec
FLAC: Add appendOnly option for FlaxMuxer, fix FlacDemuxer reading it ( #325 )
...
* implement in FlacOutputFormatOptions
* implement in flac-muxer.ts
* Fix demuxer: Handle minimumFrameSize = 0, maxiumFrameSize = 0
* add a test
* Update flac-demuxer.ts
* Update flac.test.ts
* clean up comments for minima and maxima
* Add FlacOutputFormatOptions.appendOnly to docs
---------
Co-authored-by: Vanilagy <[email protected] >
2026-03-19 13:43:28 +00:00
Vanilagy
0d50526ff6
Fix incorrectly-written video rotation metadata even when rotation is baked into the video ( fixes #329 )
2026-03-19 14:25:40 +01:00
Vanilagy
e693765d23
Fix failing test
2026-03-19 12:33:27 +01:00
Vanilagy
1da96f6d69
Add displayAspectWidth/displayAspectHeight only when they are necessary
2026-03-19 12:25:19 +01:00
Vanilagy
dd8621b6d5
Start work on HlsOutputFormat
2026-03-17 15:25:06 +01:00
Vanilagy
e42fc85f19
Merge branch 'main' into hls
2026-03-13 17:07:31 +01:00
Vanilagy
a9a455e132
Add metadata-based duration retrieval
2026-03-13 17:03:36 +01:00
github-actions[bot]
8efe7e75db
Merge main into release for tag v1.39.2
2026-03-13 10:05:14 +00:00
Vanilagy
92ea645df4
Bump patch
v1.39.2
2026-03-13 11:03:57 +01:00
Vanilagy
35e16ca23e
Fix incorrect GOP timestamp verification logic for first GOP ( fixes #321 )
2026-03-13 10:45:34 +01:00
Vanilagy
87ed3a1934
Fix faulty MPEG-2 detection ( fixes #322 )
2026-03-12 21:43:14 +01:00
Vanilagy
c43ca025d9
Add proper reference count-based source disposal system
2026-03-12 21:29:01 +01:00
Vanilagy
e8df451bf5
Add support for live HLS streams, add playlist refresh logic, add live input tracks
2026-03-12 15:54:19 +01:00
github-actions[bot]
a892676453
Merge main into release for tag v1.39.1
2026-03-11 15:30:35 +00:00
Vanilagy
0bfba89161
Bump patch
v1.39.1
2026-03-11 16:29:54 +01:00
Vanilagy
93e9c256ab
Maybe this helps a little
2026-03-11 16:28:44 +01:00
Vanilagy
ff523c01c8
Add HLS reading tests, InputTrack.hasOnlyKeyPackets, faster whole-file reading
2026-03-10 13:32:52 +01:00
github-actions[bot]
00f020921b
Merge main into release for tag v1.39.0
2026-03-09 19:06:09 +00:00
Vanilagy
c4bce00c4f
Bump minor
v1.39.0
2026-03-09 20:04:57 +01:00
Vanilagy
05ae21e5ea
Add EncodedPacketSink.getFirstKeyPacket() (used to fix #314 )
2026-03-09 10:19:01 +01:00
github-actions[bot]
8071933f15
Merge main into release for tag v1.38.1
2026-03-07 08:40:38 +00:00
Vanilagy
31594f1977
Bump patch
v1.38.1
2026-03-07 09:38:02 +01:00
Vanilagy
397c464846
Change comment
2026-03-06 16:12:30 +01:00
Vanilagy
2087658eea
Add <video> element fallback case for MediaStreamVideoTrackSource, adding Firefox support
2026-03-06 16:11:59 +01:00
Vanilagy
c088a31384
Various fixes
2026-03-06 15:49:24 +01:00
Vanilagy
22716b1f83
Merge branch 'main' into hls
2026-03-06 10:59:24 +01:00
6a11a1302c
Fix CTS=0 in fragmented fMP4 with multiple tracks ( #317 )
...
* Fix CTS=0 in fragmented fMP4 with multiple tracks
When muxing fragmented MP4 with both video and audio tracks,
compositionTimeOffset (CTS) was zero for all video samples, causing
B-frame content to display in decode order instead of presentation
order (visible judder).
Root cause: During finalize(), interleaveSamples(true) triggers
finalizeFragment() via the cross-track keyframe check in
addSampleToTrack. This writes the trun box before processTimestamps
has computed correct decodeTimestamp values, so CTS = PTS - DTS = 0.
Fix: Call processTimestamps() for all tracks at the start of
finalizeFragment(). This is safe because processTimestamps is a no-op
when the timestampProcessingQueue is empty.
Video-only fragmented muxing was unaffected because the single-track
case never triggers the cross-track keyframe check during
interleaveSamples.
Co-Authored-By: Claude Opus 4.6 <[email protected] >
* Fix the problem at the actual root
* Oopsie doopsie
---------
Co-authored-by: Claude Opus 4.6 <[email protected] >
Co-authored-by: Vanilagy <[email protected] >
2026-03-06 09:56:53 +00:00
github-actions[bot]
d97611453b
Merge main into release for tag v1.38.0
2026-03-05 19:01:49 +00:00
Vanilagy
472dc113e3
Uhm
v1.38.0
2026-03-05 19:58:10 +01:00
Vanilagy
193dcf0f14
Bump minor
2026-03-05 19:57:45 +01:00
Vanilagy
f79834c3c1
Add frame rate-based sampling for MediaStreamVideoTrackSource, reducing the probability of files with wildly irregular FPS; add unthrottled timer primitives
2026-03-05 19:57:32 +01:00
Vanilagy
66185fed15
Clean up & clarify
2026-03-05 11:49:27 +01:00
Vanilagy
fa4a0b4806
Merge branch 'main' into hls
2026-03-04 21:49:51 +01:00
Vanilagy
4172f81aa0
Upload FLAC artifacts in release CI
2026-03-04 21:27:21 +01:00
github-actions[bot]
5e59ae4a1c
Merge main into release for tag v1.37.0
2026-03-04 20:24:37 +00:00
Vanilagy
f37dd21947
Bump minor
v1.37.0
2026-03-04 21:23:02 +01:00
Vanilagy
a15283eaa3
Add @mediabunny/flac-encoder extension, clean up some other code, fix incorrect top-level tsconfig
2026-03-04 21:21:52 +01:00
Vanilagy
365469e64e
Merge branch 'main' into hls
2026-03-04 17:33:16 +01:00
github-actions[bot]
3b148f961a
Merge main into release for tag v1.36.0
2026-03-04 16:13:56 +00:00
Vanilagy
e18da824ce
Make test more resilient
v1.36.0
2026-03-04 17:12:40 +01:00
github-actions[bot]
95d60805ed
Merge main into release for tag v1.36.0
2026-03-04 16:10:38 +00:00
Vanilagy
506ad0c798
Bump minor
2026-03-04 17:08:02 +01:00
Vanilagy
c4398fb88c
Add @mediabunny/aac-encoder extension package
2026-03-04 17:05:34 +01:00
Vanilagy
dc4e557776
Read #EXT-X-PROGRAM-DATE-TIME, add Unix epoch-offset timestamps, parallelize HLS master playlist resolution
2026-03-04 11:08:42 +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
github-actions[bot]
857956fb07
Merge main into release for tag v1.35.1
2026-02-26 20:49:45 +00:00
Vanilagy
76e0703b13
Bump patch
v1.35.1
2026-02-26 21:48:36 +01:00
152002bd5d
fix(isobmff): write QuickTime-compliant MOV AAC sample entry ( #311 )
...
* fix(isobmff): write QuickTime-compliant MOV AAC sample entry
* Clean up logic, only version 1 sample description box was needed, remove bloaty tests
---------
Co-authored-by: Vanilagy <[email protected] >
2026-02-26 21:48:11 +01:00