File indexing completed on 2024-05-19 04:55:08
0001 /* 0002 SPDX-FileCopyrightText: 2013-2016 Meltytech LLC 0003 SPDX-FileCopyrightText: Dan Dennedy <dan@dennedy.org> 0004 0005 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 */ 0007 0008 #pragma once 0009 0010 #include <KImageCache> 0011 #include <QCache> 0012 #include <QQuickImageProvider> 0013 #include <memory> 0014 #include <mlt++/MltProducer.h> 0015 #include <mlt++/MltProfile.h> 0016 0017 class ThumbnailProvider : public QQuickImageProvider 0018 { 0019 public: 0020 explicit ThumbnailProvider(); 0021 ~ThumbnailProvider() override; 0022 QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override; 0023 0024 private: 0025 Mlt::Profile m_profile; 0026 QImage makeThumbnail(std::unique_ptr<Mlt::Producer> producer, int frameNumber, const QSize &requestedSize); 0027 };