]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.h
Fix freeze when seeking with opengl display
[kdenlive] / src / renderer.h
index 87edd1925613153663ba005f7a0eb4dc41ee7ec5..f1ca980ce43f5420cd1622136deebafbe24d9cc6 100644 (file)
@@ -206,7 +206,7 @@ Q_OBJECT public:
     Mlt::Producer *checkSlowMotionProducer(Mlt::Producer *prod, QDomElement element);
     int mltInsertClip(ItemInfo info, QDomElement element, Mlt::Producer *prod, bool overwrite = false, bool push = false);
     bool mltUpdateClip(Mlt::Tractor *tractor, ItemInfo info, QDomElement element, Mlt::Producer *prod);
-    void mltCutClip(int track, GenTime position);
+    bool mltCutClip(int track, GenTime position);
     void mltInsertSpace(QMap <int, int> trackClipStartList, QMap <int, int> trackTransitionStartList, int track, const GenTime &duration, const GenTime &timeOffset);
     int mltGetSpaceLength(const GenTime &pos, int track, bool fromBlankStart);
 
@@ -215,7 +215,7 @@ Q_OBJECT public:
 
     bool mltResizeClipEnd(ItemInfo info, GenTime clipDuration);
     bool mltResizeClipStart(ItemInfo info, GenTime diff);
-    bool mltResizeClipCrop(ItemInfo info, GenTime diff);
+    bool mltResizeClipCrop(ItemInfo info, GenTime newCropStart);
     bool mltMoveClip(int startTrack, int endTrack, GenTime pos, GenTime moveStart, Mlt::Producer *prod, bool overwrite = false, bool insert = false);
     bool mltMoveClip(int startTrack, int endTrack, int pos, int moveStart, Mlt::Producer *prod, bool overwrite = false, bool insert = false);
     bool mltRemoveClip(int track, GenTime position);
@@ -318,6 +318,9 @@ Q_OBJECT public:
     /** @brief Fill a combobox with the found blackmagic devices */
     static bool getBlackMagicDeviceList(KComboBox *devicelist);
     static bool getBlackMagicOutputDeviceList(KComboBox *devicelist);
+    /** @brief Frame rendering is handeled by Kdenlive, don't show video through SDL display */
+    void disablePreview(bool disable);
+    int requestedSeekPosition;
 
 private:
 
@@ -390,6 +393,10 @@ private slots:
     void slotOsdTimeout();
     /** @brief Process the clip info requests (in a separate thread). */
     void processFileProperties();
+    /** @brief A clip with multiple video streams was found, ask what to do. */
+    void slotMultiStreamProducerFound(const QString path, QList<int> audio_list, QList<int> video_list, stringMap data);
+
+    void slotCheckSeeking();
 
 signals:
 
@@ -424,6 +431,8 @@ signals:
     void refreshDocumentProducers(bool displayRatioChanged, bool fpsChanged);
     /** @brief A proxy clip is missing, ask for creation. */
     void requestProxy(QString);
+    /** @brief A multiple stream clip was found. */
+    void multiStreamFound(const QString &,QList<int>,QList<int>,stringMap data);
 
 
     /** @brief A frame's image has to be shown.
@@ -431,6 +440,8 @@ signals:
      * Used in Mac OS X. */
     void showImageSignal(QImage);
     void showAudioSignal(const QByteArray &);
+    void addClip(const KUrl &, stringMap);
+    void checkSeeking();
 
 public slots: