diff mbox series

[v3] package/gstreamer1/gst1-plugins-good: Enable GUDEV for V4L2 if available

Message ID 20200608000026.4237-1-ezequiel@vanguardiasur.com.ar
State Accepted
Headers show
Series [v3] package/gstreamer1/gst1-plugins-good: Enable GUDEV for V4L2 if available | expand

Commit Message

Ezequiel Garcia June 8, 2020, midnight UTC
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

Video4Linux2 plugins can udev for device probing and monitor.
This 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>
---
v3:
* Apply the dependency only if V4L2 plugins are enabled
v2:
* Enable/disable v4l2-gudev explicitly

 package/gstreamer1/gst1-plugins-good/Config.in            | 1 +
 package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 7 +++++++
 2 files changed, 8 insertions(+)

Comments

Ezequiel Garcia July 2, 2020, 8:54 p.m. UTC | #1
Gentle ping :-)

On Sun, 7 Jun 2020 at 21:01, Ezequiel Garcia
<ezequiel@vanguardiasur.com.ar> wrote:
>
> From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
>
> Video4Linux2 plugins can udev for device probing and monitor.
> This 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>
> ---
> v3:
> * Apply the dependency only if V4L2 plugins are enabled
> v2:
> * Enable/disable v4l2-gudev explicitly
>
>  package/gstreamer1/gst1-plugins-good/Config.in            | 1 +
>  package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 7 +++++++
>  2 files changed, 8 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..7bb2fa5f3720 100644
> --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> @@ -355,6 +355,13 @@ endif
>
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y)
>  GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=enabled
> +# Enable use of gudev if available, for device probing and monitoring.
> +ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
> +GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev
> +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=enabled
> +else
> +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=disabled
> +endif
>  else
>  GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=disabled
>  endif
> --
> 2.26.0.rc2
>
Yann E. MORIN July 2, 2020, 9:51 p.m. UTC | #2
Nicolas, Ezequiel, All,

On 2020-06-07 21:00 -0300, Ezequiel Garcia spake thusly:
> From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> 
> Video4Linux2 plugins can udev for device probing and monitor.
> This greatly improves load time and monitoring performance.
> 
> It also enables hotplug monitoring for cameras.

Here, I've added a blurb explaining why we do not propagate the
dependencies from libgudev eventhough we select it.

I am always a bit conflicted that we don't do that explicitly, even if
superfluous.

But heck, the libglib2 world is not ready to drop the existing
dependencies (MMU, wchar, and threads) anytime soon, so this ought
to be enough for everybody (famous last words).

> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> v3:
> * Apply the dependency only if V4L2 plugins are enabled
> v2:
> * Enable/disable v4l2-gudev explicitly
> 
>  package/gstreamer1/gst1-plugins-good/Config.in            | 1 +
>  package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk | 7 +++++++
>  2 files changed, 8 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..7bb2fa5f3720 100644
> --- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> +++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
> @@ -355,6 +355,13 @@ endif
>  
>  ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y)
>  GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=enabled
> +# Enable use of gudev if available, for device probing and monitoring.
> +ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
> +GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev
> +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=enabled
> +else
> +GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=disabled
> +endif
>  else
>  GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=disabled
>  endif
> -- 
> 2.26.0.rc2
>
Peter Korsgaard July 20, 2020, 6:17 a.m. UTC | #3
>>>>> "Ezequiel" == Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> writes:

 > From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
 > Video4Linux2 plugins can udev for device probing and monitor.
 > This 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>
 > ---
 > v3:
 > * Apply the dependency only if V4L2 plugins are enabled
 > v2:
 > * Enable/disable v4l2-gudev explicitly

Committed to 2020.02.x and 2020.05.x, thanks.
diff mbox series

Patch

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..7bb2fa5f3720 100644
--- a/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
+++ b/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk
@@ -355,6 +355,13 @@  endif
 
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2),y)
 GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=enabled
+# Enable use of gudev if available, for device probing and monitoring.
+ifeq ($(BR2_PACKAGE_LIBGUDEV),y)
+GST1_PLUGINS_GOOD_DEPENDENCIES += libgudev
+GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=enabled
+else
+GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2-gudev=disabled
+endif
 else
 GST1_PLUGINS_GOOD_CONF_OPTS += -Dv4l2=disabled
 endif