summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Dyomin <artem.dyomin@qt.io>2023-03-22 14:47:39 +0100
committerArtem Dyomin <artem.dyomin@qt.io>2023-03-22 22:17:42 +0100
commitcd1fdbfe2ccbb9f44749fcdeecd65f34deeb29fc (patch)
tree2773e0483a85a2aed2f8b5749cd637e73862b172
parenta757c89932cc5e09c2c22367b278e46880ec9357 (diff)
Implement the base video source class for camera and screen capturing
QPlatformVideoSource becomes the base of QPlatformCamera and QPlatformScreenCapture The advantage is using the single video source interface in the encoder instead of defferent ones. Pick-to: 6.5 Change-Id: Ic8bab3258dbe3efe851330d9a0e0461266dc64c9 Reviewed-by: Lars Knoll <lars@knoll.priv.no> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r--src/multimedia/CMakeLists.txt1
-rw-r--r--src/multimedia/platform/qplatformcamera.cpp4
-rw-r--r--src/multimedia/platform/qplatformcamera_p.h16
-rw-r--r--src/multimedia/platform/qplatformscreencapture.cpp9
-rw-r--r--src/multimedia/platform/qplatformscreencapture_p.h22
-rw-r--r--src/multimedia/platform/qplatformvideosource.cpp15
-rw-r--r--src/multimedia/platform/qplatformvideosource_p.h49
-rw-r--r--src/plugins/multimedia/ffmpeg/qavfscreencapture.mm2
-rw-r--r--src/plugins/multimedia/ffmpeg/qavfscreencapture_p.h2
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp55
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegencoder_p.h15
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp4
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture.cpp2
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp2
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi_p.h2
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture_p.h2
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp.cpp2
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp_p.h2
-rw-r--r--src/plugins/multimedia/ffmpeg/qx11screencapture.cpp2
-rw-r--r--src/plugins/multimedia/ffmpeg/qx11screencapture_p.h2
-rw-r--r--tests/auto/unit/mockbackend/qmockscreencapture.h2
21 files changed, 114 insertions, 98 deletions
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
index d46d7832b..1bb443d11 100644
--- a/src/multimedia/CMakeLists.txt
+++ b/src/multimedia/CMakeLists.txt
@@ -39,6 +39,7 @@ qt_internal_add_module(Multimedia
platform/qplatformaudioinput_p.h
platform/qplatformaudiooutput_p.h
platform/qplatformcamera.cpp platform/qplatformcamera_p.h
+ platform/qplatformvideosource.cpp platform/qplatformvideosource_p.h
platform/qplatformscreencapture.cpp platform/qplatformscreencapture_p.h
platform/qplatformimagecapture.cpp platform/qplatformimagecapture_p.h
platform/qplatformmediacapture.cpp platform/qplatformmediacapture_p.h
diff --git a/src/multimedia/platform/qplatformcamera.cpp b/src/multimedia/platform/qplatformcamera.cpp
index 74a114ca9..77f1a327a 100644
--- a/src/multimedia/platform/qplatformcamera.cpp
+++ b/src/multimedia/platform/qplatformcamera.cpp
@@ -5,9 +5,7 @@
QT_BEGIN_NAMESPACE
-QPlatformCamera::QPlatformCamera(QCamera *parent)
- : QObject(parent),
- m_camera(parent)
+QPlatformCamera::QPlatformCamera(QCamera *parent) : QPlatformVideoSource(parent), m_camera(parent)
{
qRegisterMetaType<QVideoFrame>();
}
diff --git a/src/multimedia/platform/qplatformcamera_p.h b/src/multimedia/platform/qplatformcamera_p.h
index 555adeef5..c920c4424 100644
--- a/src/multimedia/platform/qplatformcamera_p.h
+++ b/src/multimedia/platform/qplatformcamera_p.h
@@ -15,23 +15,17 @@
// We mean it.
//
-#include <QtCore/qobject.h>
-#include <QtMultimedia/qtmultimediaglobal.h>
+#include "qplatformvideosource_p.h"
#include <QtMultimedia/qcamera.h>
-#include <QtMultimedia/qvideoframeformat.h>
-#include <QtCore/private/qglobal_p.h>
QT_BEGIN_NAMESPACE
-class Q_MULTIMEDIA_EXPORT QPlatformCamera : public QObject
+class Q_MULTIMEDIA_EXPORT QPlatformCamera : public QPlatformVideoSource
{
Q_OBJECT
public:
- virtual bool isActive() const = 0;
- virtual void setActive(bool active) = 0;
-
virtual void setCamera(const QCameraDevice &camera) = 0;
virtual bool setCameraFormat(const QCameraFormat &/*format*/) { return false; }
QCameraFormat cameraFormat() const { return m_cameraFormat; }
@@ -67,7 +61,7 @@ public:
virtual void setWhiteBalanceMode(QCamera::WhiteBalanceMode /*mode*/) {}
virtual void setColorTemperature(int /*temperature*/) {}
- QVideoFrameFormat frameFormat() const;
+ QVideoFrameFormat frameFormat() const override;
QCamera::Features supportedFeatures() const { return m_supportedFeatures; }
@@ -118,13 +112,9 @@ public:
static int colorTemperatureForWhiteBalance(QCamera::WhiteBalanceMode mode);
- // Can't use FFmpeg specific struct here, use void * for now.
- virtual std::optional<int> ffmpegHWPixelFormat() const { return {}; }
-
Q_SIGNALS:
void activeChanged(bool);
void error(int error, const QString &errorString);
- void newVideoFrame(const QVideoFrame &); // only used by FFmpeg
protected:
explicit QPlatformCamera(QCamera *parent);
diff --git a/src/multimedia/platform/qplatformscreencapture.cpp b/src/multimedia/platform/qplatformscreencapture.cpp
index 67140f23d..de7f74d9d 100644
--- a/src/multimedia/platform/qplatformscreencapture.cpp
+++ b/src/multimedia/platform/qplatformscreencapture.cpp
@@ -8,7 +8,7 @@
QT_BEGIN_NAMESPACE
QPlatformScreenCapture::QPlatformScreenCapture(QScreenCapture *screenCapture)
- : QObject(screenCapture), m_screenCapture(screenCapture)
+ : QPlatformVideoSource(screenCapture), m_screenCapture(screenCapture)
{
qRegisterMetaType<QVideoFrame>();
}
@@ -53,11 +53,6 @@ QScreenCapture *QPlatformScreenCapture::screenCapture() const
return m_screenCapture;
}
-std::optional<int> QPlatformScreenCapture::ffmpegHWPixelFormat() const
-{
- return {};
-}
-
void QPlatformScreenCapture::updateError(QScreenCapture::Error error, const QString &errorString)
{
bool changed = error != m_error || errorString != m_errorString;
@@ -74,3 +69,5 @@ void QPlatformScreenCapture::updateError(QScreenCapture::Error error, const QStr
}
QT_END_NAMESPACE
+
+#include "moc_qplatformscreencapture_p.cpp"
diff --git a/src/multimedia/platform/qplatformscreencapture_p.h b/src/multimedia/platform/qplatformscreencapture_p.h
index 8da927d8d..b5a865e22 100644
--- a/src/multimedia/platform/qplatformscreencapture_p.h
+++ b/src/multimedia/platform/qplatformscreencapture_p.h
@@ -15,31 +15,20 @@
// We mean it.
//
-#include <QtCore/qobject.h>
-#include <QtCore/qnativeinterface.h>
-#include <QtCore/private/qglobal_p.h>
-
-#include <QtMultimedia/qtmultimediaglobal.h>
-
+#include "qplatformvideosource_p.h"
#include "qscreencapture.h"
-#include "qvideoframeformat.h"
-
-#include <optional>
QT_BEGIN_NAMESPACE
class QVideoFrame;
-class Q_MULTIMEDIA_EXPORT QPlatformScreenCapture : public QObject
+class Q_MULTIMEDIA_EXPORT QPlatformScreenCapture : public QPlatformVideoSource
{
Q_OBJECT
public:
explicit QPlatformScreenCapture(QScreenCapture *screenCapture);
- virtual void setActive(bool active) = 0;
- virtual bool isActive() const = 0;
-
virtual void setScreen(QScreen *s) = 0;
virtual QScreen *screen() const = 0;
@@ -52,18 +41,11 @@ public:
virtual QScreenCapture::Error error() const;
virtual QString errorString() const;
- virtual QVideoFrameFormat format() const = 0;
-
QScreenCapture *screenCapture() const;
- virtual std::optional<int> ffmpegHWPixelFormat() const;
-
public Q_SLOTS:
void updateError(QScreenCapture::Error error, const QString &errorString);
-Q_SIGNALS:
- void newVideoFrame(const QVideoFrame &);
-
private:
QScreenCapture::Error m_error = QScreenCapture::NoError;
QString m_errorString;
diff --git a/src/multimedia/platform/qplatformvideosource.cpp b/src/multimedia/platform/qplatformvideosource.cpp
new file mode 100644
index 000000000..a23ed91ae
--- /dev/null
+++ b/src/multimedia/platform/qplatformvideosource.cpp
@@ -0,0 +1,15 @@
+// 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 "qplatformvideosource_p.h"
+
+QT_BEGIN_NAMESPACE
+
+std::optional<int> QPlatformVideoSource::ffmpegHWPixelFormat() const
+{
+ return {};
+};
+
+QT_END_NAMESPACE
+
+//#include "moc_qplatformvideosource_p.cpp
diff --git a/src/multimedia/platform/qplatformvideosource_p.h b/src/multimedia/platform/qplatformvideosource_p.h
new file mode 100644
index 000000000..fc99a30ef
--- /dev/null
+++ b/src/multimedia/platform/qplatformvideosource_p.h
@@ -0,0 +1,49 @@
+// 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
+
+#ifndef QPLATFORMVIDEOSOURCE_P_H
+#define QPLATFORMVIDEOSOURCE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qvideoframeformat.h"
+
+#include <QtCore/qobject.h>
+#include <QtCore/qnativeinterface.h>
+#include <QtCore/private/qglobal_p.h>
+
+#include <optional>
+
+QT_BEGIN_NAMESPACE
+
+class QVideoFrame;
+
+class Q_MULTIMEDIA_EXPORT QPlatformVideoSource : public QObject
+{
+ Q_OBJECT
+public:
+ using QObject::QObject;
+
+ virtual void setActive(bool active) = 0;
+ virtual bool isActive() const = 0;
+
+ virtual QVideoFrameFormat frameFormat() const = 0;
+
+ virtual std::optional<int> ffmpegHWPixelFormat() const;
+
+Q_SIGNALS:
+ void newVideoFrame(const QVideoFrame &);
+};
+
+QT_END_NAMESPACE
+
+#endif // QPLATFORMVIDEOSOURCE_P_H
diff --git a/src/plugins/multimedia/ffmpeg/qavfscreencapture.mm b/src/plugins/multimedia/ffmpeg/qavfscreencapture.mm
index 4c7aea14a..cb35a442e 100644
--- a/src/plugins/multimedia/ffmpeg/qavfscreencapture.mm
+++ b/src/plugins/multimedia/ffmpeg/qavfscreencapture.mm
@@ -123,7 +123,7 @@ void QAVFScreenCapture::onNewFrame(const QVideoFrame &frame)
emit newVideoFrame(frame);
}
-QVideoFrameFormat QAVFScreenCapture::format() const
+QVideoFrameFormat QAVFScreenCapture::frameFormat() const
{
if (!m_grabber)
return {};
diff --git a/src/plugins/multimedia/ffmpeg/qavfscreencapture_p.h b/src/plugins/multimedia/ffmpeg/qavfscreencapture_p.h
index 4204f1195..18e8e5572 100644
--- a/src/plugins/multimedia/ffmpeg/qavfscreencapture_p.h
+++ b/src/plugins/multimedia/ffmpeg/qavfscreencapture_p.h
@@ -35,7 +35,7 @@ public:
explicit QAVFScreenCapture(QScreenCapture *screenCapture);
~QAVFScreenCapture() override;
- QVideoFrameFormat format() const override;
+ QVideoFrameFormat frameFormat() const override;
std::optional<int> ffmpegHWPixelFormat() const override;
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp
index 6f002babe..1e03b7930 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegencoder.cpp
@@ -11,6 +11,7 @@
#include <qaudiobuffer.h>
#include "qffmpegaudioinput_p.h"
#include <private/qplatformcamera_p.h>
+#include <private/qplatformvideosource_p.h>
#include "qffmpegvideobuffer_p.h"
#include "qffmpegmediametadata_p.h"
#include "qffmpegencoderoptions_p.h"
@@ -58,50 +59,29 @@ void Encoder::addAudioInput(QFFmpegAudioInput *input)
input->setRunning(true);
}
-void Encoder::addCamera(QPlatformCamera *camera)
+void Encoder::addVideoSource(QPlatformVideoSource * source)
{
- auto cf = camera->cameraFormat();
+ auto frameFormat = source->frameFormat();
- qCDebug(qLcFFmpegEncoder) << "adding camera:"
- << "resolution=" << cf.resolution()
- << "pixelFormat=" << cf.pixelFormat()
- << "maxFrameRate=" << cf.maxFrameRate() << "ffmpegHWPixelFormat="
- << (camera->ffmpegHWPixelFormat() ? *camera->ffmpegHWPixelFormat()
- : std::numeric_limits<int>::min());
-
- std::optional<AVPixelFormat> hwPixelFormat = camera->ffmpegHWPixelFormat()
- ? AVPixelFormat(*camera->ffmpegHWPixelFormat())
- : std::optional<AVPixelFormat>{};
- auto veUPtr =
- std::make_unique<VideoEncoder>(this, settings, camera->frameFormat(), hwPixelFormat);
- if (veUPtr->isValid()) {
- auto ve = veUPtr.release();
- auto conn = connect(camera, &QPlatformCamera::newVideoFrame,
- [=](const QVideoFrame &frame) { ve->addFrame(frame); });
- videoEncoders.append(ve);
- connections.append(conn);
+ if (!frameFormat.isValid()) {
+ qCWarning(qLcFFmpegEncoder) << "Cannot add source; invalid vide frame format";
+ return;
}
-}
-void Encoder::addScreenCapture(QPlatformScreenCapture *screenCapture)
-{
- auto scf = screenCapture->format();
+ std::optional<AVPixelFormat> hwPixelFormat = source->ffmpegHWPixelFormat()
+ ? AVPixelFormat(*source->ffmpegHWPixelFormat())
+ : std::optional<AVPixelFormat>{};
- qCDebug(qLcFFmpegEncoder) << "adding screen capture:"
- << "pixelFormat=" << scf.pixelFormat()
- << "frameSize=" << scf.frameSize() << "frameRate=" << scf.frameRate()
- << "ffmpegHWPixelFormat="
- << (screenCapture->ffmpegHWPixelFormat()
- ? *screenCapture->ffmpegHWPixelFormat()
- : std::numeric_limits<int>::min());
+ qCDebug(qLcFFmpegEncoder) << "adding video source" << source->metaObject()->className() << ":"
+ << "pixelFormat=" << frameFormat.pixelFormat()
+ << "frameSize=" << frameFormat.frameSize()
+ << "frameRate=" << frameFormat.frameRate() << "ffmpegHWPixelFormat="
+ << (hwPixelFormat ? *hwPixelFormat : AV_PIX_FMT_NONE);
- std::optional<AVPixelFormat> hwPixelFormat = screenCapture->ffmpegHWPixelFormat()
- ? AVPixelFormat(*screenCapture->ffmpegHWPixelFormat())
- : std::optional<AVPixelFormat>{};
- auto veUPtr = std::make_unique<VideoEncoder>(this, settings, scf, hwPixelFormat);
+ auto veUPtr = std::make_unique<VideoEncoder>(this, settings, frameFormat, hwPixelFormat);
if (veUPtr->isValid()) {
auto ve = veUPtr.release();
- auto conn = connect(screenCapture, &QPlatformScreenCapture::newVideoFrame,
+ auto conn = connect(source, &QPlatformVideoSource::newVideoFrame,
[=](const QVideoFrame &frame) { ve->addFrame(frame); });
videoEncoders.append(ve);
connections.append(conn);
@@ -484,7 +464,8 @@ VideoEncoder::VideoEncoder(Encoder *encoder, const QMediaEncoderSettings &settin
setObjectName(QLatin1String("VideoEncoder"));
AVPixelFormat swFormat = QFFmpegVideoBuffer::toAVPixelFormat(format.pixelFormat());
- AVPixelFormat ffmpegPixelFormat = hwFormat ? *hwFormat : swFormat;
+ AVPixelFormat ffmpegPixelFormat =
+ hwFormat && *hwFormat != AV_PIX_FMT_NONE ? *hwFormat : swFormat;
auto frameRate = format.frameRate();
if (frameRate <= 0.) {
qWarning() << "Invalid frameRate" << frameRate << "; Using the default instead";
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegencoder_p.h b/src/plugins/multimedia/ffmpeg/qffmpegencoder_p.h
index aa873661c..cb604095f 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegencoder_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpegencoder_p.h
@@ -19,7 +19,6 @@
#include "qffmpeghwaccel_p.h"
#include <private/qplatformmediarecorder_p.h>
-#include <private/qplatformscreencapture_p.h>
#include <qaudioformat.h>
#include <qaudiobuffer.h>
@@ -29,7 +28,7 @@ QT_BEGIN_NAMESPACE
class QFFmpegAudioInput;
class QVideoFrame;
-class QPlatformCamera;
+class QPlatformVideoSource;
namespace QFFmpeg
{
@@ -59,8 +58,7 @@ public:
~Encoder();
void addAudioInput(QFFmpegAudioInput *input);
- void addCamera(QPlatformCamera *source);
- void addScreenCapture(QPlatformScreenCapture *screenCapture);
+ void addVideoSource(QPlatformVideoSource *source);
void start();
void finalize();
@@ -78,7 +76,12 @@ Q_SIGNALS:
void error(QMediaRecorder::Error code, const QString &description);
void finalizationDone();
-public:
+private:
+ // TODO: improve the encasulation
+ friend class EncodingFinalizer;
+ friend class AudioEncoder;
+ friend class VideoEncoder;
+ friend class Muxer;
QMediaEncoderSettings settings;
QMediaMetaData metaData;
@@ -168,7 +171,7 @@ class VideoEncoder : public EncoderThread
public:
VideoEncoder(Encoder *encoder, const QMediaEncoderSettings &settings,
const QVideoFrameFormat &format, std::optional<AVPixelFormat> hwFormat);
- ~VideoEncoder();
+ ~VideoEncoder() override;
void addFrame(const QVideoFrame &frame);
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp b/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp
index bf61989d5..2fdc0957f 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegmediarecorder.cpp
@@ -86,11 +86,11 @@ void QFFmpegMediaRecorder::record(QMediaEncoderSettings &settings)
auto *camera = m_session->camera();
if (camera)
- encoder->addCamera(camera);
+ encoder->addVideoSource(camera);
auto *screenCapture = m_session->screenCapture();
if (screenCapture)
- encoder->addScreenCapture(screenCapture);
+ encoder->addVideoSource(screenCapture);
durationChanged(0);
stateChanged(QMediaRecorder::RecordingState);
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture.cpp b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture.cpp
index 5e770972a..8c7da017f 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture.cpp
@@ -201,7 +201,7 @@ QFFmpegScreenCapture::QFFmpegScreenCapture(QScreenCapture *screenCapture)
QFFmpegScreenCapture::~QFFmpegScreenCapture() = default;
-QVideoFrameFormat QFFmpegScreenCapture::format() const
+QVideoFrameFormat QFFmpegScreenCapture::frameFormat() const
{
if (m_grabber)
return m_grabber->format();
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
index 8c76463b2..614ee4006 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
@@ -300,7 +300,7 @@ QFFmpegScreenCaptureDxgi::~QFFmpegScreenCaptureDxgi()
resetGrabber();
}
-QVideoFrameFormat QFFmpegScreenCaptureDxgi::format() const
+QVideoFrameFormat QFFmpegScreenCaptureDxgi::frameFormat() const
{
if (m_active)
return m_active->format();
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi_p.h b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi_p.h
index 5c93888bd..0bb5079b2 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi_p.h
@@ -32,7 +32,7 @@ public:
void setActive(bool active) override;
bool isActive() const override { return bool(m_active); }
- QVideoFrameFormat format() const override;
+ QVideoFrameFormat frameFormat() const override;
void setScreen(QScreen *screen) override;
QScreen *screen() const override { return m_screen; }
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_p.h b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_p.h
index 68b6a63a5..9d31cefa9 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_p.h
@@ -30,7 +30,7 @@ public:
explicit QFFmpegScreenCapture(QScreenCapture *screenCapture);
~QFFmpegScreenCapture() override;
- QVideoFrameFormat format() const override;
+ QVideoFrameFormat frameFormat() const override;
protected:
bool setActiveInternal(bool active) override;
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp.cpp b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp.cpp
index caf84337b..d1b7a59d5 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp.cpp
@@ -457,7 +457,7 @@ bool QFFmpegScreenCaptureUwp::isSupported()
return winrt::GraphicsCaptureSession::IsSupported();
}
-QVideoFrameFormat QFFmpegScreenCaptureUwp::format() const
+QVideoFrameFormat QFFmpegScreenCaptureUwp::frameFormat() const
{
return m_format;
}
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp_p.h b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp_p.h
index 1b2a704ab..b26153f73 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp_p.h
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_uwp_p.h
@@ -29,7 +29,7 @@ public:
explicit QFFmpegScreenCaptureUwp(QScreenCapture *screenCapture);
~QFFmpegScreenCaptureUwp();
- QVideoFrameFormat format() const override;
+ QVideoFrameFormat frameFormat() const override;
static bool isSupported();
diff --git a/src/plugins/multimedia/ffmpeg/qx11screencapture.cpp b/src/plugins/multimedia/ffmpeg/qx11screencapture.cpp
index 675553a35..3fc56dd67 100644
--- a/src/plugins/multimedia/ffmpeg/qx11screencapture.cpp
+++ b/src/plugins/multimedia/ffmpeg/qx11screencapture.cpp
@@ -320,7 +320,7 @@ QX11ScreenCapture::QX11ScreenCapture(QScreenCapture *screenCapture)
QX11ScreenCapture::~QX11ScreenCapture() = default;
-QVideoFrameFormat QX11ScreenCapture::format() const
+QVideoFrameFormat QX11ScreenCapture::frameFormat() const
{
return m_grabber ? m_grabber->format() : QVideoFrameFormat{};
}
diff --git a/src/plugins/multimedia/ffmpeg/qx11screencapture_p.h b/src/plugins/multimedia/ffmpeg/qx11screencapture_p.h
index 0930dde87..b286966f8 100644
--- a/src/plugins/multimedia/ffmpeg/qx11screencapture_p.h
+++ b/src/plugins/multimedia/ffmpeg/qx11screencapture_p.h
@@ -27,7 +27,7 @@ public:
explicit QX11ScreenCapture(QScreenCapture *screenCapture);
~QX11ScreenCapture() override;
- QVideoFrameFormat format() const override;
+ QVideoFrameFormat frameFormat() const override;
static bool isSupported();
diff --git a/tests/auto/unit/mockbackend/qmockscreencapture.h b/tests/auto/unit/mockbackend/qmockscreencapture.h
index 8f3642289..732111e7a 100644
--- a/tests/auto/unit/mockbackend/qmockscreencapture.h
+++ b/tests/auto/unit/mockbackend/qmockscreencapture.h
@@ -60,7 +60,7 @@ public:
bool isActive() const override { return bool(m_grabber); }
- QVideoFrameFormat format() const override
+ QVideoFrameFormat frameFormat() const override
{
return m_grabber ? QVideoFrameFormat(
m_imageSize, QVideoFrameFormat::pixelFormatFromImageFormat(m_imageFormat))