Skip to content

Commit

Permalink
Merge pull request #158 from glpzzz/qt6
Browse files Browse the repository at this point in the history
Qt6
  • Loading branch information
lfdominguez authored Jun 12, 2024
2 parents d3494c2 + cb12683 commit 8f7ae00
Show file tree
Hide file tree
Showing 25 changed files with 484 additions and 1,433 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mystiq.pro.user
build/
18 changes: 11 additions & 7 deletions converter/audiofilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ AudioFilter::AudioFilter(QObject *parent) :
QSet<QString> muxing, demuxing;
FFmpegInterface::getSupportedMuxingFormats(muxing);
FFmpegInterface::getSupportedDemuxingFormats(demuxing);
m_useSoxFormat = muxing.contains("sox") && demuxing.contains("sox");
m_useSoxFormat = muxing.contains(QString::fromLatin1("sox"))
&& demuxing.contains(QString::fromLatin1("sox"));
}

bool AudioFilter::start(ConversionParameters& params, QProcess *dest)
Expand All @@ -81,21 +82,24 @@ bool AudioFilter::start(ConversionParameters& params, QProcess *dest)
}

// ffmpeg process settings
ffmpeg_param << "-i" << params.source << "-vn" << "-f" << fmt << "-";
ffmpeg_param << QString::fromLatin1("-i") << params.source << QString::fromLatin1("-vn")
<< QString::fromLatin1("-f") << QString::fromLatin1(fmt)
<< QString::fromLatin1("-");
m_extractAudioProc->setStandardOutputProcess(m_soxProc);

// sox process settings
sox_param << "-t" << fmt << "-" << "-t" << fmt << "-";
sox_param << QString::fromLatin1("-t") << QString::fromLatin1(fmt) << QString::fromLatin1("-")
<< QString::fromLatin1("-t") << QString::fromLatin1(fmt) << QString::fromLatin1("-");
if (params.speed_scaling) {
sox_param << "tempo" << QString::number(params.speed_scaling_factor);
sox_param << QString::fromLatin1("tempo") << QString::number(params.speed_scaling_factor);
}
m_soxProc->setStandardOutputProcess(dest);

qDebug() << "ffmpeg" << ffmpeg_param;
qDebug() << "sox" << sox_param;
// start the two processes
m_extractAudioProc->start(ExePath::getPath("ffmpeg"), ffmpeg_param);
m_soxProc->start(ExePath::getPath("sox"), sox_param);
m_extractAudioProc->start(ExePath::getPath(QString::fromLatin1("ffmpeg")), ffmpeg_param);
m_soxProc->start(ExePath::getPath(QString::fromLatin1("sox")), sox_param);

return m_extractAudioProc->waitForStarted(TIMEOUT)
&& m_soxProc->waitForStarted(TIMEOUT);
Expand All @@ -104,6 +108,6 @@ bool AudioFilter::start(ConversionParameters& params, QProcess *dest)
bool AudioFilter::available()
{
QProcess sox_process;
sox_process.start(ExePath::getPath("sox"), QStringList());
sox_process.start(ExePath::getPath(QString::fromLatin1("sox")), QStringList());
return sox_process.waitForStarted(TIMEOUT);
}
19 changes: 10 additions & 9 deletions converter/conversionparameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ int parseFFmpegArguments(QStringList& args, int index, ConversionParameters& res
#define CHECK_OPTION_2_METHOD(argument, property, convertmethod) \
else if (arg == argument) do { \
QString nextarg = args[index+1]; \
nextarg.replace(QRegExp("[a-z]"), ""); /* remove units */ \
nextarg.replace(QRegularExpression("[a-z]"), ""); /* remove units */ \
result.property = nextarg.convertmethod(); \
used_arg_count = 2; } while (0)

Expand Down Expand Up @@ -112,17 +112,18 @@ int parseFFmpegArguments(QStringList& args, int index, ConversionParameters& res

// width and height are in the same parameter (for example: "-s 800x600")
CHECK_OPTION("-s") {
QRegExp pattern("([0-9]+)x([0-9]+)");
if (pattern.indexIn(args[index+1]) != -1) {
result.video_width = pattern.cap(1).toInt();
result.video_height = pattern.cap(2).toInt();
QRegularExpression pattern(QString::fromLatin1("([0-9]+)x([0-9]+)"));
QRegularExpressionMatch match = pattern.match(args[index+1]);
if (match.hasMatch()) {
result.video_width = match.captured(1).toInt();
result.video_height = match.captured(2).toInt();
used_arg_count = 2;
}
}

CHECK_OPTION("-filter:v")
{
QRegularExpression pattern("crop=(\\d+):(\\d+):(\\d+):(\\d+)");
QRegularExpression pattern(QString::fromLatin1("crop=(\\d+):(\\d+):(\\d+):(\\d+)"));
QRegularExpressionMatch match = pattern.match(args[index + 1]);

if (match.hasMatch())
Expand Down Expand Up @@ -172,7 +173,7 @@ ConversionParameters
ConversionParameters::fromFFmpegParameters(const QString &params_str)
{
ConversionParameters result;
QStringList args = params_str.split(" ", QString::SkipEmptyParts);
QStringList args = params_str.split(QString::fromLatin1(" "), Qt::SkipEmptyParts);

for (int i=0; i<args.size();) {
int used_arg_count = parseFFmpegArguments(args, i, result);
Expand All @@ -185,13 +186,13 @@ ConversionParameters::fromFFmpegParameters(const QString &params_str)
}
}

result.ffmpeg_options = args.join(" "); // unrecognized arguments
result.ffmpeg_options = args.join(QString::fromLatin1(" ")); // unrecognized arguments

return result;
}

ConversionParameters
ConversionParameters::fromFFmpegParameters(const char *params_str)
{
return fromFFmpegParameters(QString(params_str));
return fromFFmpegParameters(QString::fromLatin1(params_str));
}
11 changes: 7 additions & 4 deletions converter/exepath.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,13 @@ QString ExePath::getPath(QString program)
if (program_path.contains(program))
return program_path[program];
else
Q_ASSERT_X(false, "ExePath::getPath"
, QString("Program path of '%1' has not been set.")
.arg(program).toStdString().c_str());
return "";
Q_ASSERT_X(false,
"ExePath::getPath",
QString::fromLatin1("Program path of '%1' has not been set.")
.arg(program)
.toStdString()
.c_str());
return QString::fromLatin1("");
}

bool ExePath::checkProgramAvailability(QString program)
Expand Down
Loading

0 comments on commit 8f7ae00

Please sign in to comment.