All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/gstreamer1/gst1-plugins-good: Optionally select GUDEV
@ 2020-05-31 13:53 Ezequiel Garcia
  2020-05-31 20:49 ` Yann E. MORIN
  0 siblings, 1 reply; 4+ messages in thread
From: Ezequiel Garcia @ 2020-05-31 13:53 UTC (permalink / raw)
  To: buildroot

From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

Using udev for probes (such as Video4Linux2 devices probes)
and device monitor greatly improves load time and monitoring performance.

It also enables hotplug monitoring for cameras.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
 package/gstreamer1/gst1-plugins-good/Config.in            | 1 +
 package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 20aebc473e89..be77f5a82e3d 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -295,6 +295,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2
 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
 	bool "v4l2"
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api
+	select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV
 	help
 	  elements for Video 4 Linux
 
diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
index 223af9850897..6878ce6ae85b 100644
--- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
+++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
@@ -40,6 +40,10 @@ else
 GST1_PLUGINS_GOOD_CONF_OPTS += -Djack=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
+GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev
+endif
+
 ifeq ($(BR2_PACKAGE_LIBV4L),y)
 GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-libv4l2=enabled
 GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l
-- 
2.26.0.rc2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] package/gstreamer1/gst1-plugins-good: Optionally select GUDEV
  2020-05-31 13:53 [Buildroot] [PATCH] package/gstreamer1/gst1-plugins-good: Optionally select GUDEV Ezequiel Garcia
@ 2020-05-31 20:49 ` Yann E. MORIN
       [not found]   ` <cecdfdbdb777ecdda021d6891da01e9be2f5df44.camel@collabora.com>
  0 siblings, 1 reply; 4+ messages in thread
From: Yann E. MORIN @ 2020-05-31 20:49 UTC (permalink / raw)
  To: buildroot

Ezequiel, Nicolas, All,

On 2020-05-31 10:53 -0300, Ezequiel Garcia spake thusly:
> From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> 
> Using udev for probes (such as Video4Linux2 devices probes)
> and device monitor greatly improves load time and monitoring performance.
> 
> It also enables hotplug monitoring for cameras.
> 
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> ---
>  package/gstreamer1/gst1-plugins-good/Config.in            | 1 +
>  package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 4 ++++
>  2 files changed, 5 insertions(+)
> 
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
> index 20aebc473e89..be77f5a82e3d 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -295,6 +295,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2
>  config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
>  	bool "v4l2"
>  	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api
> +	select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV

The title is a bit misleading: gudev is not optional; instead, it is
forcibly selected when udev is enabled.

>  	help
>  	  elements for Video 4 Linux
>  
> diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> index 223af9850897..6878ce6ae85b 100644
> --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> @@ -40,6 +40,10 @@ else
>  GST1_PLUGINS_GOOD_CONF_OPTS += -Djack=disabled
>  endif
>  
> +ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
> +GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev

I think we would also need to add:

    GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=enabled

and the converse when ghudev is not enabled:

    GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=disabled

Care to check that, and respin please?

Regards,
Yann E. MORIN.

> +endif
> +
>  ifeq ($(BR2_PACKAGE_LIBV4L),y)
>  GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-libv4l2=enabled
>  GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l
> -- 
> 2.26.0.rc2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] package/gstreamer1/gst1-plugins-good: Optionally select GUDEV
       [not found]   ` <cecdfdbdb777ecdda021d6891da01e9be2f5df44.camel@collabora.com>
@ 2020-06-01  8:01     ` Yann E. MORIN
  0 siblings, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2020-06-01  8:01 UTC (permalink / raw)
  To: buildroot

Ezequiel, Nicolas, All,

On 2020-05-31 21:05 -0300, Ezequiel Garcia spake thusly:
> On Sun, 2020-05-31 at 22:49 +0200, Yann E. MORIN wrote:
> > On 2020-05-31 10:53 -0300, Ezequiel Garcia spake thusly:
> > > From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
[--SNIP--]
> > > +	select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV
> > The title is a bit misleading: gudev is not optional; instead, it is
> > forcibly selected when udev is enabled.
> 
> How about "package/gstreamer1/gst1-plugins-good: Select GUDEV if available"

As I see it, gudev is optional, and brings the whole libglib2 stack
behind it. Do we really need to forcibly select it?

I mean: can't we just keep the part in the .mk, to guarantee the build
ordre when libgudev is enabled?

> > > +ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
> > > +GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev

I.e. we just keep that part.

> > I think we would also need to add:
> >     GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=enabled
> > and the converse when ghudev is not enabled:
> >     GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=disabled
> You made me dig on this a bit closer :-)

That was my intention. ;-)

> v4l2-gudev is a meson feature, auto-detected by default,
> so the above is not required to enable it on the build.
> 
> The same applies to v4l2-libv4l2, so it seems to me
> enabling/disabling is not needed.

We want explcit enableing/disabling of optional features when there is
an option for that: this ensures that the buildsystem of the package
does not accidentally picks up the headers or libs from the host by
chance (e.g. a build on an x86 host for an x86 target).

By the look of it, that val2-gudev option is exactly about controlling
use of gudev:

    option('v4l2-gudev', type : 'feature', value : 'auto',
            description : 'Use libgudev for probing v4l2 devices')

So, is this correct, that this option controls use of gudev?

> If the library is present, the only thing needed is 
> the xxx_DEPENDENCIES change, to enforce a build order.
> 
> The story is different for the v4l2 option. It's also
> an auto-detected feature, but we are interested
> in controlling its enable/disable state.

Regards,
Yann E. MORIN.

> > Regards,
> > Yann E. MORIN.
> > 
> > > +endif
> > > +
> > >  ifeq ($(BR2_PACKAGE_LIBV4L),y)
> > >  GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-libv4l2=enabled
> > >  GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l
> > > -- 
> > > 2.26.0.rc2
> > > 
> > > _______________________________________________
> > > buildroot mailing list
> > > buildroot at busybox.net
> > > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] package/gstreamer1/gst1-plugins-good: Optionally select GUDEV
@ 2020-05-31 13:54 Ezequiel Garcia
  0 siblings, 0 replies; 4+ messages in thread
From: Ezequiel Garcia @ 2020-05-31 13:54 UTC (permalink / raw)
  To: buildroot

From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

Using udev for probes (such as Video4Linux2 devices probes)
and device monitor greatly improves load time and monitoring performance.

It also enables hotplug monitoring for cameras.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
 package/gstreamer1/gst1-plugins-good/Config.in            | 1 +
 package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 20aebc473e89..be77f5a82e3d 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -295,6 +295,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SHOUT2
 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
 	bool "v4l2"
 	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # multi planar api
+	select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV
 	help
 	  elements for Video 4 Linux
 
diff --git a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
index 223af9850897..6878ce6ae85b 100644
--- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
+++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
@@ -40,6 +40,10 @@ else
 GST1_PLUGINS_GOOD_CONF_OPTS += -Djack=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
+GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev
+endif
+
 ifeq ($(BR2_PACKAGE_LIBV4L),y)
 GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-libv4l2=enabled
 GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l
-- 
2.26.0.rc2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-06-01  8:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-31 13:53 [Buildroot] [PATCH] package/gstreamer1/gst1-plugins-good: Optionally select GUDEV Ezequiel Garcia
2020-05-31 20:49 ` Yann E. MORIN
     [not found]   ` <cecdfdbdb777ecdda021d6891da01e9be2f5df44.camel@collabora.com>
2020-06-01  8:01     ` Yann E. MORIN
2020-05-31 13:54 Ezequiel Garcia

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.