dbus-soundrecorder/ffmpeglauncher.h

73 lines
1.7 KiB
C
Raw Normal View History

2015-08-25 19:53:54 +02:00
#ifndef FFMPEGLAUNCHER_H
#define FFMPEGLAUNCHER_H
2017-05-01 03:39:45 +02:00
#include <QDir>
2015-08-25 19:53:54 +02:00
#include <QObject>
#include <QProcess>
namespace DBusSoundRecorder {
class PlayerWatcher;
2017-05-01 03:39:45 +02:00
class FfmpegLauncher : public QObject {
2015-08-25 19:53:54 +02:00
Q_OBJECT
public:
explicit FfmpegLauncher(PlayerWatcher &watcher, QObject *parent = nullptr);
void setSink(const QString &sinkName);
void setFFmpegInputOptions(const QString &options);
void setFFmpegBinary(const QString &path);
void setFFmpegOptions(const QString &options);
2015-08-25 19:53:54 +02:00
void setTargetDir(const QString &path);
void setTargetExtension(const QString &extension);
2020-03-08 13:55:55 +01:00
private Q_SLOTS:
2015-08-25 19:53:54 +02:00
void nextSong();
void stopFfmpeg();
2015-08-25 19:53:54 +02:00
void ffmpegStarted();
void ffmpegError();
void ffmpegFinished(int exitCode);
private:
PlayerWatcher &m_watcher;
QString m_sink;
QStringList m_inputOptions;
2015-08-25 19:53:54 +02:00
QStringList m_options;
QDir m_targetDir;
QString m_targetExtension;
QProcess *m_ffmpeg;
};
inline void FfmpegLauncher::setSink(const QString &sinkName)
{
m_sink = sinkName;
}
inline void FfmpegLauncher::setFFmpegInputOptions(const QString &options)
{
2020-09-04 00:47:41 +02:00
m_inputOptions = options.split(QChar(' '), Qt::SkipEmptyParts);
}
inline void FfmpegLauncher::setFFmpegBinary(const QString &path)
2015-08-25 19:53:54 +02:00
{
m_ffmpeg->setProgram(path);
}
inline void FfmpegLauncher::setFFmpegOptions(const QString &options)
2015-08-25 19:53:54 +02:00
{
2020-09-04 00:47:41 +02:00
m_options = options.split(QChar(' '), Qt::SkipEmptyParts);
2015-08-25 19:53:54 +02:00
}
inline void FfmpegLauncher::setTargetDir(const QString &path)
{
m_targetDir = QDir(path);
}
inline void FfmpegLauncher::setTargetExtension(const QString &extension)
{
m_targetExtension = extension.startsWith(QChar('.')) ? extension : QStringLiteral(".") + extension;
}
2020-09-04 00:47:50 +02:00
} // namespace DBusSoundRecorder
2015-08-25 19:53:54 +02:00
#endif // FFMPEGLAUNCHER_H