]> git.sesse.net Git - kdenlive/commitdiff
Fix proxy clips with invalid length not correctly handled and reload clip breaking...
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 25 Apr 2011 16:24:00 +0000 (16:24 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 25 Apr 2011 16:24:00 +0000 (16:24 +0000)
svn path=/trunk/kdenlive/; revision=5554

src/renderer.cpp
src/renderer.h

index 68ed54592c38b6bba386bc3a5076ee89538d0655..9edc697aa1821c4e4dd3850a72ba85973b47650b 100644 (file)
@@ -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);
index e6ab0b8fc124082ba62f8f1c15c0a27b29702a2b..71ce4ef8e723b051f9f6f97354ff982c6cf105e2 100644 (file)
@@ -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);