From 73c87b5e6c8ed2b8bcfc65264a80f4921423540f Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Tue, 26 Mar 2024 16:14:15 +0800 Subject: GStreamer: separate plugin entry point into separate source Pick-to: 6.5 Change-Id: I3e8ddc3ab806df593fe1163ca46c8b9b68fb7d9e Reviewed-by: Artem Dyomin (cherry picked from commit 8cff735306de8bd9b159744d88c4ae6593d9f28d) Reviewed-by: Qt Cherry-pick Bot (cherry picked from commit 5a46233bf410b6cbb4c1500fed37315c310f4240) --- src/plugins/multimedia/gstreamer/CMakeLists.txt | 1 + .../multimedia/gstreamer/qgstreamerintegration.cpp | 16 ------------- .../multimedia/gstreamer/qgstreamerplugin.cpp | 28 ++++++++++++++++++++++ 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 src/plugins/multimedia/gstreamer/qgstreamerplugin.cpp 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 + +#include + +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" -- cgit v1.2.3