]> git.sesse.net Git - kdenlive/blobdiff - src/docclipbase.cpp
Fix bitrate broken when editing profile or making it a favorite:
[kdenlive] / src / docclipbase.cpp
index 609f717485d78258bf1a0406662c2fc57fb70994..fc45161ae6ab79b8f804c23846154644532c920b 100644 (file)
@@ -209,7 +209,7 @@ bool DocClipBase::isTransparent() const
     return (m_properties.value("transparency") == "1");
 }
 
-const QString DocClipBase::getProperty(const QString prop) const
+const QString DocClipBase::getProperty(const QString &prop) const
 {
     return m_properties.value(prop);
 }
@@ -431,9 +431,9 @@ void DocClipBase::setValid()
 
 void DocClipBase::setProducer(Mlt::Producer *producer, bool reset, bool readPropertiesFromProducer)
 {
-    if (producer == NULL || !producer->is_valid()) return;
+    if (producer == NULL) return;
     if (reset) QMutexLocker locker(&m_producerMutex);
-    if (m_placeHolder) {
+    if (m_placeHolder || !producer->is_valid()) {
         char *tmp = qstrdup(i18n("Missing clip").toUtf8().constData());
         producer->set("markup", tmp);
         producer->set("bgcolour", "0xff0000ff");
@@ -619,7 +619,7 @@ Mlt::Producer *DocClipBase::producer(int track)
 Mlt::Producer *DocClipBase::cloneProducer(Mlt::Producer *source)
 {
     Mlt::Producer *result = NULL;
-    QString url = source->get("resource");
+    QString url = QString::fromUtf8(source->get("resource"));
     if (KIO::NetAccess::exists(KUrl(url), KIO::NetAccess::SourceSide, 0)) {
         char *tmp = qstrdup(url.toUtf8().constData());
         result = new Mlt::Producer(*source->profile(), tmp);
@@ -637,6 +637,7 @@ Mlt::Producer *DocClipBase::cloneProducer(Mlt::Producer *source)
             result->set("bgcolour", "0xff0000ff");
             result->set("pad", "10");
         }
+        return result;
     }
     Mlt::Properties props(result->get_properties());
     Mlt::Properties src_props(source->get_properties());
@@ -869,7 +870,7 @@ void DocClipBase::clearProperty(const QString &key)
     m_properties.remove(key);
 }
 
-void DocClipBase::getFileHash(const QString url)
+void DocClipBase::getFileHash(const QString &url)
 {
     if (m_clipType == SLIDESHOW) return;
     QFile file(url);