#include <QtConcurrentRun>
#include <QVarLengthArray>
-KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QString &hash, QObject * parent, const char */*name*/) :
+KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QString &hash, QObject * parent) :
QObject(parent),
m_url(url),
m_thumbFile(),
KThumb::~KThumb()
{
if (m_producer) m_clipManager->stopThumbs(m_id);
+ m_producer = NULL;
m_intraFramesQueue.clear();
m_intra.waitForFinished();
}
emit thumbReady(frame, img);
}
-QPixmap KThumb::extractImage(int frame, int width, int height)
+QImage KThumb::extractImage(int frame, int width, int height)
{
if (m_producer == NULL) {
- QPixmap p(width, height);
- p.fill(Qt::black);
- return p;
+ QImage img(width, height, QImage::Format_ARGB32_Premultiplied);
+ img.fill(Qt::black);
+ return img;
}
- QImage img = getProducerFrame(frame, (int) (height * m_ratio + 0.5), width, height);
- return QPixmap::fromImage(img);
+ return getProducerFrame(frame, (int) (height * m_ratio + 0.5), width, height);
}
//static
const int theight = KdenliveSettings::trackheight();
const int frameWidth = (int)(theight * m_ratio + 0.5);
const int displayWidth = (int)(theight * m_dar + 0.5);
- QString path = m_url.path() + "_";
+ QString path = m_url.path() + '_';
bool addedThumbs = false;
while (!m_intraFramesQueue.isEmpty()) {