* [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin. @ 2017-07-21 9:13 Glenn Coombs 2017-07-21 9:22 ` Thomas Petazzoni 2018-07-23 8:55 ` [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) Iñigo Huguet 0 siblings, 2 replies; 17+ messages in thread From: Glenn Coombs @ 2017-07-21 9:13 UTC (permalink / raw) To: buildroot I wanted to build the qmlglsink gstreamer component but it was not possible to build it because the gst1-plugins-bad package was previously hard-coded to run the configure script with the --disable-qt option. This patch adds an option to allow selection of either --enable-qt or --disable-qt. When enabled this allows users to build the qt plugin package. Signed-off-by: Glenn Coombs <glenn.coombs@gmail.com> --- package/gstreamer1/gst1-plugins-bad/Config.in | 5 +++++ package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-bad/Config.in b/package/gstreamer1/gst1-plugins-bad/Config.in index 0c97899..22aacb3 100644 --- a/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/package/gstreamer1/gst1-plugins-bad/Config.in @@ -349,6 +349,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PNM help PNM plugin +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT + bool "qt" + help + Qt plugin + config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE bool "rawparse" help diff --git a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index 2e9e6f1..1caca13 100644 --- a/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -58,8 +58,7 @@ GST1_PLUGINS_BAD_CONF_OPTS += \ --disable-schro \ --disable-zbar \ --disable-spandsp \ - --disable-gtk3 \ - --disable-qt + --disable-gtk3 GST1_PLUGINS_BAD_DEPENDENCIES = gst1-plugins-base gstreamer1 @@ -403,6 +402,12 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-pnm endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT),y) +GST1_PLUGINS_BAD_CONF_OPTS += --enable-qt +else +GST1_PLUGINS_BAD_CONF_OPTS += --disable-qt +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RAWPARSE),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-rawparse else -- 2.7.4 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170721/53eaf8e9/attachment.html> ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin. 2017-07-21 9:13 [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin Glenn Coombs @ 2017-07-21 9:22 ` Thomas Petazzoni 2017-07-24 6:19 ` Glenn Coombs 2018-07-23 8:55 ` [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) Iñigo Huguet 1 sibling, 1 reply; 17+ messages in thread From: Thomas Petazzoni @ 2017-07-21 9:22 UTC (permalink / raw) To: buildroot Hello, On Fri, 21 Jul 2017 17:13:07 +0800, Glenn Coombs wrote: > +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT > + bool "qt" Don't you need Qt to be built for this plugin to be compiled? I would expect some "depends on" on Qt here. Also, what about qt4 vs. qt5 ? > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT),y) > +GST1_PLUGINS_BAD_CONF_OPTS += --enable-qt I would expect a GST1_PLUGINS_BAD_DEPENDENCIES += statement here, to make sure qt or qt5 get built before GStreamer. Or is Qt not needed to built GStreamer Qt support ? Also, we have to be careful, because qt5base itself can depend on gst1-plugins-base, so we need to be careful to not introduce a circular dependency. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin. 2017-07-21 9:22 ` Thomas Petazzoni @ 2017-07-24 6:19 ` Glenn Coombs 2017-08-23 12:32 ` Thomas Petazzoni 0 siblings, 1 reply; 17+ messages in thread From: Glenn Coombs @ 2017-07-24 6:19 UTC (permalink / raw) To: buildroot I think the code needs Qt5 rather than Qt4 as it uses the scene graph rendering model that only exists in Qt5. The code in the output/build/gst1-plugins-bad-1.12.1/ext/qt/ directory needs the following Qt header files in order to compile: #include <QtGui/QOpenGLContext> #include <QtGui/QOpenGLFunctions> #include <QtQuick/QQuickItem> #include <QtQuick/QSGTexture> and ldd shows that libgstqmlgl.so is linked against these Qt libraries: libQt5Quick.so.5 => /lib/libQt5Quick.so.5 (0x768e5000) libQt5Gui.so.5 => /lib/libQt5Gui.so.5 (0x764b8000) libQt5Qml.so.5 => /lib/libQt5Qml.so.5 (0x7611d000) libQt5Network.so.5 => /lib/libQt5Network.so.5 (0x75f78000) libQt5Core.so.5 => /lib/libQt5Core.so.5 (0x75aa1000) I've changed the gst1-plugins-bad/Config.in file like this: config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT bool "qt" depends on BR2_PACKAGE_QT5 help Qt plugin comment "qt plugin available if Qt5 enabled" depends on !BR2_PACKAGE_QT5 which only allows the gst-plugins-bad/qt option to be selected if the Qt5 package has already been selected. I'm not sure how to handle the dependencies in the gst1-plugins-bad.mk file. I think you're right that if I add a dependency on Qt5 then it will introduce a circular dependency as the qt5base.mk file has this section: ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) # gstreamer 0.10 support is broken in qt5multimedia ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) QT5BASE_CONFIGURE_OPTS += -gstreamer 1.0 QT5BASE_DEPENDENCIES += gst1-plugins-base else QT5BASE_CONFIGURE_OPTS += -no-gstreamer endif endif Any thoughts on how best to break that circular dependency ? -- Glenn On 21 July 2017 at 17:22, Thomas Petazzoni < thomas.petazzoni@free-electrons.com> wrote: > Hello, > > On Fri, 21 Jul 2017 17:13:07 +0800, Glenn Coombs wrote: > > > +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT > > + bool "qt" > > Don't you need Qt to be built for this plugin to be compiled? > > I would expect some "depends on" on Qt here. > > Also, what about qt4 vs. qt5 ? > > > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT),y) > > +GST1_PLUGINS_BAD_CONF_OPTS += --enable-qt > > I would expect a GST1_PLUGINS_BAD_DEPENDENCIES += statement here, to > make sure qt or qt5 get built before GStreamer. > > Or is Qt not needed to built GStreamer Qt support ? > > Also, we have to be careful, because qt5base itself can depend on > gst1-plugins-base, so we need to be careful to not introduce a circular > dependency. > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux and Kernel engineering > http://free-electrons.com > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170724/6c9baf44/attachment.html> ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin. 2017-07-24 6:19 ` Glenn Coombs @ 2017-08-23 12:32 ` Thomas Petazzoni 0 siblings, 0 replies; 17+ messages in thread From: Thomas Petazzoni @ 2017-08-23 12:32 UTC (permalink / raw) To: buildroot Hello, On Mon, 24 Jul 2017 14:19:04 +0800, Glenn Coombs wrote: > I think the code needs Qt5 rather than Qt4 as it uses the scene graph > rendering model that only exists in Qt5. The code in the > output/build/gst1-plugins-bad-1.12.1/ext/qt/ directory needs the following > Qt header files in order to compile: Correct, it uses Qt5. > I've changed the gst1-plugins-bad/Config.in file like this: > > config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_QT > bool "qt" > depends on BR2_PACKAGE_QT5 It probably needs a bunch more options here: depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_XML select BR2_PACKAGE_QT5DECLARATIVE_QUICK > which only allows the gst-plugins-bad/qt option to be selected if the Qt5 > package has already been selected. I'm not sure how to handle the > dependencies in the gst1-plugins-bad.mk file. I think you're right that if > I add a dependency on Qt5 then it will introduce a circular dependency as > the qt5base.mk file has this section: > > ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) > # gstreamer 0.10 support is broken in qt5multimedia > ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) > QT5BASE_CONFIGURE_OPTS += -gstreamer 1.0 > QT5BASE_DEPENDENCIES += gst1-plugins-base > else > QT5BASE_CONFIGURE_OPTS += -no-gstreamer > endif > endif > > Any thoughts on how best to break that circular dependency ? In fact there is no circular dependency I believe: qt5base (for Qt 5.6) or qt5multimedia (for Qt 5.9) depend on gst1-plugins-base. But the dependency you're adding is in gst1-plugins-bad. Therefore, the following build order is perfectly fine, and has no circular dependency: gstreamer1 gst1-plugins-base qt5base / qt5multimedia / qt5declarative gst1-plugins-bad Could you cook a patch adding the appropriate logic in gst1-plugins-bad ? Thanks a lot! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2017-07-21 9:13 [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin Glenn Coombs 2017-07-21 9:22 ` Thomas Petazzoni @ 2018-07-23 8:55 ` Iñigo Huguet 2018-07-23 11:10 ` Iñigo Huguet 2018-07-28 22:22 ` Arnout Vandecappelle 1 sibling, 2 replies; 17+ messages in thread From: Iñigo Huguet @ 2018-07-23 8:55 UTC (permalink / raw) To: buildroot gst1-plugins-good is built with --disable-qt option, so qmlgl plugin is disabled. Added option to enable it, allowing to use elements qmlglsrc and qmlglsink. Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> --- package/gstreamer1/gst1-plugins-good/Config.in | 10 ++++++++++ package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index 3bb98a4..d55b445 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -283,6 +283,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 help Open Sound System (OSS) version 4 support for GStreamer +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL + bool "qmlgl (qt5)" + depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB + help + QT5 plugin which includes elements qmlglsrc and qmlglsink + +comment "qmlgl (qt5) plugin depends on QT5 declarative with Quick module" + depends on !BR2_PACKAGE_QT5DECLARATIVE_QUICK + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 bool "v4l2" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 6fa989d..bc8242d 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-osx_video \ --disable-aalib \ --disable-aalibtest \ - --disable-libcaca \ - --disable-qt + --disable-libcaca # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ @@ -328,6 +327,16 @@ else GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt +endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL)$(BR2_PACKAGE_QT5BASE_XCB),yy) +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 else -- 2.7.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-07-23 8:55 ` [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) Iñigo Huguet @ 2018-07-23 11:10 ` Iñigo Huguet 2018-07-28 22:22 ` Arnout Vandecappelle 1 sibling, 0 replies; 17+ messages in thread From: Iñigo Huguet @ 2018-07-23 11:10 UTC (permalink / raw) To: buildroot This patch replaces this other one: https://patchwork.ozlabs.org/patch/792000/ I guess that the previous patch should be closed. Among other things, that previous patch was for gst1-plugins-bad because qmlgl plugin was there when the patch was sent. I've used --in-reply-to in git send-email because the documentation says that this way previous patch is automatically superseeded in the patchwork, but I'm not sure if this has happened. El 23/07/18 a las 10:55, I?igo Huguet escribi?: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > --- > package/gstreamer1/gst1-plugins-good/Config.in | 10 ++++++++++ > package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- > 2 files changed, 21 insertions(+), 2 deletions(-) > > diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in > index 3bb98a4..d55b445 100644 > --- a/package/gstreamer1/gst1-plugins-good/Config.in > +++ b/package/gstreamer1/gst1-plugins-good/Config.in > @@ -283,6 +283,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 > help > Open Sound System (OSS) version 4 support for GStreamer > > +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL > + bool "qmlgl (qt5)" > + depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK > + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB > + help > + QT5 plugin which includes elements qmlglsrc and qmlglsink > + > +comment "qmlgl (qt5) plugin depends on QT5 declarative with Quick module" > + depends on !BR2_PACKAGE_QT5DECLARATIVE_QUICK > + > config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 > bool "v4l2" > depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api > diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > index 6fa989d..bc8242d 100644 > --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ > --disable-osx_video \ > --disable-aalib \ > --disable-aalibtest \ > - --disable-libcaca \ > - --disable-qt > + --disable-libcaca > > # Options which require currently unpackaged libraries > GST1_PLUGINS_GOOD_CONF_OPTS += \ > @@ -328,6 +327,16 @@ else > GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 > endif > > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) > +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative > +else > +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt > +endif > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL)$(BR2_PACKAGE_QT5BASE_XCB),yy) > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras > +endif > + > ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) > GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 > else ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-07-23 8:55 ` [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) Iñigo Huguet 2018-07-23 11:10 ` Iñigo Huguet @ 2018-07-28 22:22 ` Arnout Vandecappelle 2018-08-02 11:11 ` Iñigo Huguet 1 sibling, 1 reply; 17+ messages in thread From: Arnout Vandecappelle @ 2018-07-28 22:22 UTC (permalink / raw) To: buildroot Hi I?igo, On 23-07-18 10:55, I?igo Huguet wrote: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > --- > package/gstreamer1/gst1-plugins-good/Config.in | 10 ++++++++++ > package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- > 2 files changed, 21 insertions(+), 2 deletions(-) > > diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in > index 3bb98a4..d55b445 100644 > --- a/package/gstreamer1/gst1-plugins-good/Config.in > +++ b/package/gstreamer1/gst1-plugins-good/Config.in > @@ -283,6 +283,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 > help > Open Sound System (OSS) version 4 support for GStreamer > > +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL > + bool "qmlgl (qt5)" > + depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK We try to use select as much as possible. Selecting qt5 itself is a bit over the top, but declarative and quick could be selected. So something like depends on BR2_PACKAGE_QT5 depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative-quick select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_QT5DECLARATIVE_QUICK > + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB > + help > + QT5 plugin which includes elements qmlglsrc and qmlglsink > + > +comment "qmlgl (qt5) plugin depends on QT5 declarative with Quick module" > + depends on !BR2_PACKAGE_QT5DECLARATIVE_QUICK No comment would be needed for the qt5 (obvious that you need qt5 for qt5 support in GStreamer), no comment would be needed for JSCORE_AVAILABLE (it's an arch dependency), but a comment is needed for GL_AVAILABLE. So: comment "qmlgl (qt5) plugin needs an OpenGL-capable Qt5 backend" depends on BR2_PACKAGE_QT5 depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST > + > config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 > bool "v4l2" > depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api > diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > index 6fa989d..bc8242d 100644 > --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ > --disable-osx_video \ > --disable-aalib \ > --disable-aalibtest \ > - --disable-libcaca \ > - --disable-qt > + --disable-libcaca > > # Options which require currently unpackaged libraries > GST1_PLUGINS_GOOD_CONF_OPTS += \ > @@ -328,6 +327,16 @@ else > GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 > endif > > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) > +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative > +else > +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt > +endif > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL)$(BR2_PACKAGE_QT5BASE_XCB),yy) > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras Better put this inside the condition above, so you don't need the ugly yy. Regards, Arnout > +endif > + > ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) > GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 > else > -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-07-28 22:22 ` Arnout Vandecappelle @ 2018-08-02 11:11 ` Iñigo Huguet 2018-08-14 14:22 ` Thomas Petazzoni 2018-08-15 19:02 ` Peter Seiderer 0 siblings, 2 replies; 17+ messages in thread From: Iñigo Huguet @ 2018-08-02 11:11 UTC (permalink / raw) To: buildroot gst1-plugins-good is built with --disable-qt option, so qmlgl plugin is disabled. Added option to enable it, allowing to use elements qmlglsrc and qmlglsink. Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> --- package/gstreamer1/gst1-plugins-good/Config.in | 16 ++++++++++++++++ .../gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index afb9a41..62ac07b 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -283,6 +283,22 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 help Open Sound System (OSS) version 4 support for GStreamer +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL + bool "qmlgl (qt5)" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative-quick + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB + help + QT5 plugin which includes elements qmlglsrc and qmlglsink + +comment "qmlgl (qt5) plugin needs an OpenGL-capable Qt5 backend" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 bool "v4l2" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index c1ed039..ef28f2d 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-osx_video \ --disable-aalib \ --disable-aalibtest \ - --disable-libcaca \ - --disable-qt + --disable-libcaca # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ @@ -328,6 +327,16 @@ else GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras +endif +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 else -- 2.7.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-08-02 11:11 ` Iñigo Huguet @ 2018-08-14 14:22 ` Thomas Petazzoni 2018-08-15 19:02 ` Peter Seiderer 1 sibling, 0 replies; 17+ messages in thread From: Thomas Petazzoni @ 2018-08-14 14:22 UTC (permalink / raw) To: buildroot Hello, Peter (Seiderer), you are the de-facto GStreamer / Qt5 person, could you please review/test/ack the below patch ? Thanks a lot :-) Thomas On Thu, 2 Aug 2018 13:11:01 +0200, I?igo Huguet wrote: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > --- > package/gstreamer1/gst1-plugins-good/Config.in | 16 ++++++++++++++++ > .../gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- > 2 files changed, 27 insertions(+), 2 deletions(-) > > diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in > index afb9a41..62ac07b 100644 > --- a/package/gstreamer1/gst1-plugins-good/Config.in > +++ b/package/gstreamer1/gst1-plugins-good/Config.in > @@ -283,6 +283,22 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 > help > Open Sound System (OSS) version 4 support for GStreamer > > +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL > + bool "qmlgl (qt5)" > + depends on BR2_PACKAGE_QT5 > + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative > + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative-quick > + select BR2_PACKAGE_QT5DECLARATIVE > + select BR2_PACKAGE_QT5DECLARATIVE_QUICK > + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB > + help > + QT5 plugin which includes elements qmlglsrc and qmlglsink > + > +comment "qmlgl (qt5) plugin needs an OpenGL-capable Qt5 backend" > + depends on BR2_PACKAGE_QT5 > + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE > + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST > + > config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 > bool "v4l2" > depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api > diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > index c1ed039..ef28f2d 100644 > --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ > --disable-osx_video \ > --disable-aalib \ > --disable-aalibtest \ > - --disable-libcaca \ > - --disable-qt > + --disable-libcaca > > # Options which require currently unpackaged libraries > GST1_PLUGINS_GOOD_CONF_OPTS += \ > @@ -328,6 +327,16 @@ else > GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 > endif > > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) > +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative > +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras > +endif > +else > +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt > +endif > + > ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) > GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 > else -- Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-08-02 11:11 ` Iñigo Huguet 2018-08-14 14:22 ` Thomas Petazzoni @ 2018-08-15 19:02 ` Peter Seiderer 2018-09-03 7:14 ` [Buildroot] [PATCH v3] " Iñigo Huguet 1 sibling, 1 reply; 17+ messages in thread From: Peter Seiderer @ 2018-08-15 19:02 UTC (permalink / raw) To: buildroot Hello I?igo, thanks for the updated patch, most of the points from the first version reviews ([1]) seem to be fixed, but... On Thu, 2 Aug 2018 13:11:01 +0200, I?igo Huguet <inigohuguet@fanamoel.com> wrote: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > --- > package/gstreamer1/gst1-plugins-good/Config.in | 16 ++++++++++++++++ > .../gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- > 2 files changed, 27 insertions(+), 2 deletions(-) > > diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in > index afb9a41..62ac07b 100644 > --- a/package/gstreamer1/gst1-plugins-good/Config.in > +++ b/package/gstreamer1/gst1-plugins-good/Config.in > @@ -283,6 +283,22 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 > help > Open Sound System (OSS) version 4 support for GStreamer > > +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL > + bool "qmlgl (qt5)" > + depends on BR2_PACKAGE_QT5 > + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative > + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative-quick > + select BR2_PACKAGE_QT5DECLARATIVE > + select BR2_PACKAGE_QT5DECLARATIVE_QUICK > + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB Needs to select BR2_PACKAGE_QT5BASE_WIDGETS to enable the host uic command (otherwise gst1-plugins-good configure disables qt support with the message 'One of the required qt build programs was not found')... Next failure was because the search for qplatformnativeinterface.h failed, fixed by the following patch: $ cat package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch --- gst1-plugins-good-1.14.2/configure_orig 2018-08-15 19:42:48.065311007 +0200 +++ gst1-plugins-good-1.14.2/configure 2018-08-15 19:42:58.665528543 +0200 @@ -35924,7 +35924,7 @@ else HAVE_QT="yes" HAVE_QT_WINDOWING="no" - QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`" + QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`" QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui if test -f "$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"; then : According to [2] the '--define-prefix' option is introduced with pkgconf-1.2.0 (buildroot is still using 0.9.12)... The last failure ('Could not find any Qt Windowing integration') is fixed by selecting BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL... > + help > + QT5 plugin which includes elements qmlglsrc and qmlglsink > + Spurious tab in the line above (checkout check-package to avoid this one [3])... Patch iteration version and changelog (see [4]) would be nice for the next patch iteration ;-) Regards, Peter [1] https://patchwork.ozlabs.org/patch/792000/ [2] https://github.com/pkgconf/pkgconf/blob/master/NEWS [3] http://nightly.buildroot.org/manual.html#_tips_and_tric [4] http://nightly.buildroot.org/manual.html#submitting-patches > +comment "qmlgl (qt5) plugin needs an OpenGL-capable Qt5 backend" > + depends on BR2_PACKAGE_QT5 > + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE > + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST > + > config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 > bool "v4l2" > depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api > diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > index c1ed039..ef28f2d 100644 > --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk > @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ > --disable-osx_video \ > --disable-aalib \ > --disable-aalibtest \ > - --disable-libcaca \ > - --disable-qt > + --disable-libcaca > > # Options which require currently unpackaged libraries > GST1_PLUGINS_GOOD_CONF_OPTS += \ > @@ -328,6 +327,16 @@ else > GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 > endif > > +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) > +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative > +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) > +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras > +endif > +else > +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt > +endif > + > ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) > GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 > else ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v3] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-08-15 19:02 ` Peter Seiderer @ 2018-09-03 7:14 ` Iñigo Huguet 2018-09-03 11:59 ` Martin Kepplinger ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Iñigo Huguet @ 2018-09-03 7:14 UTC (permalink / raw) To: buildroot gst1-plugins-good is built with --disable-qt option, so qmlgl plugin is disabled. Added option to enable it, allowing to use elements qmlglsrc and qmlglsink. Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> --- Changes v2 -> v3: - select qt5 widgets to enable host uic command (suggested by Peter Seiderer) - added patch to fix QT QPA detection (provided by Peter Seiderer) - fixed file formatting Changes v1 -> v2: - select packages instead of depending (suggested by Arnout Vandecappelle) - nested ifeq in makefile (suggested by Arnout Vandecappelle) --- .../0001-configure-fix-qt-qpa-detection.patch | 14 ++++++++++++++ package/gstreamer1/gst1-plugins-good/Config.in | 17 +++++++++++++++++ .../gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch diff --git a/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch b/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch new file mode 100644 index 0000000..d755354 --- /dev/null +++ b/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch @@ -0,0 +1,14 @@ +configure: fix QT QPA detection + +Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> + +--- gst1-plugins-good-1.14.2/configure_orig 2018-08-15 19:42:48.065311007 +0200 ++++ gst1-plugins-good-1.14.2/configure 2018-08-15 19:42:58.665528543 +0200 +@@ -35924,7 +35924,7 @@ + else + HAVE_QT="yes" + HAVE_QT_WINDOWING="no" +- QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`" ++ QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`" + QPA_INCLUDE_PATH=`$PKG_CONFIG --variable=includedir Qt5Core`/QtGui/${QT_VERSION}/QtGui + if test -f "$PKG_CONFIG_SYSROOT_DIR/$QPA_INCLUDE_PATH/qpa/qplatformnativeinterface.h"; then : diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index afb9a41..30a4876 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -283,6 +283,23 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 help Open Sound System (OSS) version 4 support for GStreamer +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL + bool "qmlgl (qt5)" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative-quick + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB + help + QT5 plugin which includes elements qmlglsrc and qmlglsink + +comment "qmlgl (qt5) plugin needs an OpenGL-capable Qt5 backend" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 bool "v4l2" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index c1ed039..ef28f2d 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-osx_video \ --disable-aalib \ --disable-aalibtest \ - --disable-libcaca \ - --disable-qt + --disable-libcaca # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ @@ -328,6 +327,16 @@ else GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras +endif +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 else -- 2.7.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v3] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-09-03 7:14 ` [Buildroot] [PATCH v3] " Iñigo Huguet @ 2018-09-03 11:59 ` Martin Kepplinger 2018-09-08 20:07 ` Thomas Petazzoni 2018-09-18 10:58 ` [Buildroot] [PATCH v4] " Iñigo Huguet 2 siblings, 0 replies; 17+ messages in thread From: Martin Kepplinger @ 2018-09-03 11:59 UTC (permalink / raw) To: buildroot On 2018-09-03 09:14, I?igo Huguet wrote: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > Hi, I actually prepare my system to use this gstreamer module now. Your change looks good to me in general and I built my system using it now. So thanks a lot for this! I'm on an i.MX6 system and need the following patches against gstreamer plugins applied _additionally_. But IMO we should apply your current change as-is, and (if applicable) the following separately: gst1-plugins-good: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=319171b162bac6bd56c342e0dd4bd3968a59392f this is just not yet part of gstreamer 1.14.2. As soon as included, this could be removed of course. gst1-plugins-base: The following chage removes the build-dependency on udev (I don't use udev). In this case the device (to be found by udev) can be defined using the GST_GL_GBM_DRM_DEVICE env.variable (but the default should mostly be fine). --- a/gst-libs/gst/gl/gbm/gstgl_gbm_utils.c +++ b/gst-libs/gst/gl/gbm/gstgl_gbm_utils.c @@ -20,7 +20,9 @@ #include <unistd.h> #include <fcntl.h> +#ifdef HAVE_GUDEV #include <gudev/gudev.h> +#endif #include "gstgl_gbm_utils.h" GST_DEBUG_CATEGORY_EXTERN (gst_gl_gbm_debug); @@ -440,6 +442,7 @@ gst_gl_gbm_find_and_open_drm_node (void) /* In here we use GUDev to try to autodetect the GPU */ int drm_fd = -1; +#ifdef HAVE_GUDEV GUdevClient *gudev_client = NULL; GUdevEnumerator *gudev_enum = NULL; GList *devlist = NULL; @@ -526,4 +529,7 @@ cleanup: } goto done; +#else + return drm_fd; +#endif } diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 index 1e9724094..bd6d173f9 100644 --- a/m4/gst-gl.m4 +++ b/m4/gst-gl.m4 @@ -176,7 +176,7 @@ case $host in PKG_CHECK_MODULES(DRM, libdrm >= 2.4.55, HAVE_DRM=yes, HAVE_DRM=no) AC_SUBST(DRM_CFLAGS) AC_SUBST(DRM_LIBS) - if test "x$HAVE_DRM" = "xyes" -a "x$HAVE_GUDEV" = "xyes"; then + if test "x$HAVE_DRM" = "xyes"; then PKG_CHECK_MODULES(GBM, gbm, HAVE_GBM_EGL=yes, HAVE_GBM_EGL=no) AC_SUBST(GBM_CFLAGS) AC_SUBST(GBM_LIBS) Also, while playing with it, I see the following problem I want to point out just in case you have any idea or hint about it; this is a special case and should not prevent us from enabling and using it here of course :) https://bugreports.qt.io/browse/QTBUG-65993 thanks martin -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3616 bytes Desc: not available URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180903/721322cf/attachment.bin> ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v3] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-09-03 7:14 ` [Buildroot] [PATCH v3] " Iñigo Huguet 2018-09-03 11:59 ` Martin Kepplinger @ 2018-09-08 20:07 ` Thomas Petazzoni 2018-09-12 6:46 ` Iñigo Huguet 2018-09-18 10:58 ` [Buildroot] [PATCH v4] " Iñigo Huguet 2 siblings, 1 reply; 17+ messages in thread From: Thomas Petazzoni @ 2018-09-08 20:07 UTC (permalink / raw) To: buildroot Hello I?igo, On Mon, 3 Sep 2018 09:14:00 +0200, I?igo Huguet wrote: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> Thanks for this new iteration! > diff --git a/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch b/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch > new file mode 100644 > index 0000000..d755354 > --- /dev/null > +++ b/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch > @@ -0,0 +1,14 @@ > +configure: fix QT QPA detection > + > +Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > + > +--- gst1-plugins-good-1.14.2/configure_orig 2018-08-15 19:42:48.065311007 +0200 > ++++ gst1-plugins-good-1.14.2/configure 2018-08-15 19:42:58.665528543 +0200 > +@@ -35924,7 +35924,7 @@ > + else > + HAVE_QT="yes" > + HAVE_QT_WINDOWING="no" > +- QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`" > ++ QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`" I think patching GStreamer is not the right approach here. Could you instead apply http://patchwork.ozlabs.org/patch/967653/, which updates our pkgconf package to use a newer version that supports the --define-prefix option ? Thanks! Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v3] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-09-08 20:07 ` Thomas Petazzoni @ 2018-09-12 6:46 ` Iñigo Huguet 2018-09-12 7:38 ` Thomas Petazzoni 0 siblings, 1 reply; 17+ messages in thread From: Iñigo Huguet @ 2018-09-12 6:46 UTC (permalink / raw) To: buildroot Hi Thomas. I've tried to build gst1-plugins-good after applying your patch and removing the file 0001-configure-fix-qt-qpa-detection.patch. It builds with QT plugin enabled, so your solution works. I'm going to prepare a new iteration of my patch, remember to commit yours one first or it won't work. Thanks I?igo El 08/09/18 a las 22:07, Thomas Petazzoni escribi?: > Hello I?igo, > > On Mon, 3 Sep 2018 09:14:00 +0200, I?igo Huguet wrote: >> gst1-plugins-good is built with --disable-qt option, so qmlgl plugin >> is disabled. Added option to enable it, allowing to use elements >> qmlglsrc and qmlglsink. >> >> Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > Thanks for this new iteration! > >> diff --git a/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch b/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch >> new file mode 100644 >> index 0000000..d755354 >> --- /dev/null >> +++ b/package/gstreamer1/gst1-plugins-good/0001-configure-fix-qt-qpa-detection.patch >> @@ -0,0 +1,14 @@ >> +configure: fix QT QPA detection >> + >> +Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> >> + >> +--- gst1-plugins-good-1.14.2/configure_orig 2018-08-15 19:42:48.065311007 +0200 >> ++++ gst1-plugins-good-1.14.2/configure 2018-08-15 19:42:58.665528543 +0200 >> +@@ -35924,7 +35924,7 @@ >> + else >> + HAVE_QT="yes" >> + HAVE_QT_WINDOWING="no" >> +- QT_VERSION="`$PKG_CONFIG --define-prefix --modversion Qt5Core`" >> ++ QT_VERSION="`$PKG_CONFIG --modversion Qt5Core`" > I think patching GStreamer is not the right approach here. Could you > instead apply http://patchwork.ozlabs.org/patch/967653/, which updates > our pkgconf package to use a newer version that supports the > --define-prefix option ? > > Thanks! > > Thomas ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v3] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-09-12 6:46 ` Iñigo Huguet @ 2018-09-12 7:38 ` Thomas Petazzoni 0 siblings, 0 replies; 17+ messages in thread From: Thomas Petazzoni @ 2018-09-12 7:38 UTC (permalink / raw) To: buildroot Hello, On Wed, 12 Sep 2018 08:46:14 +0200, I?igo Huguet wrote: > I've tried to build gst1-plugins-good after applying your patch and > removing the file 0001-configure-fix-qt-qpa-detection.patch. It builds > with QT plugin enabled, so your solution works. Thanks a lot for testing this. > I'm going to prepare a new iteration of my patch, remember to commit > yours one first or it won't work. When sending the patch, please indicate below the "---" sign that is under your Signed-off-by line that there is a dependency on the pkgconf bump. Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v4] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-09-03 7:14 ` [Buildroot] [PATCH v3] " Iñigo Huguet 2018-09-03 11:59 ` Martin Kepplinger 2018-09-08 20:07 ` Thomas Petazzoni @ 2018-09-18 10:58 ` Iñigo Huguet 2019-04-07 13:36 ` Thomas Petazzoni 2 siblings, 1 reply; 17+ messages in thread From: Iñigo Huguet @ 2018-09-18 10:58 UTC (permalink / raw) To: buildroot gst1-plugins-good is built with --disable-qt option, so qmlgl plugin is disabled. Added option to enable it, allowing to use elements qmlglsrc and qmlglsink. Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> --- Dependency: this patch depends on the pkgconf bump to version 1.5.3 Changes v3 -> v4: - remove patch fo fix QT QPA detection. Instead pkgconf package must be bumped to a newer version to support --define-prefix option (suggested by Thomas Petazzoni) Changes v2 -> v3: - select qt5 widgets to enable host uic command (suggested by Peter Seiderer) - added patch to fix QT QPA detection (provided by Peter Seiderer) - fixed file formatting Changes v1 -> v2: - select packages instead of depending (suggested by Arnout Vandecappelle) - nested ifeq in makefile (suggested by Arnout Vandecappelle) Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> --- package/gstreamer1/gst1-plugins-good/Config.in | 17 +++++++++++++++++ .../gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 13 +++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in index afb9a41..30a4876 100644 --- a/package/gstreamer1/gst1-plugins-good/Config.in +++ b/package/gstreamer1/gst1-plugins-good/Config.in @@ -283,6 +283,23 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS4 help Open Sound System (OSS) version 4 support for GStreamer +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL + bool "qmlgl (qt5)" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative-quick + select BR2_PACKAGE_QT5BASE_WIDGETS + select BR2_PACKAGE_QT5DECLARATIVE + select BR2_PACKAGE_QT5DECLARATIVE_QUICK + select BR2_PACKAGE_QT5X11EXTRAS if BR2_PACKAGE_QT5BASE_XCB + help + QT5 plugin which includes elements qmlglsrc and qmlglsink + +comment "qmlgl (qt5) plugin needs an OpenGL-capable Qt5 backend" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2 bool "v4l2" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 21a7668..4749d9a 100644 --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -20,8 +20,7 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-osx_video \ --disable-aalib \ --disable-aalibtest \ - --disable-libcaca \ - --disable-qt + --disable-libcaca # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ @@ -334,6 +333,16 @@ else GST1_PLUGINS_GOOD_CONF_OPTS += --disable-oss4 endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_QMLGL),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-qt +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5declarative +ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) +GST1_PLUGINS_GOOD_DEPENDENCIES += qt5x11extras +endif +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-qt +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y) GST1_PLUGINS_GOOD_CONF_OPTS += --enable-gst_v4l2 else -- 2.7.4 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [Buildroot] [PATCH v4] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) 2018-09-18 10:58 ` [Buildroot] [PATCH v4] " Iñigo Huguet @ 2019-04-07 13:36 ` Thomas Petazzoni 0 siblings, 0 replies; 17+ messages in thread From: Thomas Petazzoni @ 2019-04-07 13:36 UTC (permalink / raw) To: buildroot On Tue, 18 Sep 2018 12:58:27 +0200 I?igo Huguet <inigohuguet@fanamoel.com> wrote: > gst1-plugins-good is built with --disable-qt option, so qmlgl plugin > is disabled. Added option to enable it, allowing to use elements > qmlglsrc and qmlglsink. > > Signed-off-by: I?igo Huguet <inigohuguet@fanamoel.com> > > --- > Dependency: this patch depends on the pkgconf bump to version 1.5.3 Applied to master, thanks! Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2019-04-07 13:36 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-07-21 9:13 [Buildroot] [PATCH 1/1] Add option to the gst1-plugins-bad package to enable/disable the qt plugin Glenn Coombs 2017-07-21 9:22 ` Thomas Petazzoni 2017-07-24 6:19 ` Glenn Coombs 2017-08-23 12:32 ` Thomas Petazzoni 2018-07-23 8:55 ` [Buildroot] [PATCH 1/1] gst1-plugins-good: add option for qmlgl plugin (qt5 plugin) Iñigo Huguet 2018-07-23 11:10 ` Iñigo Huguet 2018-07-28 22:22 ` Arnout Vandecappelle 2018-08-02 11:11 ` Iñigo Huguet 2018-08-14 14:22 ` Thomas Petazzoni 2018-08-15 19:02 ` Peter Seiderer 2018-09-03 7:14 ` [Buildroot] [PATCH v3] " Iñigo Huguet 2018-09-03 11:59 ` Martin Kepplinger 2018-09-08 20:07 ` Thomas Petazzoni 2018-09-12 6:46 ` Iñigo Huguet 2018-09-12 7:38 ` Thomas Petazzoni 2018-09-18 10:58 ` [Buildroot] [PATCH v4] " Iñigo Huguet 2019-04-07 13:36 ` Thomas Petazzoni
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.