feat: add vaapi path for video wallpapers on generic gpus
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
class QProcess;
|
||||
|
||||
namespace ZShell::wallpaper {
|
||||
|
||||
class VideoTranscoder : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit VideoTranscoder(QObject* parent = nullptr);
|
||||
|
||||
[[nodiscard]] QString cacheDir() const;
|
||||
[[nodiscard]] QString transcodeTarget(const QString& path) const;
|
||||
[[nodiscard]] bool needsTranscode(const QString& path) const;
|
||||
|
||||
void start(const QString& src, const QString& dst);
|
||||
|
||||
static bool isHardwareCodec(const QString& codec);
|
||||
|
||||
signals:
|
||||
void transcoded(const QString& dst, bool ok);
|
||||
|
||||
private:
|
||||
[[nodiscard]] QString codecName(const QString& path) const;
|
||||
|
||||
QProcess* m_process = nullptr;
|
||||
};
|
||||
|
||||
} // namespace ZShell::wallpaper
|
||||
Reference in New Issue
Block a user