File indexing completed on 2024-04-14 04:46:39

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 &params, 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 &params, 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 };