File indexing completed on 2024-12-01 04:28:37
0001 /* 0002 SPDX-FileCopyrightText: 2021 Jean-Baptiste Mardelle <jb@kdenlive.org> 0003 0004 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 #pragma once 0008 0009 #include "abstracttask.h" 0010 0011 class QProcess; 0012 0013 class TranscodeTask : public AbstractTask 0014 { 0015 public: 0016 TranscodeTask(const ObjectId &owner, const QString &suffix, const QString &preParams, const QString ¶ms, int in, int out, bool replaceProducer, QObject* object, bool checkProfile); 0017 static void start(const ObjectId &owner, const QString &suffix, const QString &preParams, const QString ¶ms, int in, int out, bool replaceProducer, QObject* object, bool force = false, bool checkProfile = false); 0018 0019 protected: 0020 void run() override; 0021 0022 private Q_SLOTS: 0023 void processLogInfo(); 0024 0025 private: 0026 int m_jobDuration; 0027 bool m_isFfmpegJob; 0028 QString m_suffix; 0029 QString m_transcodeParams; 0030 QString m_transcodePreParams; 0031 bool m_replaceProducer; 0032 int m_inPoint; 0033 int m_outPoint; 0034 bool m_checkProfile; 0035 std::unique_ptr<QProcess> m_jobProcess; 0036 QString m_errorMessage; 0037 QString m_logDetails; 0038 };