X-Git-Url: https://git.sesse.net/?p=kdenlive;a=blobdiff_plain;f=renderer%2Fkdenlive_render.cpp;h=079420b120b42f37aabea8f59f1ed2a8c2324859;hp=056c2519740a45f412064207701524a9496740ec;hb=281a717b89dd5bfc6f3428b1d01195a103e98d63;hpb=f41770656c58ffc541441d04a3845cd1005fcdcf diff --git a/renderer/kdenlive_render.cpp b/renderer/kdenlive_render.cpp index 056c2519..079420b1 100644 --- a/renderer/kdenlive_render.cpp +++ b/renderer/kdenlive_render.cpp @@ -22,8 +22,7 @@ #include #include #include -#include - +#include #include "renderjob.h" int main(int argc, char **argv) @@ -69,8 +68,12 @@ int main(int argc, char **argv) QString profile = args.takeFirst(); QString rendermodule = args.takeFirst(); QString player = args.takeFirst(); - QUrl srcurl = QUrl::fromEncoded(args.takeFirst().toUtf8()); + QByteArray srcString = args.takeFirst().toUtf8(); + QUrl srcurl = QUrl::fromEncoded(srcString); QString src = srcurl.path(); + // The QUrl path() strips the consumer: protocol, so re-add it if necessary + if (srcString.startsWith("consumer:")) + src.prepend("consumer:"); QUrl desturl = QUrl::fromEncoded(args.takeFirst().toUtf8()); QString dest = desturl.path(); bool dualpass = false; @@ -96,6 +99,14 @@ int main(int argc, char **argv) args.removeAll("pass=1"); doerase = erase; } + + // Decode metadata + for (int i = 0; i < args.count(); ++i) { + if (args.at(i).startsWith("meta.attr")) { + QString data = args.at(i); + args.replace(i, data.section('=', 0, 0) + "=\"" + QUrl::fromPercentEncoding(data.section('=', 1).toUtf8()) + "\""); + } + } qDebug() << "//STARTING RENDERING: " << erase << "," << usekuiserver << "," << render << "," << profile << "," << rendermodule << "," << player << "," << src << "," << dest << "," << preargs << "," << args << "," << in << "," << out ; RenderJob *job = new RenderJob(doerase, usekuiserver, pid, render, profile, rendermodule, player, src, dest, preargs, args, in, out);