fix(render): absolute concat paths for relative --output #6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refs/pull/6/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bug
ar-edit render <edit> --output out.mp4(relative path) failed with:An absolute
--outputpath worked; only relative paths were affected.playand the TUI dodged it because they render to absolute temp paths.Root cause
ffmpeg's concat demuxer resolves relative
file '...'entries relative to the directory containing the list file, not the process cwd. With a relative--output, the work dir (render.rsrender_to_file) and the segment paths were relative, so the filelist held.ar-edit-render-out/segment_0000.mp4. ffmpeg then looked for.ar-edit-render-out/.ar-edit-render-out/segment_0000.mp4→ not found.Fix
write_concat_listnow canonicalizes each existing segment path so entries are always absolute. Nonexistent paths fall back to the original (keeps the existing synthetic-path unit tests passing).Test
Adds
write_concat_list_makes_existing_relative_segments_absolute, which reproduces the relative-cwd scenario and asserts the emitted entry is absolute. Verified end-to-end: relative-output render now produces a correct 4.02s file. Fullar-edit-coresuite: 1191 passed.🤖 Generated with Claude Code
Pull request closed