You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(export): stop drawing the screen inside the PiP box on camera-less clips
The layout preset is global — one panel for the whole timeline — but the
camera is per clip: a project mixes a screen+webcam recording with a plain
import without one. `LiveParams::has_webcam` already carried that
distinction, but only `live.rs` derived it, so the preview was right and
every export was wrong.
An export sets its `LiveParams` once for the whole timeline
(`compositor-view-napi`), keeping the `true` default. And `ExportDialog`
sends the SCREEN path as `webcamPath` when a clip has no camera, purely so
the decoder has something valid to open — so the PiP box was drawn with the
screen recording behind it, duplicated into its own corner. That is the
mirror reported in #248, which the greyed-out Layout panel (correctly gated
on `hasAnyClipWithCamera`) then left no way to turn off.
`webcam_is_real` moves next to the field it decides, and
`walk_composited_timeline` — shared by MP4 and GIF on all three backends —
rebinds it per clip. A targeted `set_has_webcam` rather than a per-clip
`set_live_params`, which would clobber the settings the caller posted.
Verified on a real export (`run_composited_multi`, h264_amf) with the camera
path equal to the screen path: the thumbnail is gone. The bench gains a
`--webcam` override because the no-camera case is not different *content*
but an identical *path*, and cannot be replayed otherwise.
Refs #248
0 commit comments