From 193e14dd6e4c0be842951f43641a82aa81768d2e Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Mon, 25 Apr 2011 16:24:00 +0000 Subject: [PATCH] Fix proxy clips with invalid length not correctly handled and reload clip breaking slowmotion clips svn path=/trunk/kdenlive/; revision=5554 --- src/renderer.cpp | 4 +++- src/renderer.h | 8 -------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/renderer.cpp b/src/renderer.cpp index 68ed5459..9edc697a 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -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()) { // Proxy file length is different than original clip length, this will corrupt project so disable this proxy clip emit removeInvalidProxy(clipId, true); + delete producer; + return; } if (xml.hasAttribute("force_aspect_ratio")) { @@ -1645,7 +1647,7 @@ Mlt::Producer *Render::checkSlowMotionProducer(Mlt::Producer *prod, QDomElement if (strobe > 1) url.append("&strobe=" + QString::number(strobe)); Mlt::Producer *slowprod = m_slowmotionProducers.value(url); 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); QString id = prod->get("id"); if (id.contains('_')) id = id.section('_', 0, 0); diff --git a/src/renderer.h b/src/renderer.h index e6ab0b8f..71ce4ef8 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -343,14 +343,6 @@ signals: /** @brief The renderer started rendering. */ 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. */ void error(const QString &, const QString &); void durationChanged(int); -- 2.39.2