All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.