diff options
author | Jøger Hansegård <joger.hansegard@qt.io> | 2024-04-01 15:44:05 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-04-02 02:14:54 +0000 |
commit | 4f178eda0958f5f4b0fda1266f73cbe90cd4f0c4 (patch) | |
tree | 368129fdf952fdd37332468b3f9c4d41a0f7e1f0 | |
parent | 1c42e3958830f826b33aba89d187b185a2df294e (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.txt | 4 | ||||
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp | 12 | ||||
-rw-r--r-- | src/plugins/multimedia/ffmpeg/qffmpegmediarecorder_p.h | 8 | ||||
-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; |