Skip to content

[WIP] v2#220

Draft
Vanilagy wants to merge 54 commits intomainfrom
v2
Draft

[WIP] v2#220
Vanilagy wants to merge 54 commits intomainfrom
v2

Conversation

@Vanilagy
Copy link
Copy Markdown
Owner

@Vanilagy Vanilagy commented Nov 11, 2025

Current changes (in no specific order):

  • VideoSample now respects the rotation field of the underlying VideoFrame and properly sets it when creating frames via .toVideoFrame(). BREAKING CHANGE: The VideoFrame returned by .toVideoFrame() now has the same rotation as the VideoSample (previously, it was always unrotated)
  • Added PacketReader, PacketCursor, SampleCursor, VideoSampleCursor, AudioSampleCursor, canvasTransformer
  • Removed media sinks
  • Removed WrappedAudioBuffer
  • Way faster packet retrieval (all demuxers)
  • Optionally async packet retrieval (with MaybePromise)
  • Fixed conversion progress hanging at the end
  • Reduced memory usage for iterating packets in ISOBMFF and Matroska
  • Added VideoSample.closed and AudioSample.closed
  • Added metadata override options to VideoSample.clone() and AudioSample.clone()
  • Removed VideoSample setTimestamp, setDuration, setDuration methods
  • Removed AudioSample setTimestamp method

JonnyBurger and others added 30 commits November 6, 2025 10:03
…x incorrect sample initialization from a rotated VideoFrame, and fix a few other things
Preserve rotation when calling `.toVideoFrame()`
- Add extensive tests for packet cursor, sample cursor, and call serialization
- Major PacketCursor refactor
- Add PacketReader
- Many SampleCursor fixes, harden the behavior
- Typo fixes and various other small things
…t, add sample mapping, and a bunch of extra shit I forgot
…, add packet internal data, and various other fixes prob
@pie6k
Copy link
Copy Markdown

pie6k commented Feb 19, 2026

Is there a way to test it already?

@Vanilagy
Copy link
Copy Markdown
Owner Author

It's been about ~1.5 months since I last touched this branch, but I think the cursor stuff is pretty much ready. You can clone that branch and run npm run build followed by npm pack, although you'll probably need to disable some of the checks in the build command, otherwise it'll fail.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants