QtlMovie 1.12 (A specialized FFmpeg front-end)
QtlMovieFFmpegProcess Class Reference

An execution of FFmpeg. More...

Inheritance diagram for QtlMovieFFmpegProcess:
QtlMovieProcess QtlMovieAction QtlLogger QtlMovieFFmpegVolumeDetect

Public Member Functions

 QtlMovieFFmpegProcess (const QStringList &ffmpegArguments, int inputDurationInSeconds, const QString &temporaryDirectory, const QtlMovieSettings *settings, QtlLogger *log, QObject *parent=0, QtlDataPull *dataPull=0)
 Constructor. More...
 
virtual bool start () Q_DECL_OVERRIDE
 Start the process. More...
 
- Public Member Functions inherited from QtlMovieProcess
 QtlMovieProcess (const QtlMovieExecFile *execFile, const QStringList &arguments, bool hasBinaryOutput, const QtlMovieSettings *settings, QtlLogger *log, QObject *parent=0, QtlDataPull *dataPull=0)
 Constructor. More...
 
virtual void abort () Q_DECL_OVERRIDE
 Abort process execution. More...
 
QStringList arguments () const
 Get the command line arguments. More...
 
const QtlMovieExecFileexecFile () const
 Get the command executable file. More...
 
QIODevice * outputDevice () const
 Return the device from which standard output can be read. More...
 
void setArguments (const QStringList &arguments)
 Set the command line arguments. More...
 
void setPriority (Qtl::ProcessPriority priority)
 Set the process priority. More...
 
bool useDataPullProgressReport (bool on)
 Use the progress report from the QtlDataPull when possible. More...
 
bool useDataPullProgressReport () const
 Check if progress report from the QtlDataPull is active. More...
 
- Public Member Functions inherited from QtlMovieAction
 QtlMovieAction (const QtlMovieSettings *settings, QtlLogger *log, QObject *parent=0)
 Constructor. More...
 
virtual ~QtlMovieAction ()
 Virtual destructor. More...
 
virtual void debug (const QString &line, const QColor &color=QColor()) Q_DECL_OVERRIDE
 Log a line of debug text. More...
 
QString description () const
 Get the description of the action. More...
 
int elapsedSeconds () const
 Get the number of seconds since the action started. More...
 
bool isCompleted () const
 Check if the action is completed. More...
 
bool isSilent () const
 Check if unimportant messages are skipped. More...
 
bool isStarted () const
 Check if the action was started (and possibly completed in the meantime). More...
 
virtual void line (const QString &line, const QColor &color=QColor()) Q_DECL_OVERRIDE
 Log a line of text. More...
 
void setDescription (const QString &description)
 Set the description of the action. More...
 
void setSilent (bool silent)
 Set if unimportant messages are skipped. More...
 
const QtlMovieSettingssettings () const
 Get the application settings. More...
 
virtual void text (const QString &text) Q_DECL_OVERRIDE
 Log text. More...
 

Protected Member Functions

virtual void processOutputLine (QProcess::ProcessChannel channel, const QString &line) Q_DECL_OVERRIDE
 Process one text line from standard error. More...
 
virtual void updateEnvironment (QProcessEnvironment &env) Q_DECL_OVERRIDE
 Update the QProcessEnvironment for the target process before it starts. More...
 
- Protected Member Functions inherited from QtlMovieProcess
QStringList getJobVariable (const QString &name) const
 Get the value of a variable in the job. More...
 
void setJobVariable (const QString &name, const QStringList &value)
 Store a variable in the parent job. More...
 
- Protected Member Functions inherited from QtlMovieAction
virtual void emitCompleted (bool success, const QString &message=QString())
 Emit the completed() signal. More...
 
virtual void emitProgress (int current, int maximum, int remainingSeconds=-1)
 Emit the progress() signal. More...
 

Private Member Functions

 QtlMovieFFmpegProcess () Q_DECL_EQ_DELETE
 
bool createFontConfig (const QString &templateFile, const QString &actualFile)
 Create the temporary fontconfig configuration file. More...
 

Private Attributes

int _inputDurationInSeconds
 Input file duration. More...
 
QString _tempDir
 Directory of temporary files. More...
 

Additional Inherited Members

- Signals inherited from QtlMovieProcess
void readyReadOutputData ()
 Emitted when some binary data are available from standard output. More...
 
- Signals inherited from QtlMovieAction
void completed (bool success)
 Emitted when the action completes. More...
 
void progress (const QString &description, int current, int maximum, int elapsedSeconds, int remainingSeconds)
 Emitted when some progress in the reporting is available. More...
 
void started ()
 Emitted when the action starts. More...
 

Detailed Description

An execution of FFmpeg.

Availability of standard output data is signaled by readyReadOutputData(). Standard output data can be read from outputDevice().

Standard error lines, except "progress report" ones, are logged. All "progress report" lines (starting with "frame=") are analyzed. The progress report is signaled by progress().

Constructor & Destructor Documentation

◆ QtlMovieFFmpegProcess() [1/2]

QtlMovieFFmpegProcess::QtlMovieFFmpegProcess ( const QStringList &  ffmpegArguments,
int  inputDurationInSeconds,
const QString &  temporaryDirectory,
const QtlMovieSettings settings,
QtlLogger log,
QObject *  parent = 0,
QtlDataPull dataPull = 0 
)

Constructor.

Parameters
[in]ffmpegArgumentsFFmpeg command line arguments.
[in]inputDurationInSecondsInput file play duration in seconds or zero if unknown. Used as a hint to indicate progress.
[in]temporaryDirectoryDirectory of temporary files.
[in]settingsApplication settings.
[in]logMessage logger.
[in]parentOptional parent object.
[in]dataPullIf non zero, used to feed the standard input of the process.

◆ QtlMovieFFmpegProcess() [2/2]

QtlMovieFFmpegProcess::QtlMovieFFmpegProcess ( )
private

Member Function Documentation

◆ start()

bool QtlMovieFFmpegProcess::start ( )
virtual

Start the process.

Returns
False if already started. True otherwise.

Reimplemented from QtlMovieProcess.

◆ processOutputLine()

void QtlMovieFFmpegProcess::processOutputLine ( QProcess::ProcessChannel  channel,
const QString &  line 
)
protectedvirtual

Process one text line from standard error.

Parameters
[in]channelOrigin of the line (QProcess::StandardOutput or QProcess::StandardError).
[in]lineText line.

Reimplemented from QtlMovieProcess.

Reimplemented in QtlMovieFFmpegVolumeDetect.

◆ updateEnvironment()

void QtlMovieFFmpegProcess::updateEnvironment ( QProcessEnvironment &  env)
protectedvirtual

Update the QProcessEnvironment for the target process before it starts.

Parameters
[in]envA set of environment variables to update.

Reimplemented from QtlMovieProcess.

◆ createFontConfig()

bool QtlMovieFFmpegProcess::createFontConfig ( const QString &  templateFile,
const QString &  actualFile 
)
private

Create the temporary fontconfig configuration file.

Parameters
[in]templateFileAbsolute path of template file.
[in]actualFileAbsolute path of actual file to create.
Returns
True on success, false on error.

Member Data Documentation

◆ _inputDurationInSeconds

int QtlMovieFFmpegProcess::_inputDurationInSeconds
private

Input file duration.

◆ _tempDir

QString QtlMovieFFmpegProcess::_tempDir
private

Directory of temporary files.


The documentation for this class was generated from the following files: