[PR #200] [MERGED] um video: declare a constant rate before xfade #203

Closed
opened 2026-10-15 20:54:17 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rehan-remade/universal-modder/pull/200
Author: @aalkandery-eng
Created: 10/10/2026
Status: ✅ Merged
Merged: 10/11/2026
Merged by: @rehan-remade

Base: main ← Head: fix/video-xfade-fps


📝 Commits (3)

  • d056bae um video: declare a constant rate before xfade
  • ff02006 um video: keep the join at AVTB after fps=, and test a cut then a fade
  • 07395f0 Merge remote-tracking branch 'origin/main' into land/pr-200

📊 Changes

2 files changed (+29 additions, -2 deletions)

View changed files

📝 tests/test_um.py (+24 -0)
📝 um/video.py (+5 -2)

📄 Description

um video compile failed on any EDL with a non-cut transition. The rendered segments reach the join with a frame rate of 1/0 after settb=AVTB, and xfade rejects them:

[Parsed_xfade_10] The inputs needs to be a constant frame rate; current rate of 1/0 is invalid

The fix adds fps=<edl fps> after settb=AVTB,setpts=PTS-STARTPTS for every input to the join, so xfade and acrossfade see a declared constant rate.

Verified:

  • A 5-segment EDL with {"type": "fade", "duration": 0.25} failed before the change and now writes a 24.3 s 1080p30 MP4.
  • The inputs were game-window recordings (um win record), muxed and converted to CFR.
  • pytest -q tests passes.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rehan-remade/universal-modder/pull/200 **Author:** [@aalkandery-eng](https://github.com/aalkandery-eng) **Created:** 10/10/2026 **Status:** ✅ Merged **Merged:** 10/11/2026 **Merged by:** [@rehan-remade](https://github.com/rehan-remade) **Base:** `main` ← **Head:** `fix/video-xfade-fps` --- ### 📝 Commits (3) - [`d056bae`](https://github.com/rehan-remade/universal-modder/commit/d056bae72a4ceaba951f2cbda9d8748e021e8f1f) um video: declare a constant rate before xfade - [`ff02006`](https://github.com/rehan-remade/universal-modder/commit/ff02006c65bae9be9fef41c849b21457d2b80c04) um video: keep the join at AVTB after fps=, and test a cut then a fade - [`07395f0`](https://github.com/rehan-remade/universal-modder/commit/07395f0f79ef465da9573b01fad9f5b22b5d4a07) Merge remote-tracking branch 'origin/main' into land/pr-200 ### 📊 Changes **2 files changed** (+29 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `tests/test_um.py` (+24 -0) 📝 `um/video.py` (+5 -2) </details> ### 📄 Description `um video compile` failed on any EDL with a non-`cut` transition. The rendered segments reach the join with a frame rate of `1/0` after `settb=AVTB`, and `xfade` rejects them: ``` [Parsed_xfade_10] The inputs needs to be a constant frame rate; current rate of 1/0 is invalid ``` The fix adds `fps=<edl fps>` after `settb=AVTB,setpts=PTS-STARTPTS` for every input to the join, so `xfade` and `acrossfade` see a declared constant rate. **Verified:** - A 5-segment EDL with `{"type": "fade", "duration": 0.25}` failed before the change and now writes a 24.3 s 1080p30 MP4. - The inputs were game-window recordings (`um win record`), muxed and converted to CFR. - `pytest -q tests` passes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 20:54:17 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rehan-remade/universal-modder#203
No description provided.