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_TYPE Final
#define VER_LAMEXP_PATCH 1
#define VER_LAMEXP_BUILD 2134
#define VER_LAMEXP_BUILD 2137
#define VER_LAMEXP_CONFG 2134
///////////////////////////////////////////////////////////////////////////////

View File

@ -377,12 +377,23 @@ const AudioFileModel& AnalyzeTask::parseMediaInfo(const QByteArray &data, AudioF
qWarning("Invalid library identiofier property: \"%s\"", MUTILS_UTF8(identifier));
return audioFile;
}
if (!versionLib.isEmpty())
{
if (m_mediaInfoVer != UINT_MAX)
{
const quint32 mediaInfoVer = (m_mediaInfoVer > 9999U) ? m_mediaInfoVer / 10U : m_mediaInfoVer;
if (versionLib.isEmpty() || (!checkVersionStr(versionLib, mediaInfoVer / 100U, mediaInfoVer % 100U)))
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;
}
while (findNextElement(QLatin1String("Media"), xmlStream))
{
if (firstMediaFile || audioFile.techInfo().containerType().isEmpty() || audioFile.techInfo().audioType().isEmpty())