qt: hotfix: allow per feature registration

Fixes #869

Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/925>
This commit is contained in:
Stéphane Cerveau 2021-03-30 09:45:45 +02:00
parent 48786371df
commit 42b803ebb3
5 changed files with 5 additions and 12 deletions

View file

@ -26,7 +26,7 @@
#include "qtitem.h"
#include <QtQml/QQmlApplicationEngine>
gboolean
void
qt5_element_init (GstPlugin * plugin)
{
static gsize res = FALSE;
@ -35,5 +35,4 @@ qt5_element_init (GstPlugin * plugin)
qmlRegisterType<QtGLVideoItem> ("org.freedesktop.gstreamer.GLVideoItem", 1, 0, "GstGLVideoItem");
g_once_init_leave (&res, TRUE);
}
return res;
}

View file

@ -24,7 +24,7 @@
G_BEGIN_DECLS
gboolean qt5_element_init (GstPlugin * plugin);
void qt5_element_init (GstPlugin * plugin);
GST_ELEMENT_REGISTER_DECLARE (qmlglsink);
GST_ELEMENT_REGISTER_DECLARE (qmlglsrc);

View file

@ -132,10 +132,8 @@ static guint gst_qt_overlay_signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE_WITH_CODE (GstQtOverlay, gst_qt_overlay,
GST_TYPE_GL_FILTER, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
"qtoverlay", 0, "Qt Video Overlay"));
#define _do_init \
ret |= qt5_element_init (plugin);
GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (qmlgloverlay, "qmlgloverlay",
GST_RANK_NONE, GST_TYPE_QT_OVERLAY, _do_init);
GST_RANK_NONE, GST_TYPE_QT_OVERLAY, qt5_element_init (plugin));
static void
gst_qt_overlay_class_init (GstQtOverlayClass * klass)

View file

@ -135,10 +135,8 @@ enum
G_DEFINE_TYPE_WITH_CODE (GstQtSink, gst_qt_sink,
GST_TYPE_VIDEO_SINK, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
"qtsink", 0, "Qt Video Sink"));
#define _do_init \
ret |= qt5_element_init (plugin);
GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (qmlglsink, "qmlglsink",
GST_RANK_NONE, GST_TYPE_QT_SINK, _do_init);
GST_RANK_NONE, GST_TYPE_QT_SINK, qt5_element_init (plugin));
static void
gst_qt_sink_class_init (GstQtSinkClass * klass)

View file

@ -77,10 +77,8 @@ enum
G_DEFINE_TYPE_WITH_CODE (GstQtSrc, gst_qt_src,
GST_TYPE_PUSH_SRC, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
"qtsrc", 0, "Qt Video Src"));
#define _do_init \
ret |= qt5_element_init (plugin);
GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (qmlglsrc, "qmlglsrc",
GST_RANK_NONE, GST_TYPE_QT_SRC, _do_init);
GST_RANK_NONE, GST_TYPE_QT_SRC, qt5_element_init (plugin));
static const gfloat vertical_flip_matrix[] = {
1.0f, 0.0f, 0.0f, 0.0f,