Skip to content

feat(screen): improve native streaming canvas foundation - #1

Closed
Ran-Xing wants to merge 3 commits into
mainfrom
feat/native-streaming-canvas
Closed

feat(screen): improve native streaming canvas foundation#1
Ran-Xing wants to merge 3 commits into
mainfrom
feat/native-streaming-canvas

Conversation

@Ran-Xing

@Ran-Xing Ran-Xing commented Aug 3, 2026

Copy link
Copy Markdown
Member

Summary

This draft PR introduces the first stage of the native streaming canvas migration.

Changes

  • Add a streaming frame abstraction between VideoToolbox output and rendering.
  • Expose decoded frames from the native scrcpy video surface while preserving the existing CGImage compatibility path.
  • Prepare the rendering pipeline for future Metal-backed canvas rendering.
  • Add session frame generation isolation groundwork to avoid stale frame delivery after reconnects.

Scope

This PR intentionally does not replace the current SwiftUI image rendering path yet. The migration is staged to keep existing Screens functionality stable.

Next steps

  • Replace CGImage conversion with Metal/CAMetalLayer rendering.
  • Complete native virtual-display session path.
  • Add runtime media parameter switching.

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.

1 participant