Commit 193e14dd authored by Jean-Baptiste Mardelle's avatar Jean-Baptiste Mardelle
Browse files

Fix proxy clips with invalid length not correctly handled and reload clip breaking slowmotion clips

svn path=/trunk/kdenlive/; revision=5554
parent 12b5cd68
...@@ -610,6 +610,8 @@ void Render::getFileProperties(const QDomElement xml, const QString &clipId, int ...@@ -610,6 +610,8 @@ void Render::getFileProperties(const QDomElement xml, const QString &clipId, int
if (proxyProducer && xml.hasAttribute("proxy_out") && producer->get_out() != xml.attribute("proxy_out").toInt()) { if (proxyProducer && xml.hasAttribute("proxy_out") && producer->get_out() != xml.attribute("proxy_out").toInt()) {
// Proxy file length is different than original clip length, this will corrupt project so disable this proxy clip // Proxy file length is different than original clip length, this will corrupt project so disable this proxy clip
emit removeInvalidProxy(clipId, true); emit removeInvalidProxy(clipId, true);
delete producer;
return;
} }
if (xml.hasAttribute("force_aspect_ratio")) { if (xml.hasAttribute("force_aspect_ratio")) {
...@@ -1645,7 +1647,7 @@ Mlt::Producer *Render::checkSlowMotionProducer(Mlt::Producer *prod, QDomElement ...@@ -1645,7 +1647,7 @@ Mlt::Producer *Render::checkSlowMotionProducer(Mlt::Producer *prod, QDomElement
if (strobe > 1) url.append("&strobe=" + QString::number(strobe)); if (strobe > 1) url.append("&strobe=" + QString::number(strobe));
Mlt::Producer *slowprod = m_slowmotionProducers.value(url); Mlt::Producer *slowprod = m_slowmotionProducers.value(url);
if (!slowprod || slowprod->get_producer() == NULL) { if (!slowprod || slowprod->get_producer() == NULL) {
slowprod = new Mlt::Producer(*m_mltProfile, "framebuffer", url.toUtf8().constData()); slowprod = new Mlt::Producer(*m_mltProfile, 0, ("framebuffer:" + url).toUtf8().constData());
if (strobe > 1) slowprod->set("strobe", strobe); if (strobe > 1) slowprod->set("strobe", strobe);
QString id = prod->get("id"); QString id = prod->get("id");
if (id.contains('_')) id = id.section('_', 0, 0); if (id.contains('_')) id = id.section('_', 0, 0);
......
...@@ -343,14 +343,6 @@ signals: ...@@ -343,14 +343,6 @@ signals:
/** @brief The renderer started rendering. */ /** @brief The renderer started rendering. */
void rendering(const GenTime &); void rendering(const GenTime &);
/** @brief The rendering has finished.
@see consumer_frame_show
This signal seems to be useless; use renderPosition(int) instead --Granjow */
void renderFinished();
/* @brief The current seek position has been changed by the renderer.
void positionChanged(const GenTime &);*/
/** @brief An error occurred within this renderer. */ /** @brief An error occurred within this renderer. */
void error(const QString &, const QString &); void error(const QString &, const QString &);
void durationChanged(int); void durationChanged(int);
......
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