X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fprojecttree%2Fmeltjob.cpp;h=1bc16c69370b272fc4f49fd6c64c02c50224ee54;hb=8e035c977776259f445bed1cbc688a17caba1d67;hp=5592607709d81d5c365a1343bf0d35c5e7ba3abc;hpb=2f1e393bc3268c563c31ccd1be999e021c0de14f;p=kdenlive diff --git a/src/projecttree/meltjob.cpp b/src/projecttree/meltjob.cpp index 55926077..1bc16c69 100644 --- a/src/projecttree/meltjob.cpp +++ b/src/projecttree/meltjob.cpp @@ -67,6 +67,7 @@ void MeltJob::startJob() return; } int in = m_params.takeFirst().toInt(); + if (in > 0 && !m_extra.contains("offset")) m_extra.insert("offset", QString::number(in)); int out = m_params.takeFirst().toInt(); QString producerParams =m_params.takeFirst(); QString filter = m_params.takeFirst(); @@ -97,11 +98,13 @@ void MeltJob::startJob() } if (out == -1) { prod = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); + m_length = prod->get_length(); } else { Mlt::Producer *tmp = new Mlt::Producer(*m_profile, m_url.toUtf8().constData()); prod = tmp->cut(in, out); delete tmp; + m_length = prod->get_playtime(); } if (m_extra.contains("producer_profile")) { m_profile->from_producer(*prod); @@ -150,7 +153,6 @@ void MeltJob::startJob() Mlt::Playlist playlist; playlist.append(*prod); tractor.set_track(playlist, 0); - m_length = prod->get_length(); m_consumer->connect(tractor); prod->set_speed(0); prod->seek(0);