diff --git a/mythtv/programs/mythbackend/services/content.cpp b/mythtv/programs/mythbackend/services/content.cpp index 61e64c911a6..8e85fe69b5e 100644 --- a/mythtv/programs/mythbackend/services/content.cpp +++ b/mythtv/programs/mythbackend/services/content.cpp @@ -396,8 +396,8 @@ QFileInfo Content::GetAlbumArt( int nId, int nWidth, int nHeight ) QFileInfo Content::GetPreviewImage( int nChanId, const QDateTime &dtStartTime, - int nWidth, - int nHeight, + int nWidth, + int nHeight, int nSecsIn ) { if (!dtStartTime.isValid()) @@ -524,13 +524,19 @@ QFileInfo Content::GetPreviewImage( int nChanId, return QFileInfo( sNewFileName ); } - QImage img = pImage->scaled( nWidth, nHeight, Qt::IgnoreAspectRatio, - Qt::SmoothTransformation); + PreviewGenerator *previewgen = new PreviewGenerator( &pginfo, + QString(), + PreviewGenerator::kLocal); + previewgen->SetPreviewTimeAsSeconds( nSecsIn ); + previewgen->SetOutputFilename ( sNewFileName ); + previewgen->SetOutputSize (QSize(nWidth,nHeight)); - QByteArray fname = sNewFileName.toAscii(); - img.save( fname.constData(), "PNG" ); + bool ok = previewgen->Run(); + + previewgen->deleteLater(); - makeFileAccessible(fname.constData()); + if (!ok) + return QFileInfo(); delete pImage;