Browser refuses a copy that needs ffmpeg when ffmpeg is missing #18
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
wokoman/ironpod!18
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/tui-refuse-copy-without-ffmpeg"
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?
The browser refuses a copy that cannot possibly succeed, instead of starting it and failing file by file.
Mark a folder of FLACs on a machine without ffmpeg and press
c, and the copy began, converted nothing, and reported every file as failed. The command line never behaved that way — it checked up front and refused before opening the device. The rule and its message now live in the copy module, so the check exists once and neither front end can forget it or word it differently.The command line keeps its short-circuiting
any, and the browser passes the count it already computes while drawing the confirmation, so nothing reads tags twice.Verified against the real device with ffmpeg removed from
PATH:expectat a real terminal size, marking the FLAC and pressingcputs the refusal in the status line and no confirmation popup appears at all, so the copy never starts. Nothing was written to the device.The unit test can only assert the half that does not depend on the machine — that nothing needing conversion is never refused, and that the other arm agrees with whether ffmpeg is actually present. Forcing the absent-ffmpeg branch in-process is not possible: the probe is cached in a
OnceLockfor the life of the process. That is what thePATH-stripped runs above are for.66 unit tests pass,
cargo clippy --all-targetsclean.Closes #6.