Skip to content

Make local screen/window capture a first-class Program source #588

Description

@iamfatness

Operator need

CoreVideo Pro needs a clear, built-in way to capture a local display or application window as a production source and put it on Program. The owner reports this as a missing capability. This is local screen/window capture into CoreVideo's Program, not sending CoreVideo's output through Zoom's screen-share control.

Current evidence

The native WGC adapter enumerates screen:<n> and window:<hwnd> targets and produces capture:<deviceId> video frames (native/src/modules/WgcScreenCaptureAdapter.cpp). The WinUI shell merges those targets into Capture devices and has a Connect path that assigns a connected device to a Show Input (StudioViewModel.cs). Today the operator path is spread across Capture devices, Show Inputs, scene/source selection, and Preview/Take. The scene's “Screen Share” option refers to an incoming Zoom share; it does not start a local screen capture. There is no direct, obvious “capture this screen/window into Program” workflow in the source UI. Prior owner verification of WGC in docs/alpha-plan.md does not establish that the current installed beta offers an understandable, reliable end-to-end operator flow.

Done when

  • From the production UI, an operator can select an available display or application window, identify which target is being captured, preview it, and route/take it to Program without relying on hidden or ambiguous steps.
  • The UI clearly distinguishes local screen/window capture from incoming Zoom screen share, and shows useful status when a target is unavailable, closed, minimized, or capture fails.
  • Starting, stopping, switching, and restoring a target do not leave stale assignments or a misleading live state. The operator can take a capture offline safely.
  • Verify the complete workflow in an installed beta: moving pixels on Preview and Program, source switching and app restart, and output visibility in a real production path (recording or stream). Record observed frame cadence and failure behavior; do not infer acceptance from adapter enumeration alone.
  • Decide and label audio behavior explicitly: screen/window video capture currently advertises no embedded audio. Do not silently promise system/application audio.

Scope note

Reuse and harden the existing WGC capture path where possible. This issue is the operator-facing local capture workflow and its packaged acceptance, not Zoom meeting screen-share ingest or a second capture engine by default.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogRanked in docs/BACKLOG.md

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions