item->setData(1, Qt::UserRole, i18n("Required for webcam capture"));
item->setSizeHint(0, itemSize);
QString exepath = KStandardDirs::findExe("ffmpeg");
- if (exepath.isEmpty()) item->setIcon(0, m_badIcon);
- else if (KStandardDirs::findExe("ffplay").isEmpty()) item->setIcon(0, m_badIcon);
- else item->setIcon(0, m_okIcon);
+ QString playpath = KStandardDirs::findExe("ffplay");
+ item->setIcon(0, m_okIcon);
+ if (exepath.isEmpty()) {
+ // Check for libav version
+ exepath = KStandardDirs::findExe("avconv");
+ if (exepath.isEmpty()) item->setIcon(0, m_badIcon);
+ }
+ if (playpath.isEmpty()) {
+ // Check for libav version
+ playpath = KStandardDirs::findExe("avplay");
+ if (playpath.isEmpty()) item->setIcon(0, m_badIcon);
+ }
+ if (!exepath.isEmpty()) KdenliveSettings::setFfmpegpath(exepath);
+ if (!playpath.isEmpty()) KdenliveSettings::setFfplaypath(playpath);
#ifndef Q_WS_MAC
item = new QTreeWidgetItem(m_check.programList, QStringList() << QString() << i18n("recordmydesktop"));
QString mimefile = baseName;
mimefile.replace('/', '-');
KMimeType::Ptr mime = KMimeType::mimeType(baseName);
+ QStringList missingGlobs;
+ foreach(const QString & glob, globs) {
+ KMimeType::Ptr type = KMimeType::findByPath(glob, 0, true);
+ QString mimeName = type->name();
+ if (!mimeName.contains("audio") && !mimeName.contains("video")) missingGlobs << glob;
+ }
+ if (missingGlobs.isEmpty()) return;
if (!mime) {
kDebug() << "KMimeTypeTrader: mimeType " << baseName << " not found";
} else {
QStringList extensions = mime->patterns();
QString comment = mime->comment();
- foreach(const QString & glob, globs) {
+ foreach(const QString & glob, missingGlobs) {
if (!extensions.contains(glob)) extensions << glob;
}
kDebug() << "EXTS: " << extensions;
{
if (m_extra.installmimes->isChecked()) {
QStringList globs;
- globs << "*.mts" << "*.m2t" << "*.mod" << "*.ts" << "*.m2ts";
+
+ globs << "*.mts" << "*.m2t" << "*.mod" << "*.ts" << "*.m2ts" << "*.m2v";
installExtraMimes("video/mpeg", globs);
globs.clear();
globs << "*.dv";