+ if (i >= m_baseTrackProducers.count()) return NULL;
+ m_videoOnlyProducer = new Mlt::Producer(*m_baseTrackProducers.at(i)->profile(), m_baseTrackProducers.at(i)->get("resource"));
+ if (m_properties.contains("force_aspect_ratio")) m_videoOnlyProducer->set("force_aspect_ratio", m_properties.value("force_aspect_ratio").toDouble());
+ if (m_properties.contains("threads")) m_videoOnlyProducer->set("threads", m_properties.value("threads").toInt());
+ m_videoOnlyProducer->set("audio_index", -1);
+ if (m_properties.contains("video_index")) m_videoOnlyProducer->set("video_index", m_properties.value("video_index").toInt());
+ char *tmp = (char *) qstrdup(QString(getId() + "_video").toUtf8().data());
+ m_videoOnlyProducer->set("id", tmp);
+ delete[] tmp;
+ }
+ return m_videoOnlyProducer;
+}
+
+Mlt::Producer *DocClipBase::producer(int track)
+{
+ /*for (int i = 0; i < m_baseTrackProducers.count(); i++) {
+ if (m_baseTrackProducers.at(i)) kDebug() << "// PROD: " << i << ", ID: " << m_baseTrackProducers.at(i)->get("id");
+ }*/
+ if (track == -1 || (m_clipType != AUDIO && m_clipType != AV)) {
+ if (m_baseTrackProducers.count() == 0) return NULL;
+ for (int i = 0; i < m_baseTrackProducers.count(); i++) {
+ if (m_baseTrackProducers.at(i) != NULL)
+ return m_baseTrackProducers.at(i);
+ }