]> git.sesse.net Git - kdenlive/commitdiff
Merge branch 'master' of git://anongit.kde.org/kdenlive
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 30 Dec 2012 14:46:01 +0000 (15:46 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 30 Dec 2012 14:46:01 +0000 (15:46 +0100)
src/clipmanager.cpp
src/recmonitor.cpp
src/renderer.cpp

index 8eea860b1c9135bf09fbf2550b6119faba421e9c..83e348490129ff16e46672b9fda7c5d0eb3628fd 100644 (file)
@@ -264,12 +264,14 @@ void ClipManager::slotGetAudioThumbs()
         if (hash.isEmpty()) continue;
         QString audioPath = projectFolder() + "/thumbs/" + hash + ".thumb";
         double lengthInFrames = clip->duration().frames(m_doc->fps());
-       int frequency = 48000;
-       int channels = 2;
+       int frequency = 0;
+       int channels = 0;
        QString data = clip->getProperty("frequency");
        if (!data.isEmpty()) frequency = data.toInt();
+       if (frequency <= 0) frequency = 48000;
        data = clip->getProperty("channels");
        if (!data.isEmpty()) channels = data.toInt();
+       if (channels <= 0) channels = 2;
        int arrayWidth = 20;
         double frame = 0.0;
        int maxVolume = 0;
index 3530422514ab60bd096fd3d20b2f1ebd61cad682..6f5de9ec66852c7e1f84b6942c92d8a3597b1919 100644 (file)
@@ -386,6 +386,7 @@ void RecMonitor::slotStopCapture()
     if (!m_isCapturing && !m_isPlaying) return;
     videoBox->setHidden(true);
     control_frame->setEnabled(true);
+    slotActivateMonitor();
     switch (device_selector->currentIndex()) {
     case FIREWIRE:
         m_captureProcess->write("\e", 2);
@@ -597,7 +598,7 @@ void RecMonitor::slotRecord()
 
         switch (device_selector->currentIndex()) {
         case VIDEO4LINUX:
-            slotActivateMonitor();
+            if (rec_video->isChecked()) slotActivateMonitor();
             path = KStandardDirs::locateLocal("appdata", "profiles/video4linux");
             profile = ProfilesDialog::getVideoProfile(path);
             //m_videoBox->setRatio((double) profile.display_aspect_num / profile.display_aspect_den);
index 6ba456ff1c4daa3048e00fa812cb384db3dbce4b..64ed4da90437d0c0c8a2d818282215390b359875 100644 (file)
@@ -990,8 +990,8 @@ void Render::processFileProperties()
            // keep for compatibility with MLT <= 0.8.6
            if (af == 0) af = frame->get_int("frequency");
            if (ac == 0) ac = frame->get_int("channels");
-            filePropertyMap["frequency"] = QString::number(af);
-            filePropertyMap["channels"] = QString::number(ac);
+            if (af > 0) filePropertyMap["frequency"] = QString::number(af);
+            if (ac > 0) filePropertyMap["channels"] = QString::number(ac);
             if (!filePropertyMap.contains("aspect_ratio")) filePropertyMap["aspect_ratio"] = frame->get("aspect_ratio");
 
             if (frame->get_int("test_image") == 0) {
@@ -1562,8 +1562,9 @@ void Render::stop()
     m_refreshTimer.stop();
     QMutexLocker locker(&m_mutex);
     if (m_mltProducer == NULL) return;
-    if (m_mltConsumer && !m_mltConsumer->is_stopped()) {
-        m_mltConsumer->stop();
+    if (m_mltConsumer) {
+       m_mltConsumer->set("refresh", 0);
+        if (!m_mltConsumer->is_stopped()) m_mltConsumer->stop();
         m_mltConsumer->purge();
     }