Vanilagy
292189e3d4
Add toAvFrame, NodeAv* -> Av*, add server README, fix track synchronizer in conversion, increase default cache size for ReadableStreamSource
2026-05-13 15:26:13 +02:00
Vanilagy
81531cc510
Fix some bugs & polish edge cases
2026-05-11 23:50:06 +02:00
Vanilagy
47ad5c6806
Add BlobSourceOptions.useStreamReader ( #179 )
2026-05-04 14:20:21 +02:00
Vanilagy
e1dd95086a
Add special .node.cjs variant for CJS support
2026-04-28 15:33:51 +02:00
Vanilagy
ff46a274b1
Switch back to dynamic import, leave package.json unchanged though
2026-04-28 14:36:48 +02:00
Vanilagy
bf9e360587
Revert back to static import of fs, don't like to CJS bundles in package.json
2026-04-28 14:24:58 +02:00
Vanilagy
1fd99b5015
Fix Source assertion failure
2026-04-28 14:09:18 +02:00
Vanilagy
c89e7429f7
Fix FilePathSource/FilePathTarget not working in server-side environments using CJS ( closes #360 )
2026-04-27 18:29:52 +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
3fc69490f5
Suppress range request warning for HLS-adjacent requests ( closes #354 )
2026-04-21 15:12:34 +02:00
Vanilagy
2b3e5f45c6
Remove createInputFrom, changed meaning of PathedSource, add CustomPathedSource
2026-04-21 13:22:10 +02:00
Vanilagy
95e9dc5210
MORE CODE REVIEW
2026-04-16 18:27:51 +02:00
Vanilagy
7080b79a2a
Update docs a bunch, fix some typos
2026-04-15 14:36:53 +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
fdb5f4102f
Add new createInputFrom helper function
2026-04-08 14:52:27 +02:00
Vanilagy
c91718cdba
Add SourceRef system to keep track of used Sources ( fixes #332 )
2026-03-20 14:46:12 +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
c088a31384
Various fixes
2026-03-06 15:49:24 +01:00
Vanilagy
02484778d1
Oops
2026-02-24 20:29:23 +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
de84d78092
Merge branch 'main' into hls
2026-02-16 15:55:59 +01:00
Vanilagy
cab92c55ec
Fix a few things
2026-02-03 16:01:46 +01:00
Fredrik Johansson
3209363470
Add UrlSourceOptions.parallelism
2026-01-29 09:31:51 +01:00
Vanilagy
d1fbea3e19
[WIP] Add majority of logic for HLS reading support
2026-01-27 14:45:44 +01:00
Vanilagy
8c67872e83
Add double loading detection and warning, improve UrlSource abort signal documentation, bump minor
2026-01-23 13:31:59 +01:00
Vanilagy
7e8f9fbbb1
It's 2026
2026-01-16 17:02:12 +01:00
Vanilagy
736cc50fa7
Fix aborted UrlSource not aborting request
2025-12-24 14:15:31 +01:00
Vanilagy
75096edb23
Update TypeScript, fix generic ArrayBufferView type errors, allow SharedArrayBuffer as input for BufferSource
2025-11-26 12:04:23 +01:00
Vanilagy
f33dd4f2cd
UrlSource: Deal gracefully with servers that cap unbounded range requests ( fixes #231 )
2025-11-26 11:26:09 +01:00
Vanilagy
f62ecb0eb6
Fix wrong type being used
2025-11-24 16:53:53 +01:00
Vanilagy
da159bb063
Stop retrying requests when the source is disposed, log warning in possible CORS detection case (see #158 )
2025-11-24 16:28:10 +01:00
Vanilagy
9464adf22f
Remove pure annotations for non-function call expressions ( fixes #225 )
2025-11-18 11:36:20 +01:00
Vanilagy
3cb6ed82ce
Fix globals not being treeshakable by some bundlers ( fixes #172 )
2025-11-12 13:11:18 +01:00
Vanilagy
d969266662
Simplify isWebKit, get rid of isSafari
2025-11-10 11:30:26 +01:00
hex
e0dda582b1
fix webkit video conversion bug
2025-11-07 16:58:20 -07:00
Vanilagy
3217490d81
Fix read worker abort bugs ( fixes #197 )
2025-11-02 14:03:54 +01:00
Vanilagy
203c0f307e
Ignore read data after source disposal
2025-10-02 15:42:44 +02:00
JonnyBurger
26c1debb7a
Update docs for getRetryDelay()
2025-09-30 15:03:29 +02:00
JonnyBurger
548ca74c93
getRetryDelay() takes src as well
2025-09-30 14:59:48 +02:00
JonnyBurger
249d9444ce
remove extra newline added
2025-09-30 14:11:48 +02:00
JonnyBurger
d58b638277
Stop retrying UrlSource if CORS error is suspected
2025-09-30 14:11:17 +02: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
Vanilagy
537119357d
Add strict slice range validation, fix RF64 reading error ( fixes #146 )
2025-09-25 10:26:44 +02:00
Vanilagy
0878dd2ca9
Make stripped Node.js import more resilient
2025-09-24 11:41:48 +02:00
Vanilagy
15db099caf
Add fetchFn to UrlSourceOptions, allow Request as UrlSource input, pass error message to getRetryDelay, add fallback for Blob.stream()
2025-09-22 11:10:39 +02:00
Vanilagy
63145c9ced
Improve docs
2025-09-21 23:41:10 +02:00