Describe the bug
On macOS (v2.0.0-rc.1 CI build), exporting an edited project produces a file whose duration does not match the edit at all. The exporter's own predicted frame total matches the produced file exactly, so the render plan itself diverges from the document.
Measured on a project with:
- two 47.83 s clips (timeline total 1:35.7)
- trim
44.82–47.83 s (3.015 s)
- speed 1.5× over
44.82–47.83 s
- speed 1.5× over
0–1.87 s of clip 2
- one 3D zoom (0–4.9 s) and one text annotation (32.3–37.2 s)
(All region values verified in the saved .openscreen document, not read off pills.)
Expected behavior
Any reading of the region semantics yields ≈ 89.7–92.7 s of output:
- 95.667 s timeline − 3.015 s trim − ~2.95 s saved by the two 1.5× regions ≈ 89.7 s;
- even ignoring every region, the raw timeline is only 1:35.7 (95.67 s);
- even interpreting the speed regions as slowdowns instead of speedups only reaches ≈ 97.6 s.
Actual behavior
- MP4 (Web / YouTube, 1920×1080, 60 fps): Duration 00:02:16.88 = 8,213 frames @ 60.01 fps — exactly the frame total the export dialog predicted ("Frame 2233 of 8213 · about 87s left"). The render plan itself, not just the progress label, diverges from the edit.
- README GIF render of the same project: 2:17.0 (2,055 frames @ 15 fps) — the same wrong program length.
- No combination of trim/speed semantics can produce 136.9 s from a 95.7 s timeline.
To Reproduce
- Record a screen take on macOS (Apple's picker → Share Entire Screen).
- In the editor, add a second clip of the same asset (Media → Add to timeline), a trim, a 1.5× speed region, a 3D zoom and a text annotation.
- Export → Web / YouTube → Save.
ffprobe the output: duration ≈ 2:16.9 for a 1:35.7 timeline.
Environment
- Build: CI artifact
openscreen-mac-arm64, build run 36336647912, release/v2.0.0 @ 15f16c1b, About reports 2.0.0-rc.1 (dmg)
- OS: macOS 26.5 (25F71), Apple M1 (Mac mini), one 3840×2160 display @ 2×
- App notarized Developer ID build, installed to /Applications
Additional context
Found during the v2.0.0-rc.1 release-candidate manual pass (full capture-to-export). The export otherwise completes: progress reaches 100%, "Saved to" path is correct, the file plays. The audio track in this particular export was digital silence, but that is a separate, independent issue (denied TCC permission) — the duration defect reproduces in the GIF path too, which carries no audio. Severity: blocker for the rc — the output does not match the edit.
Describe the bug
On macOS (v2.0.0-rc.1 CI build), exporting an edited project produces a file whose duration does not match the edit at all. The exporter's own predicted frame total matches the produced file exactly, so the render plan itself diverges from the document.
Measured on a project with:
44.82–47.83 s(3.015 s)44.82–47.83 s0–1.87 sof clip 2(All region values verified in the saved
.openscreendocument, not read off pills.)Expected behavior
Any reading of the region semantics yields ≈ 89.7–92.7 s of output:
Actual behavior
To Reproduce
ffprobethe output: duration ≈ 2:16.9 for a 1:35.7 timeline.Environment
openscreen-mac-arm64, build run 36336647912,release/v2.0.0@15f16c1b, About reports2.0.0-rc.1 (dmg)Additional context
Found during the v2.0.0-rc.1 release-candidate manual pass (full capture-to-export). The export otherwise completes: progress reaches 100%, "Saved to" path is correct, the file plays. The audio track in this particular export was digital silence, but that is a separate, independent issue (denied TCC permission) — the duration defect reproduces in the GIF path too, which carries no audio. Severity: blocker for the rc — the output does not match the edit.