Commit c6f581eb authored by Till Theato's avatar Till Theato

Revert commit 5845. The consumer producer does not automatically get invoked.

svn path=/trunk/kdenlive/; revision=5846
parent 2553030e
This diff is collapsed.
...@@ -72,7 +72,10 @@ RenderJob::RenderJob(bool erase, bool usekuiserver, const QString& renderer, con ...@@ -72,7 +72,10 @@ RenderJob::RenderJob(bool erase, bool usekuiserver, const QString& renderer, con
m_args << preargs; m_args << preargs;
//qDebug()<<"PRE ARGS: "<<preargs; //qDebug()<<"PRE ARGS: "<<preargs;
m_args << "-profile" << profile; if (scenelist.startsWith("consumer:")) {
// Use MLT's producer_consumer, needs a different syntax for profile:
m_args << "profile=" + profile;
} else m_args << "-profile" << profile;
m_args << "-consumer" << rendermodule + ':' + m_dest << "progress=1" << args; m_args << "-consumer" << rendermodule + ':' + m_dest << "progress=1" << args;
m_dualpass = false; m_dualpass = false;
......
...@@ -791,6 +791,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const ...@@ -791,6 +791,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const
// Add current size parameter // Add current size parameter
renderArgs.append(subsize); renderArgs.append(subsize);
} }
bool resizeProfile = (subsize != currentSize);
QStringList paramsList = renderArgs.split(" ", QString::SkipEmptyParts); QStringList paramsList = renderArgs.split(" ", QString::SkipEmptyParts);
QScriptEngine sEngine; QScriptEngine sEngine;
...@@ -801,6 +802,10 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const ...@@ -801,6 +802,10 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const
for (int i = 0; i < paramsList.count(); ++i) { for (int i = 0; i < paramsList.count(); ++i) {
QString paramName = paramsList.at(i).section('=', 0, 0); QString paramName = paramsList.at(i).section('=', 0, 0);
QString paramValue = paramsList.at(i).section('=', 1, 1); QString paramValue = paramsList.at(i).section('=', 1, 1);
// If the profiles do not match we need to use the consumer tag
if (paramName == "mlt_profile=" && paramValue != m_profile.path) {
resizeProfile = true;
}
// evaluate expression // evaluate expression
if (paramValue.startsWith('%')) { if (paramValue.startsWith('%')) {
paramValue = sEngine.evaluate(paramValue.remove(0, 1)).toString(); paramValue = sEngine.evaluate(paramValue.remove(0, 1)).toString();
...@@ -809,7 +814,10 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const ...@@ -809,7 +814,10 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const
sEngine.globalObject().setProperty(paramName.toUtf8().constData(), paramValue); sEngine.globalObject().setProperty(paramName.toUtf8().constData(), paramValue);
} }
render_process_args << (scriptExport ? "$SOURCE" : playlistPath); if (resizeProfile)
render_process_args << "consumer:" + (scriptExport ? "$SOURCE" : playlistPath);
else
render_process_args << (scriptExport ? "$SOURCE" : playlistPath);
render_process_args << (scriptExport ? "$TARGET" : KUrl(dest).url()); render_process_args << (scriptExport ? "$TARGET" : KUrl(dest).url());
render_process_args << paramsList; render_process_args << paramsList;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment