]> git.sesse.net Git - kdenlive/blobdiff - src/docclipbase.cpp
Try to fix the concurrency issues causing crash in the avformat producer
[kdenlive] / src / docclipbase.cpp
index 171392ddff4db9d22cb753cc8b9338a6b4feb587..68ab905615a158ca3161aaaab618ad7166913b8e 100644 (file)
@@ -624,6 +624,25 @@ Mlt::Producer *DocClipBase::videoProducer()
     return m_videoOnlyProducer;
 }
 
+Mlt::Producer *DocClipBase::getCloneProducer(Mlt::Producer *source)
+{
+    QMutexLocker locker(&m_producerMutex);
+    if (source == NULL) {
+        for (int i = 0; i < m_baseTrackProducers.count(); i++) {
+            if (m_baseTrackProducers.at(i) != NULL) {
+                source = m_baseTrackProducers.at(i);
+                break;
+            }
+        }
+    }
+    if (source) {
+        Mlt::Producer *prod = cloneProducer(source);
+        adjustProducerProperties(prod, getId() + "_monitor", false, false);
+        return prod;
+    }
+    return NULL;
+}
+
 Mlt::Producer *DocClipBase::getProducer(int track)
 {
     QMutexLocker locker(&m_producerMutex);