diff --git a/subprojects/gst-plugins-good/docs/gst_plugins_cache.json b/subprojects/gst-plugins-good/docs/gst_plugins_cache.json index 0e7e4549f7..980e83327e 100644 --- a/subprojects/gst-plugins-good/docs/gst_plugins_cache.json +++ b/subprojects/gst-plugins-good/docs/gst_plugins_cache.json @@ -12020,6 +12020,301 @@ "tracers": {}, "url": "Unknown package origin" }, + "qml6": { + "description": "Qt6 Qml plugin", + "elements": { + "qml6glmixer": { + "author": "Matthew Waters ", + "description": "A mixer that renders a QML scene", + "hierarchy": [ + "GstQml6GLMixer", + "GstGLMixer", + "GstGLBaseMixer", + "GstVideoAggregator", + "GstAggregator", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Video/QML/Mixer", + "pad-templates": { + "sink_%%u": { + "caps": "video/x-raw(memory:GLMemory):\n format: { RGBA, BGRA, YV12 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "request", + "type": "GstQml6GLMixerPad" + }, + "src": { + "caps": "video/x-raw(memory:GLMemory):\n format: RGBA\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "src", + "presence": "always", + "type": "GstAggregatorPad" + } + }, + "properties": { + "qml-scene": { + "blurb": "The contents of the QML scene", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "root-item": { + "blurb": "The root QQuickItem from the qml-scene used to render", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "mutable": "null", + "readable": true, + "type": "gpointer", + "writable": false + } + }, + "rank": "none", + "signals": { + "qml-scene-destroyed": { + "args": [], + "return-type": "void", + "when": "last" + }, + "qml-scene-initialized": { + "args": [], + "return-type": "void", + "when": "last" + } + } + }, + "qml6gloverlay": { + "author": "Matthew Waters ", + "description": "A filter that renders a QML scene onto a video stream", + "hierarchy": [ + "GstQml6GLOverlay", + "GstGLFilter", + "GstGLBaseFilter", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Filter/QML/Overlay", + "pad-templates": { + "sink": { + "caps": "video/x-raw(ANY):\n format: { RGBA, BGRA, YV12 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw(memory:GLMemory):\n format: RGBA\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "qml-scene": { + "blurb": "The contents of the QML scene", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "root-item": { + "blurb": "The root QQuickItem from the qml-scene used to render", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "mutable": "null", + "readable": true, + "type": "gpointer", + "writable": false + }, + "widget": { + "blurb": "The QQuickItem to place the input video in the object hierarchy", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "mutable": "null", + "readable": true, + "type": "gpointer", + "writable": true + } + }, + "rank": "none", + "signals": { + "qml-scene-destroyed": { + "args": [], + "return-type": "void", + "when": "last" + }, + "qml-scene-initialized": { + "args": [], + "return-type": "void", + "when": "last" + } + } + }, + "qml6glsink": { + "author": "Matthew Waters ", + "description": "A video sink that renders to a QQuickItem for Qt6", + "hierarchy": [ + "GstQml6GLSink", + "GstVideoSink", + "GstBaseSink", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstNavigation" + ], + "klass": "Sink/Video", + "pad-templates": { + "sink": { + "caps": "video/x-raw(memory:GLMemory):\n format: { RGBA, BGRA, RGB, YV12, NV12 }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n", + "direction": "sink", + "presence": "always" + } + }, + "properties": { + "force-aspect-ratio": { + "blurb": "When enabled, scaling will respect original aspect ratio", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "pixel-aspect-ratio": { + "blurb": "The pixel aspect ratio of the device", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0/1", + "max": "2147483647/1", + "min": "0/1", + "mutable": "null", + "readable": true, + "type": "GstFraction", + "writable": true + }, + "widget": { + "blurb": "The QQuickItem to place in the object hierarchy", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "mutable": "null", + "readable": true, + "type": "gpointer", + "writable": true + } + }, + "rank": "none" + }, + "qml6glsrc": { + "author": "Multimedia Team ", + "description": "A video src that captures a window from a QML view", + "hierarchy": [ + "GstQml6GLSrc", + "GstPushSrc", + "GstBaseSrc", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Source/Video", + "pad-templates": { + "src": { + "caps": "video/x-raw(memory:GLMemory):\n format: RGBA\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: 2D\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "use-default-fbo": { + "blurb": "When set it will not create a new FBO for the QML render thread", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "window": { + "blurb": "The QQuickWindow to place in the object hierarchy", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "mutable": "null", + "readable": true, + "type": "gpointer", + "writable": true + } + }, + "rank": "none" + } + }, + "filename": "gstqml6", + "license": "LGPL", + "other-types": { + "GstQml6GLMixerPad": { + "hierarchy": [ + "GstQml6GLMixerPad", + "GstGLMixerPad", + "GstGLBaseMixerPad", + "GstVideoAggregatorPad", + "GstAggregatorPad", + "GstPad", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object", + "properties": { + "widget": { + "blurb": "The QQuickItem to place the input video in the object hierarchy", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "mutable": "null", + "readable": true, + "type": "gpointer", + "writable": true + } + } + } + }, + "package": "GStreamer Good Plug-ins", + "source": "gst-plugins-good", + "tracers": {}, + "url": "Unknown package origin" + }, "qmlgl": { "description": "Qt gl plugin", "elements": { diff --git a/subprojects/gst-plugins-good/ext/qt6/gstplugin.cc b/subprojects/gst-plugins-good/ext/qt6/gstplugin.cc index d9e6546148..2fb3871c8a 100644 --- a/subprojects/gst-plugins-good/ext/qt6/gstplugin.cc +++ b/subprojects/gst-plugins-good/ext/qt6/gstplugin.cc @@ -18,6 +18,12 @@ * Boston, MA 02110-1301, USA. */ +/** + * plugin-qml6: + * + * Since: 1.22 + */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -38,10 +44,10 @@ plugin_init (GstPlugin * plugin) } #ifndef GST_PACKAGE_NAME -#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins (qmake)" +#define GST_PACKAGE_NAME "GStreamer Good Plug-ins" #define GST_PACKAGE_ORIGIN "Unknown package origin" #define GST_LICENSE "LGPL" -#define PACKAGE "gst-plugins-bad (qmake)" +#define PACKAGE "gst-plugins-good" #define PACKAGE_VERSION "1.21.0.1" #endif diff --git a/subprojects/gst-plugins-good/ext/qt6/gstqml6glmixer.cc b/subprojects/gst-plugins-good/ext/qt6/gstqml6glmixer.cc index b616cd4ad0..ae7387da1a 100644 --- a/subprojects/gst-plugins-good/ext/qt6/gstqml6glmixer.cc +++ b/subprojects/gst-plugins-good/ext/qt6/gstqml6glmixer.cc @@ -19,7 +19,7 @@ */ /** - * SECTION:gstqml6gmixer + * SECTION:element-qml6glmixer * * `qml6glmixer` provides a way to render an almost-arbitrary QML scene within * GStreamer pipeline using the same OpenGL context that GStreamer uses @@ -72,6 +72,8 @@ * * The Qml scene will run at configured output framerate. The timestamps on the * output buffers are used to drive the animation time. + * + * Since: 1.24 */ #ifdef HAVE_CONFIG_H @@ -361,6 +363,8 @@ gst_qml6_gl_mixer_class_init (GstQml6GLMixerClass * klass) &src_factory, GST_TYPE_AGGREGATOR_PAD); gst_element_class_add_static_pad_template_with_gtype (element_class, &sink_factory, GST_TYPE_QML6_GL_MIXER_PAD); + + gst_type_mark_as_plugin_api (GST_TYPE_QML6_GL_MIXER_PAD, (GstPluginAPIFlags) 0); } static void diff --git a/subprojects/gst-plugins-good/ext/qt6/gstqml6gloverlay.cc b/subprojects/gst-plugins-good/ext/qt6/gstqml6gloverlay.cc index 85f5a380f6..af70ff7525 100644 --- a/subprojects/gst-plugins-good/ext/qt6/gstqml6gloverlay.cc +++ b/subprojects/gst-plugins-good/ext/qt6/gstqml6gloverlay.cc @@ -19,7 +19,7 @@ */ /** - * SECTION:gstqml6gloverlay + * SECTION:element-qml6gloverlay * * `qml6gloverlay` provides a way to render an almost-arbitrary QML scene within * GStreamer pipeline using the same OpenGL context that GStreamer uses @@ -73,6 +73,8 @@ * The Qml scene will run at the pace of incoming buffers. One input buffer * will cause a render of one output buffer. The timestamps on the input * buffers are used to drive the animation time. + * + * Since: 1.24 */ #ifdef HAVE_CONFIG_H diff --git a/subprojects/gst-plugins-good/ext/qt6/gstqml6glsink.cc b/subprojects/gst-plugins-good/ext/qt6/gstqml6glsink.cc index 0057df631f..f3267bfd56 100644 --- a/subprojects/gst-plugins-good/ext/qt6/gstqml6glsink.cc +++ b/subprojects/gst-plugins-good/ext/qt6/gstqml6glsink.cc @@ -19,7 +19,7 @@ */ /** - * SECTION:gstqml6glsink + * SECTION:element-qml6glsink * * qml6glsink provides a way to render a video stream as a Qml object inside * the Qml scene graph. This is achieved by providing the incoming OpenGL @@ -67,6 +67,8 @@ * return the exact same #GstGLDisplay object while the pipeline is running * regardless of whether any `qml6glsink` or `qml6gloverlay` elements are * added or removed from the pipeline. + * + * Since: 1.22 */ #ifdef HAVE_CONFIG_H diff --git a/subprojects/gst-plugins-good/ext/qt6/gstqml6glsrc.cc b/subprojects/gst-plugins-good/ext/qt6/gstqml6glsrc.cc index dbd76844bf..5a4a1fbd31 100644 --- a/subprojects/gst-plugins-good/ext/qt6/gstqml6glsrc.cc +++ b/subprojects/gst-plugins-good/ext/qt6/gstqml6glsrc.cc @@ -20,7 +20,9 @@ */ /** - * SECTION:qml6glsrc + * SECTION:element-qml6glsrc + * + * A video src that captures a window from a QML view. * * Since: 1.24 */ diff --git a/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc b/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc index 99c256708e..5e20c051c9 100644 --- a/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc +++ b/subprojects/gst-plugins-good/ext/qt6/qt6glitem.cc @@ -741,7 +741,7 @@ Qt6GLVideoItem::onSceneGraphInvalidated () GST_FIXME ("%p scene graph invalidated", this); } -/** +/* * Retrieve and populate the GL context information from the current * OpenGL context. */