diff options
author | Artem Dyomin <artem.dyomin@qt.io> | 2023-02-15 15:39:39 +0100 |
---|---|---|
committer | Artem Dyomin <artem.dyomin@qt.io> | 2023-02-17 09:05:45 +0000 |
commit | 68430756ac8f477bf91f9691d39f1605829f9500 (patch) | |
tree | d2c3ed285aaeb2b5269060f906ef18aacbb0e243 /src/multimedia/platform | |
parent | 5677aa3337a8925304c52e0c750c8c91f16f8f8c (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.cpp | 5 | ||||
-rw-r--r-- | src/multimedia/platform/qplatformscreencapture_p.h | 4 |
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); |