- fileinfo.seconds = 0;
- fileinfo.fps = 0;
-
- m_rand = new KRandomSequence(QDateTime::currentDateTime().toTime_t());
- m_inigoprocess = new QProcess();
- KUrl furl(path);
- kDebug(DBG_AREA) << "videopreview: url=" << furl << "; local:" << furl.isLocalFile() << endl;
- fileinfo.towidth = width;
- fileinfo.toheight = width * 3 / 4;
- QImage pix;
-// if(furl.isLocalFile())
-// {
- QStringList args;
- //TODO: modify inigo so that it can return some infos about a westley clip (duration, track number,fps,...)
- // without actually playing the file
- /*
- args << playerBin << QString("\"" + path + "\"") << "-file-info";
-
- kDebug(DBG_AREA) << "videopreview: starting process: --_" << " " << args.join(" ") << "_--\n";
- if (! startAndWaitProcess(args) ) return NULL;
-
- QString information=QString(inigoprocess->readAllStandardOutput() );
- QRegExp findInfos("ID_VIDEO_FPS=([\\d]*).*ID_LENGTH=([\\d]*).*");
- if(findInfos.indexIn( information) == -1 )
- {
- kDebug(DBG_AREA) << "videopreview: No information found, exiting\n";
- return NULL;
- }
- fileinfo.seconds =findInfos.cap(2).toInt();
- fileinfo.fps=findInfos.cap(1).toInt();
- */
- fileinfo.seconds = 250;
- fileinfo.fps = 25;
-
- const int LASTTRY = 3;
- for (int i = 0; i <= LASTTRY; i++) {
- pix = getFrame(path);
- if (!pix.isNull()) {
- uint variance = imageVariance(pix);
- kDebug(DBG_AREA) << "videopreview: " << QFileInfo(path).fileName() << " frame variance: " << variance << "; " <<
- ((variance <= 40 && (i != LASTTRY - 1)) ? "!!!DROPPING!!!" : "GOOD :-)") << endl;
- if (variance > 40 || i == LASTTRY - 1) break;
- }
- }
- if (pix.isNull()) {
- return false;