summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform
diff options
context:
space:
mode:
authorArtem Dyomin <artem.dyomin@qt.io>2023-02-15 15:39:39 +0100
committerArtem Dyomin <artem.dyomin@qt.io>2023-02-17 09:05:45 +0000
commit68430756ac8f477bf91f9691d39f1605829f9500 (patch)
treed2c3ed285aaeb2b5269060f906ef18aacbb0e243 /src/multimedia/platform
parent5677aa3337a8925304c52e0c750c8c91f16f8f8c (diff)
Fix ffmpeg encoding issues
Fixed a bunch of problems: - wrong frame intervals in macos camera and screen capturing - missing frame rate in screen capturing format - wrong scaling in encoder Also, some recording tests have been added Task-number: QTBUG-103226 Pick-to: 6.5 Change-Id: Id775f31e01d75d5c9f3c4ec20c33074acab1ab20 Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'src/multimedia/platform')
-rw-r--r--src/multimedia/platform/qplatformscreencapture.cpp5
-rw-r--r--src/multimedia/platform/qplatformscreencapture_p.h4
2 files changed, 9 insertions, 0 deletions
diff --git a/src/multimedia/platform/qplatformscreencapture.cpp b/src/multimedia/platform/qplatformscreencapture.cpp
index 57ff87029..7a9f568d9 100644
--- a/src/multimedia/platform/qplatformscreencapture.cpp
+++ b/src/multimedia/platform/qplatformscreencapture.cpp
@@ -53,6 +53,11 @@ 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;
diff --git a/src/multimedia/platform/qplatformscreencapture_p.h b/src/multimedia/platform/qplatformscreencapture_p.h
index c98437268..8da927d8d 100644
--- a/src/multimedia/platform/qplatformscreencapture_p.h
+++ b/src/multimedia/platform/qplatformscreencapture_p.h
@@ -24,6 +24,8 @@
#include "qscreencapture.h"
#include "qvideoframeformat.h"
+#include <optional>
+
QT_BEGIN_NAMESPACE
class QVideoFrame;
@@ -54,6 +56,8 @@ public:
QScreenCapture *screenCapture() const;
+ virtual std::optional<int> ffmpegHWPixelFormat() const;
+
public Q_SLOTS:
void updateError(QScreenCapture::Error error, const QString &errorString);