Vanilagy
fff09411e6
Fixed negative timestamps occurring with live media ( fixes #364 )
2026-05-07 11:11:37 +02:00
Vanilagy
783cfa6fbe
Add AppendOnlyStreamSource, adjust examples to use it
2026-04-21 14:58:33 +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
bee1518100
Add TrackDescriptor concept
2026-04-08 12:21:08 +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
7b70756961
Remove superfluous end pos seeks, fix validation bug
2026-03-27 21:29:47 +01:00
Vanilagy
157582498f
Remove InputTrack.groupId, hide pairing mask, change HLS track merging behavior
2026-03-24 21:54:00 +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
e8df451bf5
Add support for live HLS streams, add playlist refresh logic, add live input tracks
2026-03-12 15:54:19 +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
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
Vanilagy
de84d78092
Merge branch 'main' into hls
2026-02-16 15:55:59 +01:00
2876197631
Fix WaveDemuxer reading too far in corrupted ID3 chunk ( #301 )
...
* Update read-mp4.test.ts
* Fix the bug
* Delete read-wav.test.ts
* Submit test file
* Small adjustments
---------
Co-authored-by: Vanilagy <[email protected] >
2026-02-16 10:48:07 +00:00
Vanilagy
cacbc2a399
Fix assertion failure
2026-02-07 10:35:40 +01:00
Vanilagy
ab0fd6a8d8
Fix WAVE demuxer out of bounds reads
2026-02-07 10:28:14 +01:00
Vanilagy
6004912f3d
Make computeDuration and getFirstTimestamp have the same implementations across the board
2026-01-27 16:49:25 +01:00
Vanilagy
d1fbea3e19
[WIP] Add majority of logic for HLS reading support
2026-01-27 14:45:44 +01:00
Vanilagy
e20f779ede
Add InputTrack.number
2026-01-22 09:18:43 +01:00
Vanilagy
7e8f9fbbb1
It's 2026
2026-01-16 17:02:12 +01:00
Vanilagy
217b383f12
Add read/write support for track disposition information
2025-11-13 11:00:42 +01:00
Vanilagy
537119357d
Add strict slice range validation, fix RF64 reading error ( fixes #146 )
2025-09-25 10:26:44 +02:00
6aee4e6a6a
Fix WAV files with embedded ID3 metadata returning empty tags ( #110 )
...
* Read ID3v2 tags from WAV file
* remove js import
Co-authored-by: David P. <[email protected] >
* revert slicing in wave-demuxer.ts and add id3.ts for further sharing
* Add `writeId3Tag` to the `WavOutputFormat` constructor options
* add more context in private and public APIs that it's non-standard
* compare actual values in the test with real file
* remove unnecesarry double slice requesting
* trim test audio file (i tried my best to preserve ID3, including artwork)
* Couple of code cleanups
* const -> using
* Fix linting errors
---------
Co-authored-by: David P. <[email protected] >
2025-09-22 14:06:06 +02:00
Vanilagy
608c769a7e
Add explicit disposability to Inputs ( #126 )
2025-09-21 20:18:59 +02:00
Vanilagy
bd99d8f28f
Add metadata tests, fix a few bugs
2025-09-05 21:42:26 +02:00
Vanilagy
42190900cd
Disallow non-Latin-1 strings for WAVE metadata tags
2025-09-05 19:02:43 +02:00
Vanilagy
b58476b1b0
Renaming
2025-09-05 18:59:13 +02:00
Vanilagy
dd7804e5ab
Add metadata read/write support for WAVE
2025-09-05 16:31:26 +02:00
Vanilagy
ef95960e13
Add support for unsized sources, add ReadableStreamSource, fix WAVE packet lookup
2025-09-02 16:39:38 +02:00
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
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
4b12468008
Add support for reading and writing RF64 WAVE files
2025-07-18 16:48:23 +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
e22839f5a2
Deal properly with truncated WAVE files
2025-06-23 15:53:31 +02:00
Vanilagy
c7c57e2132
Add getMimeType to Output & other small adjustments
2025-06-07 22:51:57 +02:00
Vanilagy
9be55666ac
Fix missing byte lengths in metadata-only packets
2025-05-11 23:11:06 +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
Yonatan Bendahan
9738329f73
make getSize and input source public
2025-04-15 15:09:15 +03: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
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
0db871dd21
Implement Ogg muxer
2025-02-09 10:56:54 +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