diff options
author | Tim Blechmann <[email protected]> | 2025-05-10 22:31:22 +0200 |
---|---|---|
committer | Tim Blechmann <[email protected]> | 2025-06-15 00:16:05 +0000 |
commit | ae6698070992a58247609a379181d2f1cd952333 (patch) | |
tree | 5b37b8746953cd327957236b0bff65f66d3db8b2 /src/plugins | |
parent | 8bb6363c36343829ec085774966cb3ed25604167 (diff) |
Pick-to: 6.10
Change-Id: I3c8d36b0e08b2008922aec05423153fede6cb2b2
Reviewed-by: Artem Dyomin <[email protected]>
Diffstat (limited to 'src/plugins')
5 files changed, 38 insertions, 30 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp index e778b35bf..122965f3e 100644 --- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp +++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp @@ -183,7 +183,7 @@ QPlatformMediaPlayer::TrackType MediaDataHolder::trackTypeFromMediaType(int medi } namespace { -QMaybe<AVFormatContextUPtr, MediaDataHolder::ContextError> +q23::expected<AVFormatContextUPtr, MediaDataHolder::ContextError> loadMedia(const QUrl &mediaUrl, QIODevice *stream, const QPlaybackOptions &playbackOptions, const std::shared_ptr<ICancelToken> &cancelToken) { @@ -198,9 +198,11 @@ loadMedia(const QUrl &mediaUrl, QIODevice *stream, const QPlaybackOptions &playb if (stream) { if (!stream->isOpen()) { if (!stream->open(QIODevice::ReadOnly)) - return QUnexpected{ - MediaDataHolder::ContextError{ QMediaPlayer::ResourceError, - QLatin1String("Could not open source device.") }, + return q23::unexpected{ + MediaDataHolder::ContextError{ + QMediaPlayer::ResourceError, + QLatin1String("Could not open source device."), + }, }; } @@ -274,15 +276,18 @@ loadMedia(const QUrl &mediaUrl, QIODevice *stream, const QPlaybackOptions &playb qCWarning(qLcMediaDataHolder) << "Could not open media. FFmpeg error description:" << err2str(ret); - return QUnexpected{ MediaDataHolder::ContextError{ - code, QMediaPlayer::tr("Could not open file") } }; + return q23::unexpected{ + MediaDataHolder::ContextError{ code, QMediaPlayer::tr("Could not open file") }, + }; } ret = avformat_find_stream_info(context.get(), nullptr); if (ret < 0) { - return QUnexpected{ MediaDataHolder::ContextError{ - QMediaPlayer::FormatError, - QMediaPlayer::tr("Could not find stream information for media file") } }; + return q23::unexpected{ + MediaDataHolder::ContextError{ + QMediaPlayer::FormatError, + QMediaPlayer::tr("Could not find stream information for media file") }, + }; } if (qLcMediaDataHolder().isInfoEnabled()) @@ -298,12 +303,12 @@ MediaDataHolder::Maybe MediaDataHolder::create(const QUrl &url, QIODevice *strea const QPlaybackOptions &options, const std::shared_ptr<ICancelToken> &cancelToken) { - QMaybe context = loadMedia(url, stream, options, cancelToken); + q23::expected context = loadMedia(url, stream, options, cancelToken); if (context) { // MediaDataHolder is wrapped in a shared pointer to interop with signal/slot mechanism return QSharedPointer<MediaDataHolder>{ new MediaDataHolder{ std::move(context.value()), cancelToken } }; } - return QUnexpected{ context.error() }; + return q23::unexpected{ context.error() }; } MediaDataHolder::MediaDataHolder(AVFormatContextUPtr context, diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h index aae6e21fb..5b10d78c8 100644 --- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h +++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder_p.h @@ -15,12 +15,13 @@ // We mean it. // -#include "qmediametadata.h" -#include <QtFFmpegMediaPluginImpl/private/qffmpegtime_p.h> +#include <QtCore/private/qexpected_p.h> +#include <QtMultimedia/qmediametadata.h> +#include <QtMultimedia/qvideoframe.h> #include <QtMultimedia/private/qplatformmediaplayer_p.h> -#include <QtFFmpegMediaPluginImpl/private/qffmpeg_p.h> -#include "qvideoframe.h" #include <QtMultimedia/private/qmultimediautils_p.h> +#include <QtFFmpegMediaPluginImpl/private/qffmpegtime_p.h> +#include <QtFFmpegMediaPluginImpl/private/qffmpeg_p.h> #include <array> #include <optional> @@ -77,7 +78,7 @@ public: int currentStreamIndex(QPlatformMediaPlayer::TrackType trackType) const; - using Maybe = QMaybe<QSharedPointer<MediaDataHolder>, ContextError>; + using Maybe = q23::expected<QSharedPointer<MediaDataHolder>, ContextError>; static Maybe create(const QUrl &url, QIODevice *stream, const QPlaybackOptions &options, const std::shared_ptr<ICancelToken> &cancelToken); diff --git a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegvideoframeencoder.cpp b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegvideoframeencoder.cpp index 81b292d1f..dda2595ef 100644 --- a/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegvideoframeencoder.cpp +++ b/src/plugins/multimedia/ffmpeg/recordingengine/qffmpegvideoframeencoder.cpp @@ -6,8 +6,9 @@ #include "qffmpegencoderoptions_p.h" #include "qffmpegvideoencoderutils_p.h" #include "qffmpegcodecstorage_p.h" -#include <qloggingcategory.h> -#include <QtMultimedia/private/qmaybe_p.h> + +#include <QtCore/qloggingcategory.h> +#include <QtCore/private/qexpected_p.h> extern "C" { #include "libavutil/display.h" @@ -427,7 +428,7 @@ struct FrameConverter return 0; } - QMaybe<AVFrameUPtr, int> takeResultFrame() + q23::expected<AVFrameUPtr, int> takeResultFrame() { // Ensure that object is reset to empty state AVFrameUPtr converted = std::move(m_convertedFrame); @@ -439,7 +440,7 @@ struct FrameConverter // Copy metadata except size and format from input frame const int status = av_frame_copy_props(converted.get(), input.get()); if (status != 0) - return QUnexpected{ status }; + return q23::unexpected{ status }; return converted; } @@ -489,7 +490,7 @@ int VideoFrameEncoder::sendFrame(AVFrameUPtr inputFrame) return status; } - const QMaybe<AVFrameUPtr, int> resultFrame = converter.takeResultFrame(); + const q23::expected<AVFrameUPtr, int> resultFrame = converter.takeResultFrame(); if (!resultFrame) return resultFrame.error(); diff --git a/src/plugins/multimedia/gstreamer/common/qgst_discoverer.cpp b/src/plugins/multimedia/gstreamer/common/qgst_discoverer.cpp index 267ae52c8..e9e90cd92 100644 --- a/src/plugins/multimedia/gstreamer/common/qgst_discoverer.cpp +++ b/src/plugins/multimedia/gstreamer/common/qgst_discoverer.cpp @@ -199,22 +199,22 @@ QGstDiscoverer::QGstDiscoverer() { } -QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const QString &uri) +q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const QString &uri) { return discover(uri.toUtf8().constData()); } -QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const QUrl &url) +q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const QUrl &url) { return discover(url.toEncoded().constData()); } -QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(QIODevice *device) +q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(QIODevice *device) { return discover(qGstRegisterQIODevice(device)); } -QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const char *uri) +q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const char *uri) { QUniqueGErrorHandle error; QGstDiscovererInfoHandle info{ @@ -223,7 +223,7 @@ QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> QGstDiscoverer::discover(const c }; if (error) - return QUnexpected{ + return q23::unexpected{ std::move(error), }; diff --git a/src/plugins/multimedia/gstreamer/common/qgst_discoverer_p.h b/src/plugins/multimedia/gstreamer/common/qgst_discoverer_p.h index 83ec0fe9e..463cea89f 100644 --- a/src/plugins/multimedia/gstreamer/common/qgst_discoverer_p.h +++ b/src/plugins/multimedia/gstreamer/common/qgst_discoverer_p.h @@ -18,6 +18,7 @@ #include <QtCore/qglobal.h> #include <QtCore/qlocale.h> #include <QtCore/qsize.h> +#include <QtCore/private/qexpected_p.h> #include <QtMultimedia/private/qmultimediautils_p.h> @@ -107,12 +108,12 @@ class QGstDiscoverer public: QGstDiscoverer(); - QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> discover(const QString &uri); - QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> discover(const QUrl &); - QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> discover(QIODevice *); + q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> discover(const QString &uri); + q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> discover(const QUrl &); + q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> discover(QIODevice *); private: - QMaybe<QGstDiscovererInfo, QUniqueGErrorHandle> discover(const char *); + q23::expected<QGstDiscovererInfo, QUniqueGErrorHandle> discover(const char *); QGstDiscovererHandle m_instance; }; |