diff options
author | Tim Blechmann <tim@klingt.org> | 2024-03-29 08:32:50 +0800 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-04-04 23:00:54 +0000 |
commit | 17dcfd8472d5878bb171592e28ed01703f0b8ac8 (patch) | |
tree | 2493cf1926d9b0af6feea8b2b80766fafaf153c2 /src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp | |
parent | 0ea1f5d5cd6db3c5ee177eb6045b178eb7d9868a (diff) |
GStreamer: Video overlay - trivial cleanups6.6
* use unicode strings to avoid unnecessary ascii/unicode conversions
* move semantics
* capture by const ref in range-based for
Pick-to: 6.5
Change-Id: Ia32713731a315b1887c322261bff33dd1bf4001a
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Mikko Hallamaa <mikko.hallamaa@qt.io>
(cherry picked from commit cce20d24bd00f3f6c486d0a3291596fe52426af4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ae4f1169a01871545900218fe0ad585759bbe81c)
Diffstat (limited to 'src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp')
-rw-r--r-- | src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp b/src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp index e5041bdab..46fdcb921 100644 --- a/src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp +++ b/src/plugins/multimedia/gstreamer/common/qgstreamervideooverlay.cpp @@ -4,32 +4,31 @@ #include "qgstreamervideooverlay_p.h" #include <QtGui/qguiapplication.h> +#include <QtMultimedia/private/qtmultimediaglobal_p.h> + #include <common/qglist_helper_p.h> -#include "qgst_p.h" -#include "qgstreamermessage_p.h" -#include "qgstreamervideosink_p.h" +#include <common/qgst_p.h> +#include <common/qgstreamermessage_p.h> +#include <common/qgstreamervideosink_p.h> #include <common/qgstutils_p.h> #include <gst/video/videooverlay.h> -#include <QtMultimedia/private/qtmultimediaglobal_p.h> - QT_BEGIN_NAMESPACE struct ElementMap { - const char *qtPlatform; - const char *gstreamerElement; + QStringView qtPlatform; + const char *gstreamerElement = nullptr; }; // Ordered by descending priority -static constexpr ElementMap elementMap[] = -{ - { "xcb", "xvimagesink" }, - { "xcb", "ximagesink" }, +static constexpr ElementMap elementMap[] = { + { u"xcb", "xvimagesink" }, + { u"xcb", "ximagesink" }, // wayland - { "wayland", "waylandsink" } + { u"wayland", "waylandsink" }, }; static bool qt_gst_element_is_functioning(QGstElement element) @@ -45,11 +44,12 @@ static bool qt_gst_element_is_functioning(QGstElement element) static QGstElement findBestVideoSink() { + using namespace Qt::StringLiterals; QString platform = QGuiApplication::platformName(); // First, try some known video sinks, depending on the Qt platform plugin in use. - for (auto i : elementMap) { - if (platform != QLatin1String(i.qtPlatform)) + for (const auto &i : elementMap) { + if (platform != i.qtPlatform) continue; QGstElement choice = QGstElement::createFromFactory(i.gstreamerElement, i.gstreamerElement); if (choice.isNull()) @@ -61,7 +61,7 @@ static QGstElement findBestVideoSink() // We need a native window ID to use the GstVideoOverlay interface. // Bail out if the Qt platform plugin in use cannot provide a sensible WId. - if (platform != QLatin1String("xcb") && platform != QLatin1String("wayland")) + if (platform != QStringView{ u"xcb" } && platform != QStringView{ u"wayland" }) return {}; QGstElement choice; @@ -120,7 +120,7 @@ void QGstreamerVideoOverlay::setVideoSink(QGstElement sink) if (sink.isNull()) return; - m_videoSink = sink; + m_videoSink = std::move(sink); QGstPad pad = m_videoSink.staticPad("sink"); addProbeToPad(pad.pad()); |