Some improvements to x264 version check. In particular, some "patched" builds with *broken* string should now produce the correct error message.
This commit is contained in:
parent
7a09181ad2
commit
7524549739
@ -47,6 +47,7 @@ s_parameters[] =
|
||||
MAKE_ARG( "no-force-enqueue", 0, CLI_PARAM_NO_FORCE_ENQUEUE ),
|
||||
MAKE_ARG( "skip-avisynth-check", 0, CLI_PARAM_SKIP_AVS_CHECK ),
|
||||
MAKE_ARG( "skip-vapoursynth-check", 0, CLI_PARAM_SKIP_VPS_CHECK ),
|
||||
MAKE_ARG( "skip-version-checks", 0, CLI_PARAM_SKIP_VERSION_CHECK ),
|
||||
MAKE_ARG( "no-deadlock-detection", 0, CLI_PARAM_NO_DEADLOCK ),
|
||||
MAKE_ARG( "no-style", 0, CLI_PARAM_NO_GUI_STYLE ),
|
||||
MAKE_ARG( "first-run", 0, CLI_PARAM_FIRST_RUN ),
|
||||
|
@ -35,7 +35,7 @@ static const int CLI_PARAM_FORCE_ENQUEUE = 4;
|
||||
static const int CLI_PARAM_NO_FORCE_ENQUEUE = 5;
|
||||
static const int CLI_PARAM_SKIP_AVS_CHECK = 6;
|
||||
static const int CLI_PARAM_SKIP_VPS_CHECK = 7;
|
||||
static const int CLI_PARAM_SKIP_X264_CHECK = 8;
|
||||
static const int CLI_PARAM_SKIP_VERSION_CHECK = 8;
|
||||
static const int CLI_PARAM_NO_DEADLOCK = 9;
|
||||
static const int CLI_PARAM_NO_GUI_STYLE = 10;
|
||||
static const int CLI_PARAM_FIRST_RUN = 11;
|
||||
|
@ -206,8 +206,8 @@ const QString &X264Encoder::getName(void)
|
||||
void X264Encoder::checkVersion_init(QList<QRegExp*> &patterns, QStringList &cmdLine)
|
||||
{
|
||||
cmdLine << "--version";
|
||||
patterns << new QRegExp("\\bx264\\s(\\d)\\.(\\d+)\\.(\\d+)\\s([a-f0-9]{7})", Qt::CaseInsensitive);
|
||||
patterns << new QRegExp("\\bx264 (\\d)\\.(\\d+)\\.(\\d+)", Qt::CaseInsensitive);
|
||||
patterns << new QRegExp("\\bx264\\s+(\\d)\\.(\\d+)\\.(\\d+)\\s+([a-f0-9]{7})", Qt::CaseInsensitive);
|
||||
patterns << new QRegExp("\\bx264\\s+(\\d)\\.(\\d+)\\.(\\d+)", Qt::CaseInsensitive);
|
||||
}
|
||||
|
||||
void X264Encoder::checkVersion_parseLine(const QString &line, QList<QRegExp*> &patterns, unsigned int &core, unsigned int &build, bool &modified)
|
||||
@ -219,7 +219,7 @@ void X264Encoder::checkVersion_parseLine(const QString &line, QList<QRegExp*> &p
|
||||
bool ok1 = false, ok2 = false;
|
||||
unsigned int temp1 = patterns[0]->cap(2).toUInt(&ok1);
|
||||
unsigned int temp2 = patterns[0]->cap(3).toUInt(&ok2);
|
||||
if(ok1 && ok2)
|
||||
if(ok1 && ok2 && (temp1 > 0) && (temp2 > 0))
|
||||
{
|
||||
core = temp1;
|
||||
build = temp2;
|
||||
@ -230,7 +230,7 @@ void X264Encoder::checkVersion_parseLine(const QString &line, QList<QRegExp*> &p
|
||||
bool ok1 = false, ok2 = false;
|
||||
unsigned int temp1 = patterns[1]->cap(2).toUInt(&ok1);
|
||||
unsigned int temp2 = patterns[1]->cap(3).toUInt(&ok2);
|
||||
if(ok1 && ok2)
|
||||
if(ok1 && ok2 && (temp1 > 0) && (temp2 > 0))
|
||||
{
|
||||
core = temp1;
|
||||
build = temp2;
|
||||
|
@ -62,7 +62,7 @@ unsigned int AbstractTool::checkVersion(bool &modified)
|
||||
if(m_preferences->getSkipVersionTest())
|
||||
{
|
||||
log("Warning: Skipping the version check this time!");
|
||||
return makeRevision(9999, 9999);
|
||||
return makeRevision(0xFFF0, 0xFFF0);
|
||||
}
|
||||
|
||||
QProcess process;
|
||||
|
@ -25,8 +25,8 @@
|
||||
|
||||
#define VER_X264_MAJOR 2
|
||||
#define VER_X264_MINOR 4
|
||||
#define VER_X264_PATCH 4
|
||||
#define VER_X264_BUILD 896
|
||||
#define VER_X264_PATCH 5
|
||||
#define VER_X264_BUILD 900
|
||||
|
||||
#define VER_X264_PORTABLE_EDITION (0)
|
||||
|
||||
|
@ -869,9 +869,9 @@ void MainWindow::init(void)
|
||||
}
|
||||
|
||||
//Skip version check (not recommended!)
|
||||
if(CLIParser::checkFlag(CLI_PARAM_SKIP_X264_CHECK, arguments))
|
||||
if(CLIParser::checkFlag(CLI_PARAM_SKIP_VERSION_CHECK, arguments))
|
||||
{
|
||||
qWarning("x264 version check disabled, you have been warned!\n");
|
||||
qWarning("Version checks are disabled now, you have been warned!\n");
|
||||
m_preferences->setSkipVersionTest(true);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user