]> git.sesse.net Git - kdenlive/blobdiff - src/docclipbase.cpp
svn path=/trunk/kdenlive/; revision=3242
[kdenlive] / src / docclipbase.cpp
index 9b6f09d3eb929c764b4576035a29d12aa46aea10..e7edc03e8dff879e932bfc926bab92408ad94fd3 100644 (file)
 #include <QCryptographicHash>
 
 DocClipBase::DocClipBase(ClipManager *clipManager, QDomElement xml, const QString &id) :
-        audioFrameChache(QMap<int, QMap<int, QByteArray> > ()),
-        m_description(QString()),
+        QObject(),
+        audioFrameChache(),
+        m_description(),
         m_refcount(0),
-        m_baseTrackProducers(QList <Mlt::Producer *>()),
-        m_audioTrackProducers(QList <Mlt::Producer *>()),
+        m_baseTrackProducers(),
+        m_audioTrackProducers(),
         m_videoOnlyProducer(NULL),
-        m_snapMarkers(QList < CommentedTime > ()),
-        m_duration(GenTime()),
+        m_snapMarkers(),
+        m_duration(),
         m_audioTimer(NULL),
         m_thumbProd(NULL),
         m_audioThumbCreated(false),
         m_id(id),
-        m_properties(QMap <QString, QString> ())
+        m_properties()
 {
     int type = xml.attribute("type").toInt();
     m_clipType = (CLIPTYPE) type;
@@ -99,6 +100,10 @@ DocClipBase::~DocClipBase()
     }
     qDeleteAll(m_baseTrackProducers);
     m_baseTrackProducers.clear();
+    qDeleteAll(m_audioTrackProducers);
+    m_audioTrackProducers.clear();
+    if (m_videoOnlyProducer) delete m_videoOnlyProducer;
+    m_videoOnlyProducer = NULL;
 }
 
 void DocClipBase::setZone(QPoint zone)
@@ -405,6 +410,10 @@ void DocClipBase::deleteProducers()
     qDeleteAll(m_baseTrackProducers);
     m_baseTrackProducers.clear();
     if (m_thumbProd) m_thumbProd->clearProducer();
+    qDeleteAll(m_audioTrackProducers);
+    m_audioTrackProducers.clear();
+    if (m_videoOnlyProducer) delete m_videoOnlyProducer;
+    m_videoOnlyProducer = NULL;
 }
 
 void DocClipBase::setProducer(Mlt::Producer *producer)