summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJøger Hansegård <joger.hansegard@qt.io>2024-04-01 15:44:05 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-04-02 02:14:54 +0000
commit4f178eda0958f5f4b0fda1266f73cbe90cd4f0c4 (patch)
tree368129fdf952fdd37332468b3f9c4d41a0f7e1f0
parent1c42e3958830f826b33aba89d187b185a2df294e (diff)
Rename FFmpeg Encoder class to RecordingEngine
This better describes what the class is. Task-number: QTBUG-121792 Pick-to: 6.5 Change-Id: I98469296f9724ac50e9b19ec804d690ffde68816 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> (cherry picked from commit b8feb024a270e70d7193380a330c074209ac0f0d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit fce1e3905fa31360584134b3e1ba28289a892ccf)
-rw-r--r--src/plugins/multimedia/ffmpeg/CMakeLists.txt4
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp12
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegmediarecorder_p.h8
-rw-r--r--src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp (renamed from src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoder.cpp)36
-rw-r--r--src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine_p.h (renamed from src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoder_p.h)24
5 files changed, 42 insertions, 42 deletions
diff --git a/src/plugins/multimedia/ffmpeg/CMakeLists.txt b/src/plugins/multimedia/ffmpeg/CMakeLists.txt
index 463a9af42..e0d5576cb 100644
--- a/src/plugins/multimedia/ffmpeg/CMakeLists.txt
+++ b/src/plugins/multimedia/ffmpeg/CMakeLists.txt
@@ -56,10 +56,10 @@ qt_internal_add_plugin(QFFmpegMediaPlugin
recordingengine/qffmpegaudioencoderutils_p.h
recordingengine/qffmpegaudioencoderutils.cpp
- recordingengine/qffmpegencoder_p.h
- recordingengine/qffmpegencoder.cpp
recordingengine/qffmpegencoderoptions_p.h
recordingengine/qffmpegencoderoptions.cpp
+ recordingengine/qffmpegrecordingengine_p.h
+ recordingengine/qffmpegrecordingengine.cpp
recordingengine/qffmpegvideoencoderutils_p.h
recordingengine/qffmpegvideoencoderutils.cpp
recordingengine/qffmpegvideoframeencoder_p.h
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp
index 6f75f3982..fafa6cf45 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp
@@ -9,7 +9,7 @@
#include "qaudiosource.h"
#include "qffmpegaudioinput_p.h"
#include "qaudiobuffer.h"
-#include "recordingengine/qffmpegencoder_p.h"
+#include "recordingengine/qffmpegrecordingengine_p.h"
#include "qffmpegmediacapturesession_p.h"
#include <qdebug.h>
@@ -66,13 +66,13 @@ void QFFmpegMediaRecorder::record(QMediaEncoderSettings &settings)
return;
}
- m_encoder.reset(new Encoder(settings, std::move(formatContext)));
+ m_encoder.reset(new RecordingEngine(settings, std::move(formatContext)));
m_encoder->setMetaData(m_metaData);
- connect(m_encoder.get(), &QFFmpeg::Encoder::durationChanged, this,
+ connect(m_encoder.get(), &QFFmpeg::RecordingEngine::durationChanged, this,
&QFFmpegMediaRecorder::newDuration);
- connect(m_encoder.get(), &QFFmpeg::Encoder::finalizationDone, this,
+ connect(m_encoder.get(), &QFFmpeg::RecordingEngine::finalizationDone, this,
&QFFmpegMediaRecorder::finalizationDone);
- connect(m_encoder.get(), &QFFmpeg::Encoder::error, this,
+ connect(m_encoder.get(), &QFFmpeg::RecordingEngine::error, this,
&QFFmpegMediaRecorder::handleSessionError);
auto *audioInput = m_session->audioInput();
@@ -158,7 +158,7 @@ void QFFmpegMediaRecorder::setCaptureSession(QFFmpegMediaCaptureSession *session
return;
}
-void QFFmpegMediaRecorder::EncoderDeleter::operator()(Encoder *encoder) const
+void QFFmpegMediaRecorder::EncoderDeleter::operator()(RecordingEngine *encoder) const
{
// ### all of the below should be done asynchronous. finalize() should do it's work in a thread
// to avoid blocking the UI in case of slow codecs
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder_p.h b/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder_p.h
index c8e2ffd6a..3a3bbcf5c 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder_p.h
@@ -26,7 +26,7 @@ class QMediaMetaData;
class QFFmpegMediaCaptureSession;
namespace QFFmpeg {
-class Encoder;
+class RecordingEngine;
}
class QFFmpegMediaRecorder : public QObject, public QPlatformMediaRecorder
@@ -54,16 +54,16 @@ private Q_SLOTS:
void handleSessionError(QMediaRecorder::Error code, const QString &description);
private:
- using Encoder = QFFmpeg::Encoder;
+ using RecordingEngine = QFFmpeg::RecordingEngine;
struct EncoderDeleter
{
- void operator()(Encoder *) const;
+ void operator()(RecordingEngine *) const;
};
QFFmpegMediaCaptureSession *m_session = nullptr;
QMediaMetaData m_metaData;
- std::unique_ptr<Encoder, EncoderDeleter> m_encoder;
+ std::unique_ptr<RecordingEngine, EncoderDeleter> m_encoder;
};
QT_END_NAMESPACE
diff --git a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoder.cpp b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp
index 1e0c13495..d1d0b2ba4 100644
--- a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoder.cpp
+++ b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine.cpp
@@ -1,6 +1,6 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#include "qffmpegencoder_p.h"
+#include "qffmpegrecordingengine_p.h"
#include "qffmpegmediaformatinfo_p.h"
#include "qffmpegvideoframeencoder_p.h"
#include "private/qmultimediautils_p.h"
@@ -46,7 +46,7 @@ T dequeueIfPossible(std::queue<T> &queue)
} // namespace
-Encoder::Encoder(const QMediaEncoderSettings &settings,
+RecordingEngine::RecordingEngine(const QMediaEncoderSettings &settings,
std::unique_ptr<EncodingFormatContext> context)
: m_settings(settings), m_formatContext(std::move(context)), m_muxer(new Muxer(this))
{
@@ -54,11 +54,11 @@ Encoder::Encoder(const QMediaEncoderSettings &settings,
Q_ASSERT(m_formatContext->isAVIOOpen());
}
-Encoder::~Encoder()
+RecordingEngine::~RecordingEngine()
{
}
-void Encoder::addAudioInput(QFFmpegAudioInput *input)
+void RecordingEngine::addAudioInput(QFFmpegAudioInput *input)
{
m_audioEncoder = new AudioEncoder(this, input, m_settings);
addMediaFrameHandler(input, &QFFmpegAudioInput::newAudioBuffer, m_audioEncoder,
@@ -66,7 +66,7 @@ void Encoder::addAudioInput(QFFmpegAudioInput *input)
input->setRunning(true);
}
-void Encoder::addVideoSource(QPlatformVideoSource * source)
+void RecordingEngine::addVideoSource(QPlatformVideoSource * source)
{
auto frameFormat = source->frameFormat();
@@ -98,9 +98,9 @@ void Encoder::addVideoSource(QPlatformVideoSource * source)
m_videoEncoders.append(ve);
}
-void Encoder::start()
+void RecordingEngine::start()
{
- qCDebug(qLcFFmpegEncoder) << "Encoder::start!";
+ qCDebug(qLcFFmpegEncoder) << "RecordingEngine::start!";
avFormatContext()->metadata = QFFmpegMetaData::toAVMetaData(m_metaData);
@@ -125,7 +125,7 @@ void Encoder::start()
videoEncoder->start();
}
-EncodingFinalizer::EncodingFinalizer(Encoder *e) : m_encoder(e)
+EncodingFinalizer::EncodingFinalizer(RecordingEngine *e) : m_encoder(e)
{
connect(this, &QThread::finished, this, &QObject::deleteLater);
}
@@ -157,7 +157,7 @@ void EncodingFinalizer::run()
delete m_encoder;
}
-void Encoder::finalize()
+void RecordingEngine::finalize()
{
qCDebug(qLcFFmpegEncoder) << ">>>>>>>>>>>>>>> finalize";
@@ -168,7 +168,7 @@ void Encoder::finalize()
finalizer->start();
}
-void Encoder::setPaused(bool p)
+void RecordingEngine::setPaused(bool p)
{
if (m_audioEncoder)
m_audioEncoder->setPaused(p);
@@ -176,12 +176,12 @@ void Encoder::setPaused(bool p)
videoEncoder->setPaused(p);
}
-void Encoder::setMetaData(const QMediaMetaData &metaData)
+void RecordingEngine::setMetaData(const QMediaMetaData &metaData)
{
m_metaData = metaData;
}
-void Encoder::newTimeStamp(qint64 time)
+void RecordingEngine::newTimeStamp(qint64 time)
{
QMutexLocker locker(&m_timeMutex);
if (time > m_timeRecorded) {
@@ -191,13 +191,13 @@ void Encoder::newTimeStamp(qint64 time)
}
template<typename... Args>
-void Encoder::addMediaFrameHandler(Args &&...args)
+void RecordingEngine::addMediaFrameHandler(Args &&...args)
{
auto connection = connect(std::forward<Args>(args)..., Qt::DirectConnection);
m_connections.append(connection);
}
-Muxer::Muxer(Encoder *encoder) : m_encoder(encoder)
+Muxer::Muxer(RecordingEngine *encoder) : m_encoder(encoder)
{
setObjectName(QLatin1String("Muxer"));
}
@@ -244,7 +244,7 @@ void Muxer::processOne()
av_interleaved_write_frame(m_encoder->avFormatContext(), packet.release());
}
-AudioEncoder::AudioEncoder(Encoder *encoder, QFFmpegAudioInput *input,
+AudioEncoder::AudioEncoder(RecordingEngine *encoder, QFFmpegAudioInput *input,
const QMediaEncoderSettings &settings)
: EncoderThread(encoder), m_input(input), m_settings(settings)
{
@@ -442,7 +442,7 @@ void AudioEncoder::processOne()
}
}
-VideoEncoder::VideoEncoder(Encoder *encoder, const QMediaEncoderSettings &settings,
+VideoEncoder::VideoEncoder(RecordingEngine *encoder, const QMediaEncoderSettings &settings,
const QVideoFrameFormat &format, std::optional<AVPixelFormat> hwFormat)
: EncoderThread(encoder)
{
@@ -479,7 +479,7 @@ void VideoEncoder::addFrame(const QVideoFrame &frame)
const bool queueFull = m_videoFrameQueue.size() >= m_maxQueueSize;
if (queueFull) {
- qCDebug(qLcFFmpegEncoder) << "Encoder frame queue full. Frame lost.";
+ qCDebug(qLcFFmpegEncoder) << "RecordingEngine frame queue full. Frame lost.";
} else if (!m_paused.loadRelaxed()) {
m_videoFrameQueue.push(frame);
@@ -613,4 +613,4 @@ void VideoEncoder::processOne()
QT_END_NAMESPACE
-#include "moc_qffmpegencoder_p.cpp"
+#include "moc_qffmpegrecordingengine_p.cpp"
diff --git a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoder_p.h b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine_p.h
index 69cc3ad0f..aafee5b67 100644
--- a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegencoder_p.h
+++ b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegrecordingengine_p.h
@@ -38,7 +38,7 @@ class QPlatformVideoSource;
namespace QFFmpeg
{
-class Encoder;
+class RecordingEngine;
class Muxer;
class AudioEncoder;
class VideoEncoder;
@@ -47,20 +47,20 @@ class VideoFrameEncoder;
class EncodingFinalizer : public QThread
{
public:
- EncodingFinalizer(Encoder *e);
+ EncodingFinalizer(RecordingEngine *e);
void run() override;
private:
- Encoder *m_encoder = nullptr;
+ RecordingEngine *m_encoder = nullptr;
};
-class Encoder : public QObject
+class RecordingEngine : public QObject
{
Q_OBJECT
public:
- Encoder(const QMediaEncoderSettings &settings, std::unique_ptr<EncodingFormatContext> context);
- ~Encoder();
+ RecordingEngine(const QMediaEncoderSettings &settings, std::unique_ptr<EncodingFormatContext> context);
+ ~RecordingEngine();
void addAudioInput(QFFmpegAudioInput *input);
void addVideoSource(QPlatformVideoSource *source);
@@ -112,7 +112,7 @@ private:
class Muxer : public ConsumerThread
{
public:
- Muxer(Encoder *encoder);
+ Muxer(RecordingEngine *encoder);
void addPacket(AVPacketUPtr packet);
@@ -128,24 +128,24 @@ private:
mutable QMutex m_queueMutex;
std::queue<AVPacketUPtr> m_packetQueue;
- Encoder *m_encoder;
+ RecordingEngine *m_encoder;
};
class EncoderThread : public ConsumerThread
{
public:
- EncoderThread(Encoder *encoder) : m_encoder(encoder) { }
+ EncoderThread(RecordingEngine *encoder) : m_encoder(encoder) { }
virtual void setPaused(bool b) { m_paused.storeRelease(b); }
protected:
QAtomicInteger<bool> m_paused = false;
- Encoder *m_encoder = nullptr;
+ RecordingEngine *m_encoder = nullptr;
};
class AudioEncoder : public EncoderThread
{
public:
- AudioEncoder(Encoder *encoder, QFFmpegAudioInput *input, const QMediaEncoderSettings &settings);
+ AudioEncoder(RecordingEngine *encoder, QFFmpegAudioInput *input, const QMediaEncoderSettings &settings);
void open();
void addBuffer(const QAudioBuffer &buffer);
@@ -179,7 +179,7 @@ private:
class VideoEncoder : public EncoderThread
{
public:
- VideoEncoder(Encoder *encoder, const QMediaEncoderSettings &settings,
+ VideoEncoder(RecordingEngine *encoder, const QMediaEncoderSettings &settings,
const QVideoFrameFormat &format, std::optional<AVPixelFormat> hwFormat);
~VideoEncoder() override;