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 };