]> git.sesse.net Git - kdenlive/blobdiff - src/clipmanager.cpp
Fix freeze on reloading a missing clip, don't reload twice missing clips that were...
[kdenlive] / src / clipmanager.cpp
index af4522a6cdeb76c9dfc48d460195e920ee85a7ea..ed7cbb0f403b6c5f4593b59232e3238718ba2b26 100644 (file)
@@ -54,7 +54,9 @@ ClipManager::ClipManager(KdenliveDoc *doc) :
     m_modifiedTimer.setInterval(1500);
     connect(&m_fileWatcher, SIGNAL(dirty(const QString &)), this, SLOT(slotClipModified(const QString &)));
     connect(&m_fileWatcher, SIGNAL(deleted(const QString &)), this, SLOT(slotClipMissing(const QString &)));
-    connect(&m_fileWatcher, SIGNAL(created(const QString &)), this, SLOT(slotClipAvailable(const QString &)));
+
+    // Seems like a dirty signal is emitted anyways when a watched file is created, so don't react twice.
+    //connect(&m_fileWatcher, SIGNAL(created(const QString &)), this, SLOT(slotClipAvailable(const QString &)));
     connect(&m_modifiedTimer, SIGNAL(timeout()), this, SLOT(slotProcessModifiedClips()));
 
 #if KDE_IS_VERSION(4,5,0)
@@ -305,7 +307,7 @@ void ClipManager::slotGetAudioThumbs()
             producer.seek(z);
             mlt_frame = producer.get_frame();
             if (mlt_frame && mlt_frame->is_valid()) {
-                int samples = mlt_sample_calculator(framesPerSecond, frequency, mlt_frame_get_position(mlt_frame->get_frame()));
+                int samples = mlt_sample_calculator(framesPerSecond, frequency, mlt_frame->get_position());
                 qint16* pcm = static_cast<qint16*>(mlt_frame->get_audio(audioFormat, frequency, channels, samples));
                 for (int c = 0; c < channels; c++) {
                     QByteArray audioArray;