summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2024-03-26 16:14:15 +0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-03-28 07:35:26 +0000
commit73c87b5e6c8ed2b8bcfc65264a80f4921423540f (patch)
treed65efdd6ec83d108c8834f2bbf22c7a5393d40ef
parent9917f07978a093fe8f0b06a5400169ba36e36f97 (diff)
GStreamer: separate plugin entry point into separate source
Pick-to: 6.5 Change-Id: I3e8ddc3ab806df593fe1163ca46c8b9b68fb7d9e Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> (cherry picked from commit 8cff735306de8bd9b159744d88c4ae6593d9f28d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5a46233bf410b6cbb4c1500fed37315c310f4240)
-rw-r--r--src/plugins/multimedia/gstreamer/CMakeLists.txt1
-rw-r--r--src/plugins/multimedia/gstreamer/qgstreamerintegration.cpp16
-rw-r--r--src/plugins/multimedia/gstreamer/qgstreamerplugin.cpp28
3 files changed, 29 insertions, 16 deletions
diff --git a/src/plugins/multimedia/gstreamer/CMakeLists.txt b/src/plugins/multimedia/gstreamer/CMakeLists.txt
index 2212fd5ba..789ca9f25 100644
--- a/src/plugins/multimedia/gstreamer/CMakeLists.txt
+++ b/src/plugins/multimedia/gstreamer/CMakeLists.txt
@@ -33,6 +33,7 @@ qt_internal_add_plugin(QGstreamerMediaPlugin
qgstreamervideodevices.cpp qgstreamervideodevices_p.h
qgstreamerformatinfo.cpp qgstreamerformatinfo_p.h
qgstreamerintegration.cpp qgstreamerintegration_p.h
+ qgstreamerplugin.cpp
mediacapture/qgstreamercamera.cpp mediacapture/qgstreamercamera_p.h
mediacapture/qgstreamerimagecapture.cpp mediacapture/qgstreamerimagecapture_p.h
mediacapture/qgstreamermediacapture.cpp mediacapture/qgstreamermediacapture_p.h
diff --git a/src/plugins/multimedia/gstreamer/qgstreamerintegration.cpp b/src/plugins/multimedia/gstreamer/qgstreamerintegration.cpp
index 0d77b78a2..fbda94d54 100644
--- a/src/plugins/multimedia/gstreamer/qgstreamerintegration.cpp
+++ b/src/plugins/multimedia/gstreamer/qgstreamerintegration.cpp
@@ -16,22 +16,6 @@
QT_BEGIN_NAMESPACE
-class QGstreamerMediaPlugin : public QPlatformMediaPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QPlatformMediaPlugin_iid FILE "gstreamer.json")
-
-public:
- QGstreamerMediaPlugin() = default;
-
- QPlatformMediaIntegration* create(const QString &name) override
- {
- if (name == QLatin1String("gstreamer"))
- return new QGstreamerIntegration;
- return nullptr;
- }
-};
-
QGstreamerIntegration::QGstreamerIntegration()
{
gst_init(nullptr, nullptr);
diff --git a/src/plugins/multimedia/gstreamer/qgstreamerplugin.cpp b/src/plugins/multimedia/gstreamer/qgstreamerplugin.cpp
new file mode 100644
index 000000000..fabee8236
--- /dev/null
+++ b/src/plugins/multimedia/gstreamer/qgstreamerplugin.cpp
@@ -0,0 +1,28 @@
+// Copyright (C) 2024 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 <QtMultimedia/private/qplatformmediaplugin_p.h>
+
+#include <qgstreamerintegration_p.h>
+
+QT_BEGIN_NAMESPACE
+
+class QGstreamerMediaPlugin : public QPlatformMediaPlugin
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QPlatformMediaPlugin_iid FILE "gstreamer.json")
+
+public:
+ QGstreamerMediaPlugin() = default;
+
+ QPlatformMediaIntegration* create(const QString &name) override
+ {
+ if (name == QLatin1String("gstreamer"))
+ return new QGstreamerIntegration;
+ return nullptr;
+ }
+};
+
+QT_END_NAMESPACE
+
+#include "qgstreamerplugin.moc"