Vanilagy
fff09411e6
Fixed negative timestamps occurring with live media ( fixes #364 )
2026-05-07 11:11:37 +02:00
Vanilagy
cf8cea2957
Fix attribute parsing bug
2026-04-27 17:12:28 +02:00
Vanilagy
5ee78c6480
Add pssh box parsing and expose them in resolveKey
2026-04-24 19:01:25 +02:00
b05cdbe7e0
fix: two long-running HLS transcode issues ( #355 )
...
* fix: release targets from Output._targets on finalize
Long-running HLS transcodes leak memory. Every finalized BufferTarget
stays in _targets until the outer Output closes, pinning its buffer.
Writer.finalize() already does this cleanup for writer-based flows;
extend it to buffer-finalize paths via the public 'finalized' event.
* fix: ReadOrchestrator LRU eviction picks only drained workers
assert(pendingSlices.length === 0) fires under heavy concurrent reads
(e.g. multi-rendition HLS decode from BlobSource). LRU filter only
checked !running; workers with queued slices could be evicted.
Add pendingSlices.length === 0 to the filter.
* fix: export AppendOnlyStreamTarget from index
Missing from the re-export; public docs import it by name.
* fix: join HLS init segment path with root + playlist path
Init path went through _getTarget bare; segments got joined with rootPath + playlist.path. Playlist-relative URI then can't resolve when the playlist lives in a subdirectory.
* Fix targets not being cleaned up, fix paused workers with remaining pending slices, modify doc block, fixed isRoot not being changed on proxied requests
---------
Co-authored-by: Vanilagy <[email protected] >
2026-04-23 14:37:56 +02:00
Vanilagy
493ef50820
Add support for SAMPLE-AES and SAMPLE-AES-CTR decryption, add "Common Encryption" support to ISOBMFF demuxer, add InputFormatOptions, rewrite ISOBMFF track codec resolution
2026-04-22 16:54:49 +02:00
Vanilagy
783cfa6fbe
Add AppendOnlyStreamSource, adjust examples to use it
2026-04-21 14:58:33 +02:00
Vanilagy
2b3e5f45c6
Remove createInputFrom, changed meaning of PathedSource, add CustomPathedSource
2026-04-21 13:22:10 +02:00
Vanilagy
9a7120f5f4
Add per-playlist "mutices" for HLS muxer
2026-04-17 18:35:33 +02:00
Vanilagy
95e9dc5210
MORE CODE REVIEW
2026-04-16 18:27:51 +02:00
Vanilagy
b85ecd3109
Code review fixes
2026-04-16 17:43:12 +02:00
Vanilagy
5465602344
Add "Writing HLS" documentation, refine other stuff
2026-04-16 14:53:48 +02:00
Vanilagy
56b25fbdf8
Add onSegmentPopped, add more tests, improve validation, improve M3U8 grammar
2026-04-16 14:48:57 +02:00
Vanilagy
f99adf2208
Optimize media tag codec parsing, add a test for it, extract tag strings into constants
2026-04-16 11:31:43 +02:00
Vanilagy
2d0aac3208
Fix HLS demuxer parsing bug, extract HLS mime type out, add TargetRequest.mimeType
2026-04-16 10:53:36 +02:00
Vanilagy
a3767af141
Fix HLS muxer audio segmentation bug, fix conversion tests failing in CI
2026-04-14 21:40:07 +02:00
Vanilagy
6410ea9f42
Make Conversion API copy input pairability graph by default, fix HLS muxer rotation bug, remove onfinalized callback
2026-04-14 21:14:58 +02:00
Vanilagy
2a2b6450c9
Add better doc blocks, special deprecated logic for API doc generation, add multi-tiered SegmentedInput hydration for reducing file request count, ditch VirtualInputFormat indirection
2026-04-13 17:25:46 +02:00
Vanilagy
051578c2ca
Remove input track descriptors, add async getters on tracks for everything, deprecate old sync getters
2026-04-10 16:23:17 +02:00
Vanilagy
aa810fc433
Fix SourceRef race conditions, fix "source" and "target" getter returning unused instances, add missing validation, make "getDurationFromMetadata" only exist on tracks, fix examples, expand media player to support live playback, change the signatures of some Input APIs
2026-04-10 13:38:14 +02:00
Vanilagy
0813bcab28
Add missing doc blocks for everything, add PathedTarget and PathedSource, few other changes & fixes
2026-04-09 15:22:45 +02:00
Vanilagy
bee1518100
Add TrackDescriptor concept
2026-04-08 12:21:08 +02:00
Vanilagy
3c0a6fc299
Fix failing tests, add missing license headers
2026-04-01 16:39:42 +02:00
Vanilagy
3400b3ac12
Add maxLiveSegmentCount HLS option
2026-03-31 17:58:02 +02:00
Vanilagy
340b5eede7
Add support for writing Unix epoch-relative tracks to HLS, add proper cleanup of all Targets obtained by an Output
2026-03-31 15:12:38 +02:00
Vanilagy
b06e407d65
Add HLS live mode
2026-03-31 14:13:00 +02:00
Vanilagy
6b677291cd
Fix HLS muxer spec violations
2026-03-30 18:03:10 +02:00
Vanilagy
3bcbcc13f0
Add CMAF format and CMAF/init segment support to HLS muxer
2026-03-30 17:06:57 +02:00
Vanilagy
94678dd356
Add support for writing I-frame only tracks, fix track closing race conditions in other muxers
2026-03-27 18:48:27 +01:00
Vanilagy
e2e8aaab78
Refactor Target and Writer, add single-file HLS writing mode
2026-03-27 18:07:26 +01:00
Vanilagy
b8044cfa07
Add more segmentation tests
2026-03-27 14:27:30 +01:00
Vanilagy
17fac170c1
Add some HLS events, add configurable target duration, add public-API OutputTrack
2026-03-27 13:37:14 +01:00
Vanilagy
5bc1a31b8e
Rewrite HLS segmentation algo AGAIN, add a bunch of HLS segmentation tests, add VideoEncoder/AudioEncoder timing refinement logic, fix HLS output spec violations
2026-03-26 16:23:07 +01:00
Vanilagy
157582498f
Remove InputTrack.groupId, hide pairing mask, change HLS track merging behavior
2026-03-24 21:54:00 +01:00
Vanilagy
3e87d747e6
Add HLS master playlist generation, add multi-playlistadd output track grouping, add multi-playlist HLS files, add configurable playlist and segment names, add TrackDisposition.primary
2026-03-24 15:53:21 +01:00
Vanilagy
c91718cdba
Add SourceRef system to keep track of used Sources ( fixes #332 )
2026-03-20 14:46:12 +01:00
Vanilagy
dd8621b6d5
Start work on HlsOutputFormat
2026-03-17 15:25:06 +01:00
Vanilagy
a9a455e132
Add metadata-based duration retrieval
2026-03-13 17:03:36 +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
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
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