Do *not* try to check the MediaInfo in XML output, if we are using an "external" MediaInfo binary. In that case the expected MediaInfo version is UINT_MAX and the check would always fail.

This commit is contained in:
LoRd_MuldeR 2018-05-10 17:59:15 +02:00
parent 3141fc6b58
commit 47135b696a
2 changed files with 15 additions and 4 deletions

View File

@ -35,7 +35,7 @@
#define VER_LAMEXP_MINOR_LO 6 #define VER_LAMEXP_MINOR_LO 6
#define VER_LAMEXP_TYPE Final #define VER_LAMEXP_TYPE Final
#define VER_LAMEXP_PATCH 1 #define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 2134 #define VER_LAMEXP_BUILD 2137
#define VER_LAMEXP_CONFG 2134 #define VER_LAMEXP_CONFG 2134
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////

View File

@ -377,10 +377,21 @@ const AudioFileModel& AnalyzeTask::parseMediaInfo(const QByteArray &data, AudioF
qWarning("Invalid library identiofier property: \"%s\"", MUTILS_UTF8(identifier)); qWarning("Invalid library identiofier property: \"%s\"", MUTILS_UTF8(identifier));
return audioFile; return audioFile;
} }
const quint32 mediaInfoVer = (m_mediaInfoVer > 9999U) ? m_mediaInfoVer / 10U : m_mediaInfoVer; if (!versionLib.isEmpty())
if (versionLib.isEmpty() || (!checkVersionStr(versionLib, mediaInfoVer / 100U, mediaInfoVer % 100U)))
{ {
qWarning("Invalid library version property: \"%s\"", MUTILS_UTF8(versionLib)); if (m_mediaInfoVer != UINT_MAX)
{
const quint32 mediaInfoVer = (m_mediaInfoVer > 9999U) ? m_mediaInfoVer / 10U : m_mediaInfoVer;
if (!checkVersionStr(versionLib, mediaInfoVer / 100U, mediaInfoVer % 100U))
{
qWarning("Invalid library version property: \"%s\"", MUTILS_UTF8(versionLib));
return audioFile;
}
}
}
else
{
qWarning("Library version property not found!");
return audioFile; return audioFile;
} }
while (findNextElement(QLatin1String("Media"), xmlStream)) while (findNextElement(QLatin1String("Media"), xmlStream))