mltframework / shotcut

cross-platform (Qt), open-source (GPLv3) video editor
https://www.shotcut.org
GNU General Public License v3.0
10.84k stars 1.12k forks source link

Export fails to work with symlinked files #1524

Closed wavexx closed 6 months ago

wavexx commented 6 months ago

Using Shotcut 24.03.01 from debian unstable.

Try the following:

Now load the same symlink as a playlist, even twice:

ddennedy commented 6 months ago

Reproduced and log shows [Error ] <MltXmlChecker::checkUnlinkedFile> file not found: "/tmp/link.mp4" even though /tmp is not my working directory. A workaround is supply the full path to the input files as command line arguments. Most users are not using the command line arguments and do not suffer this. This happens because the directory for the temporary XML file export generates is in /tmp. Basically, the Qt function QFileInfo::exists() we use is given a relative path, and checks the temp file's location instead of the working directory. But also melt will have a problem because it treats relative paths as relative to the document location. Overall, this bug is unrelated to whether the file is real or a symlink. It is also unrelated to whether you add anything to the timeline.