if ((!replaceProducer && xml.hasAttribute("file_hash")) || xml.hasAttribute("proxy")) {
// Clip already has all properties
+ if (replaceProducer) emit blockClipMonitor(clipId);
emit replyGetFileProperties(clipId, producer, QMap < QString, QString >(), QMap < QString, QString >(), replaceProducer, selectClip);
return;
}
metadataPropertyMap[ name.section('.', 0, -2)] = value;
}
producer->seek(0);
+ if (replaceProducer) emit blockClipMonitor(clipId);
emit replyGetFileProperties(clipId, producer, filePropertyMap, metadataPropertyMap, replaceProducer, selectClip);
// FIXME: should delete this to avoid a leak...
//delete producer;
if (m_winid == -1) return -1;
if (m_mltConsumer) {
- m_mltConsumer->stop();
- } else return -1;
+ if (!m_mltConsumer->is_stopped()) {
+ m_mltConsumer->stop();
+ }
+ m_mltConsumer->set("refresh", 0);
+ }
+ else return -1;
- m_mltConsumer->purge();
m_isBlocked = true;
if (m_mltProducer) {
m_mltProducer->set_speed(0);
m_mltProducer = NULL;
emit stopped();
}
+ blockSignals(true);
if (producer) {
m_mltProducer = new Mlt::Producer(producer->get_producer());
} else m_mltProducer = m_blackClip->cut(0, 50);
int volume = KdenliveSettings::volume();
m_mltProducer->set("meta.volume", (double)volume / 100);
m_fps = m_mltProducer->get_fps();
+ blockSignals(false);
int error = connectPlaylist();
if (position != -1) {