gst1-imx: add menuconfig to select each plugin individually
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Also making each plugin dependencies clearer with comments.
--- package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ 2 files changed, 108 insertions(+), 13 deletions(-)
package/gstreamer1/gst1-imx/Config.in +76 -13
@@ -1,4 +1,8 @@ -config BR2_PACKAGE_GST1_IMX +comment "gst1-imx needs a toolchain w/ dynamic library" + depends on BR2_arm + depends on BR2_STATIC_LIBS + +menuconfig BR2_PACKAGE_GST1_IMX bool "gst1-imx" depends on BR2_arm # Only relevant for i.MX depends on !BR2_STATIC_LIBS
@@ -7,18 +11,77 @@ config BR2_PACKAGE_GST1_IMX This is a set of GStreamer 1.0 plugins for plugins for Freescale's i.MX platforms, which make use of the i.MX multimedia capabilities. - This software supports only the i.MX6 SoC family. + https://github.com/Freescale/gstreamer-imx - The IPU and PXP plugins are built when an imx-specific kernel is - enabled. - The V4L2 plugin is built when BR2_PACKAGE_GST1_PLUGINS_BAD is enabled. - The VPU plugin is built when BR2_PACKAGE_LIBIMXVPUAPI is enabled. - The EGL plugin is built when BR2_PACKAGE_IMX_GPU_VIV is enabled. - The G2D plugin is built when BR2_PACKAGE_IMX_GPU_VIV_G2D is enabled. - The MP3 plugin is built when BR2_PACKAGE_IMX_CODEC is enabled. +if BR2_PACKAGE_GST1_IMX - https://github.com/Freescale/gstreamer-imx +config BR2_PACKAGE_GST1_IMX_EGLVISINK + bool "imxeglvivsink" + depends on BR2_PACKAGE_IMX_GPU_VIV + help + Elements leveraging the 3D GPU -comment "gst1-imx needs a toolchain w/ dynamic library" - depends on BR2_arm - depends on BR2_STATIC_LIBS +comment "imxeglvivsink needs the Vivante 3D libraries" + depends on !BR2_PACKAGE_IMX_GPU_VIV + +config BR2_PACKAGE_GST1_IMX_G2D + bool "imxg2d" + depends on BR2_PACKAGE_IMX_GPU_VIV_G2D + help + Elements leveraging the 2D GPU + +comment "imxg2d needs the Vivante 2D libraries" + depends on !BR2_PACKAGE_IMX_GPU_VIV_G2D + +config BR2_PACKAGE_GST1_IMX_IPU + bool "imxipu" + depends on BR2_LINUX_KERNEL + help + Elements leveraging the IPU + +comment "imxipu needs an imx-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_GST1_IMX_MP3ENCODER + bool "mp3encoder" + depends on BR2_PACKAGE_IMX_CODEC + help + Elements for MP3 encoding + +comment "mp3encoder needs the i.MX codec binaries" + depends on !BR2_PACKAGE_IMX_CODEC + +config BR2_PACKAGE_GST1_IMX_PXP + bool "imxpxp" + depends on BR2_LINUX_KERNEL + help + Elements leveraging the PXP + +comment "imxpxp needs an imx-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_GST1_IMX_UNIAUDIODEC + bool "uniaudiodec" + depends on BR2_PACKAGE_IMX_CODEC + help + Elements for audio decoding + +comment "uniaudiodec needs the i.MX codec binaries" + depends on !BR2_PACKAGE_IMX_CODEC + +config BR2_PACKAGE_GST1_IMX_VPU + bool "imxvpu" + depends on BR2_PACKAGE_LIBIMXVPUAPI + help + Elements leveraging the VPU + +comment "imxvpu needs the VPU imxvpuapi library" + depends on !BR2_PACKAGE_LIBIMXVPUAPI + +config BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC + bool "imxv4l2videosrc" + select BR2_PACKAGE_GST1_PLUGINS_BAD + help + Elements for V4L2 capture + +endif
package/gstreamer1/gst1-imx/gst1-imx.mk +32 -0
@@ -26,6 +26,38 @@ GST1_IMX_DEPENDENCIES += linux GST1_IMX_CONF_OPTS += --kernel-headers="$(LINUX_DIR)/include" endif +ifneq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) +GST1_IMX_CONF_OPTS += --disable-eglvivsink +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_G2D),y) +GST1_IMX_CONF_OPTS += --disable-g2d +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_IPU),y) +GST1_IMX_CONF_OPTS += --disable-ipu +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y) +GST1_IMX_CONF_OPTS += --disable-mp3encoder +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_PXP),y) +GST1_IMX_CONF_OPTS += --disable-pxp +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y) +GST1_IMX_CONF_OPTS += --disable-uniaudiodec +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_VPU),y) +GST1_IMX_CONF_OPTS += --disable-vpu +endif + +ifneq ($(BR2_PACKAGE_GST1_IMX_V4L2VIDEOSRC),y) +GST1_IMX_CONF_OPTS += --disable-v4l2src +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD),y) GST1_IMX_DEPENDENCIES += gst1-plugins-bad endif
Signature · 1 line
2.9.3
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hello Gary,
Quoted 7 lines · Gary Bisson
Also making each plugin dependencies clearer with comments.
Signed-off-by Gary Bisson <[email protected]>--- package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ 2 files changed, 108 insertions(+), 13 deletions(-)
Thanks for the patch. I have a few questions/comments, see below.
package/gstreamer1/gst1-imx/Config.in config BR2_PACKAGE_GST1_IMX · line 22
Quoted 5 lines
package/gstreamer1/gst1-imx/Config.in +5
-0+config BR2_PACKAGE_GST1_IMX_EGLVISINK + bool "imxeglvivsink" + depends on BR2_PACKAGE_IMX_GPU_VIV + help + Elements leveraging the 3D GPU
Instead of doing "depends on" everywhere, can we use "select" in the cases where the dependencies of the package to select are not too crazy ?
package/gstreamer1/gst1-imx/gst1-imx.mk GST1_IMX_DEPENDENCIES += linux · line 31
Quoted 3 lines
package/gstreamer1/gst1-imx/gst1-imx.mk +3
-0+ifneq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) +GST1_IMX_CONF_OPTS += --disable-eglvivsink +endif
For all those options, please use the standard Buildroot way of expressing dependencies:
ifeq ($(BR2_PACKAGE_FOO),y)BAZ_CONF_OPTS += --enable-fooBAZ_DEPENDENCIES += foo
elseBAZ_CONF_OPTS += --disable-foo
endif
i.e:
1/ Add an explicit --enable-<foo> for each option
2/ Group the --enable/--disable passing with the addition of the
dependency
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hi Thomas, all,
Quoted 14 lines · Thomas Petazzoni
Hello Gary,
Quoted 7 lines · Gary Bisson
Also making each plugin dependencies clearer with comments.
Signed-off-by Gary Bisson <[email protected]>--- package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ 2 files changed, 108 insertions(+), 13 deletions(-)Thanks for the patch. I have a few questions/comments, see below.
Quoted 9 lines
package/gstreamer1/gst1-imx/Config.in config BR2_PACKAGE_GST1_IMX · line 22
Quoted 5 lines
package/gstreamer1/gst1-imx/Config.in +5
-0+config BR2_PACKAGE_GST1_IMX_EGLVISINK + bool "imxeglvivsink" + depends on BR2_PACKAGE_IMX_GPU_VIV + help + Elements leveraging the 3D GPUInstead of doing "depends on" everywhere, can we use "select" in the cases where the dependencies of the package to select are not too crazy ?
Well in most cases it isn't possible, here are some details:
- BR2_PACKAGE_IMX_GPU_VIV and BR2_PACKAGE_IMX_GPU_VIV_G2D depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q which isn't selectable.
- We can't select BR2_LINUX_KERNEL since it needs to be a i.MX kernel.
- BR2_PACKAGE_LIBIMXVPUAPI depends on the i.MX SoC being used which cannot be selectable (MX5 or MX6)
I guess I can select IMX_CODEC though, I'll add that to the V2.
Quoted 14 lines
package/gstreamer1/gst1-imx/gst1-imx.mk GST1_IMX_DEPENDENCIES += linux · line 31
Quoted 3 lines
package/gstreamer1/gst1-imx/gst1-imx.mk +3
-0+ifneq ($(BR2_PACKAGE_GST1_IMX_EGLVISINK),y) +GST1_IMX_CONF_OPTS += --disable-eglvivsink +endifFor all those options, please use the standard Buildroot way of expressing dependencies:
ifeq ($(BR2_PACKAGE_FOO),y)
BAZ_CONF_OPTS+= --enable-fooBAZ_DEPENDENCIES+= foo
elseBAZ_CONF_OPTS+= --disable-foo
endif
Quoted 3 lines
i.e:
1/ Add an explicit --enable-<foo> for each option
This was on purpose since the package only look for --disable-foo options. All the plugins are enabled by default, see patch in package:
https://github.com/Freescale/gstreamer-imx/commit/989ab048
I can still do:
ifeq ($(BR2_PACKAGE_FOO),y)
elseBAZ_CONF_OPTS += --disable-foo
endif
But my opinion is that --enable-foo is misleading.
Quoted 2 lines
2/ Group the --enable/--disable passing with the addition of the
dependency
Ok.
Thanks for your feedback.
Regards,
Gary
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hello,
Quoted 6 lines · Gary Bisson
Well in most cases it isn't possible, here are some details:
-BR2_PACKAGE_IMX_GPU_VIVandBR2_PACKAGE_IMX_GPU_VIV_G2Ddepends onBR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Qwhich isn't selectable.
- We can't selectBR2_LINUX_KERNELsince it needs to be a i.MX kernel.
-BR2_PACKAGE_LIBIMXVPUAPIdepends on the i.MX SoC being used which cannot be selectable (MX5 or MX6)
OK, indeed many of the sub-options cannot "select" their dependencies.
Quoted 1 line
I guess I can select
IMX_CODECthough, I'll add that to the V2.
OK. Another possibility is to say that all sub-options should use "depends on", for consistency. I don't have a strong feeling about this either way.
Quoted 8 lines
Quoted 1 line
1/ Add an explicit --enable-<foo> for each option
This was on purpose since the package only look for --disable-foo options. All the plugins are enabled by default, see patch in package:
https://github.com/Freescale/gstreamer-imx/commit/989ab048I can still do:
ifeq ($(BR2_PACKAGE_FOO),y)
Here add the dependency addition.
Quoted 5 lines
else
BAZ_CONF_OPTS+= --disable-foo
endifBut my opinion is that --enable-foo is misleading.
Why? There are two options here:
1/ --enable-<foo> doesn't exist and would cause a failure if passed.
In this case indeed, don't pass it. And add a quick comment above, like "# There's no --enable-<foo> option".
2/ --enable-<foo> exists. In this case, you should pass it even if the
default is to have the feature enabled. We indeed want to be explicit in Buildroot when enabling/disabling features.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hi Thomas, all,
Quoted 11 lines · Thomas Petazzoni
Hello,
Quoted 6 lines · Gary Bisson
Well in most cases it isn't possible, here are some details:
-BR2_PACKAGE_IMX_GPU_VIVandBR2_PACKAGE_IMX_GPU_VIV_G2Ddepends onBR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Qwhich isn't selectable.
- We can't selectBR2_LINUX_KERNELsince it needs to be a i.MX kernel.
-BR2_PACKAGE_LIBIMXVPUAPIdepends on the i.MX SoC being used which cannot be selectable (MX5 or MX6)
Quoted 7 lines
OK, indeed many of the sub-options cannot "select" their dependencies.
Quoted 1 line
I guess I can select
IMX_CODECthough, I'll add that to the V2.OK. Another possibility is to say that all sub-options should use "depends on", for consistency. I don't have a strong feeling about this either way.
I'm ok with a few select, it sounds more user-friendly than depends-only but I don't have a strong opinion on it either.
Quoted 15 lines
Quoted 8 lines
Quoted 1 line
1/ Add an explicit --enable-<foo> for each option
This was on purpose since the package only look for --disable-foo options. All the plugins are enabled by default, see patch in package:
https://github.com/Freescale/gstreamer-imx/commit/989ab048I can still do:
ifeq ($(BR2_PACKAGE_FOO),y)Here add the dependency addition.
Quoted 4 lines
else
BAZ_CONF_OPTS+= --disable-foo
endif
Quoted 7 lines
Quoted 1 line
But my opinion is that --enable-foo is misleading.
Why? There are two options here:
1/ --enable-<foo> doesn't exist and would cause a failure if passed.
In this case indeed, don't pass it. And add a quick comment above, like "# There's no --enable-<foo> option".
No, as pointed above in the package repo, the --enable-foo doesn't exist and is discarded. It doesn't introduce any error, but it is just that we are passing arguments that we know are discarded, is it really necessary? I might go with the comment although there's no failure if the option is passed, what do you think?
Regards,
Gary
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hello,
Quoted 5 lines · Gary Bisson
No, as pointed above in the package repo, the --enable-foo doesn't exist and is discarded. It doesn't introduce any error, but it is just that we are passing arguments that we know are discarded, is it really necessary? I might go with the comment although there's no failure if the option is passed, what do you think?
OK, in this case, not passing --enable and having a comment sounds good.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
In reply to Gary BissonQuoted 26 lines · Gary Bisson
Hi Thomas, all,
Quoted 14 lines · Thomas Petazzoni
Quoted 14 lines
Hello Gary,
Quoted 7 lines · Gary Bisson
Quoted 7 lines
Also making each plugin dependencies clearer with comments.
Signed-off-by Gary Bisson <[email protected]>--- package/gstreamer1/gst1-imx/Config.in | 89 ++++++++++++++++++++++++++++----- package/gstreamer1/gst1-imx/gst1-imx.mk | 32 ++++++++++++ 2 files changed, 108 insertions(+), 13 deletions(-)Thanks for the patch. I have a few questions/comments, see below.
Quoted 9 lines
Quoted 9 lines
Quoted 5 lines
package/gstreamer1/gst1-imx/Config.in config BR2_PACKAGE_GST1_IMX · line 22
Quoted 5 lines
package/gstreamer1/gst1-imx/Config.in +5
-0+config BR2_PACKAGE_GST1_IMX_EGLVISINK + bool "imxeglvivsink" + depends on BR2_PACKAGE_IMX_GPU_VIV + help + Elements leveraging the 3D GPUInstead of doing "depends on" everywhere, can we use "select" in the cases where the dependencies of the package to select are not too crazy ?
Quoted 6 lines
Well in most cases it isn't possible, here are some details:
-BR2_PACKAGE_IMX_GPU_VIVandBR2_PACKAGE_IMX_GPU_VIV_G2Ddepends onBR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Qwhich isn't selectable.
- We can't selectBR2_LINUX_KERNELsince it needs to be a i.MX kernel.
-BR2_PACKAGE_LIBIMXVPUAPIdepends on the i.MX SoC being used which cannot be selectable (MX5 or MX6)
The logical thing to do would be to select BR2_PACKAGE_IMX_GPU_VIV and depend
on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q. The kernel you obviously can't select. And for libimxvpuapi you can depend on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU. That way, the dependencies are all gathered in the freescale-imx menu. And looking at it that way, you will see that they are actually architecture dependencies, so no need for comments.
And actually, looking at it that way: it might make sense to let the whole
package depend on BR2_PACKAGE_FREESCALE_IMX (with appropriate comment), so you can add "architecture" dependencies, e.g. mx25 doesn't have an IPU. Though maybe that's going a bit too far.
Quoted 2 lines
I guess I can select
IMX_CODECthough, I'll add that to the V2.
IMX_CODEC also depends on BR2_PACKAGE_FREESCALE_IMX, which you can't select
(because otherwise the platform choice would get some random incorrect value).
Regards,
Arnout
Signature · 6 lines
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
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hi Arnout, All,
Quoted 15 lines · Arnout Vandecappelle
<snip>
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Instead of doing "depends on" everywhere, can we use "select" in the
cases where the dependencies of the package to select are not too
crazy ?Quoted 8 lines
Well in most cases it isn't possible, here are some details:
-BR2_PACKAGE_IMX_GPU_VIVandBR2_PACKAGE_IMX_GPU_VIV_G2Ddepends on
BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Qwhich isn't selectable.
- We can't selectBR2_LINUX_KERNELsince it needs to be a i.MX kernel.
-BR2_PACKAGE_LIBIMXVPUAPIdepends on the i.MX SoC being used which cannot be selectable (MX5 or MX6)
Quoted 10 lines
The logical thing to do would be to select
BR2_PACKAGE_IMX_GPU_VIVand depend
onBR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q. The kernel you obviously can't
select. And for libimxvpuapi you can depend onBR2_PACKAGE_FREESCALE_IMX_HAS_VPU. That way, the dependencies are all gathered
in the freescale-imx menu. And looking at it that way, you will see that they
are actually architecture dependencies, so no need for comments.
I think we can't, here is what I've tried for the EGL/G2D plugins:
config BR2_PACKAGE_GST1_IMX_EGLVISINK
bool "imxeglvivsink"
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q select BR2_PACKAGE_IMX_GPU_VIV
help
Elements leveraging the 3D GPU
comment "imxeglvivsink only works with i.MX6 3D GPU"
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
config BR2_PACKAGE_GST1_IMX_G2D
bool "imxg2d"
depends on BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q select BR2_PACKAGE_IMX_GPU_VIV
select BR2_PACKAGE_IMX_GPU_VIV_G2D
help
Elements leveraging the 2D GPU
comment "imxg2d only works with i.MX6 2D GPU"
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q
The above gives:
package/mesa3d/Config.in:173:error: recursive dependency detected!
package/mesa3d/Config.in:173: symbol BR2_PACKAGE_MESA3D_OPENGL_EGL is
selected by BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
package/mesa3d/Config.in:92: symbolBR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL depends on BR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbol BR2_PACKAGE_MESA3D is selected byBR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV
package/x11r7/xdriver_xf86-video-imx-viv/Config.in:1: symbolBR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
package/freescale-imx/imx-gpu-viv/Config.in:34: symbolBR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is part of choice <choice>
package/freescale-imx/imx-gpu-viv/Config.in:27: choice <choice> contains
symbol <choice>
package/freescale-imx/imx-gpu-viv/Config.in:27: choice <choice> contains
symbol BR2_PACKAGE_IMX_GPU_VIV
package/freescale-imx/imx-gpu-viv/Config.in:5: symbolBR2_PACKAGE_IMX_GPU_VIV is selected by BR2_PACKAGE_GST1_IMX_EGLVISINK
package/gstreamer1/gst1-imx/Config.in:18: symbolBR2_PACKAGE_GST1_IMX_EGLVISINK depends on BR2_PACKAGE_GSTREAMER1
package/gstreamer1/gstreamer1/Config.in:5: symbolBR2_PACKAGE_GSTREAMER1 is selected by BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
package/webkitgtk/Config.in:57: symbol BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
depends on BR2_PACKAGE_WEBKITGTK
package/webkitgtk/Config.in:20: symbol BR2_PACKAGE_WEBKITGTK is selected
by BR2_PACKAGE_MIDORI
package/midori/Config.in:6: symbol BR2_PACKAGE_MIDORI depends onBR2_PACKAGE_LIBGTK3
package/libgtk3/Config.in:13: symbol BR2_PACKAGE_LIBGTK3 depends onBR2_PACKAGE_HAS_LIBEGL_WAYLAND
package/opengl/libegl/Config.in:4: symbolBR2_PACKAGE_HAS_LIBEGL_WAYLAND is selected by BR2_PACKAGE_MESA3D_OPENGL_EGL
Any thoughts? I think the issue comes with the graphics backend selection (X11 or FB). Since I'm no Kconfig expert, I'd rather stick to the depends option.
Quoted 6 lines
Quoted 1 line
I guess I can select
IMX_CODECthough, I'll add that to the V2.
IMX_CODECalso depends onBR2_PACKAGE_FREESCALE_IMX, which you can't select
(because otherwise the platform choice would get some random incorrect value).
Same, we actually can't select BR2_PACKAGE_FREESCALE_IMX, we get the same recursive dependency issue.
What about we stick with the depends for now?
My V2 will take care of the dependencies inside the 'ifeq' statements in gst1-imx.mk. BTW, doing it as suggested kind of makes the code redundant since several plugins might have the same dependency, like:
ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y)
# There's no --enable-mp3encoder optionGST1_IMX_DEPENDENCIES += imx-codec
elseGST1_IMX_CONF_OPTS += --disable-mp3encoder
endif
ifeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y)
# There's no --enable-uniaudiodec optionGST1_IMX_DEPENDENCIES += imx-codec
elseGST1_IMX_CONF_OPTS += --disable-uniaudiodec
endif
Is that ok? I know it doesn't bring any issue, just look a little redundant.
Regards,
Gary
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hello,
Quoted 1 line · Gary Bisson
What about we stick with the depends for now?
It's fine for me.
Quoted 18 lines
My V2 will take care of the dependencies inside the 'ifeq' statements in gst1-imx.mk. BTW, doing it as suggested kind of makes the code redundant since several plugins might have the same dependency, like:
ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y)
# There's no --enable-mp3encoder optionGST1_IMX_DEPENDENCIES+= imx-codec
elseGST1_IMX_CONF_OPTS+= --disable-mp3encoder
endififeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y)
# There's no --enable-uniaudiodec optionGST1_IMX_DEPENDENCIES+= imx-codec
elseGST1_IMX_CONF_OPTS+= --disable-uniaudiodec
endif
Quoted 2 lines
Is that ok? I know it doesn't bring any issue, just look a little redundant.
If only a single dependency is needed for those codecs, is it really necessary to have different options to enable/disable them? How much space do they take each?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hi Thomas,
Quoted 26 lines · Thomas Petazzoni
Hello,
Quoted 1 line · Gary Bisson
What about we stick with the depends for now?
It's fine for me.
Quoted 18 lines
My V2 will take care of the dependencies inside the 'ifeq' statements in gst1-imx.mk. BTW, doing it as suggested kind of makes the code redundant since several plugins might have the same dependency, like:
ifeq ($(BR2_PACKAGE_GST1_IMX_MP3ENCODER),y)
# There's no --enable-mp3encoder optionGST1_IMX_DEPENDENCIES+= imx-codec
elseGST1_IMX_CONF_OPTS+= --disable-mp3encoder
endififeq ($(BR2_PACKAGE_GST1_IMX_UNIAUDIODEC),y)
# There's no --enable-uniaudiodec optionGST1_IMX_DEPENDENCIES+= imx-codec
elseGST1_IMX_CONF_OPTS+= --disable-uniaudiodec
endif
Quoted 6 lines
Quoted 2 lines
Is that ok? I know it doesn't bring any issue, just look a little redundant.
If only a single dependency is needed for those codecs, is it really necessary to have different options to enable/disable them? How much space do they take each?
They actually end up in the same libgstimxaudio.so file. But the problem of redundancy remains for the other plugins as well:
- Both eglvivsink and g2d depend on imx-gpu-viv
- Both PXP and IPU depend on the kernel headers
Regards,
Gary
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hello,
Quoted 8 lines · Gary Bisson
Quoted 3 lines
If only a single dependency is needed for those codecs, is it really necessary to have different options to enable/disable them? How much space do they take each?
They actually end up in the same libgstimxaudio.so file. But the problem of redundancy remains for the other plugins as well:
- Both eglvivsink and g2d depend on imx-gpu-viv
- Both PXP and IPU depend on the kernel headers
Right. OK, then maybe we need to keep your original proposal in the end. Sorry for changing my mind so often :/
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 gst1-imx: add menuconfig to select each plugin individually
Hi Thomas,
Quoted 8 lines · Thomas Petazzoni
Hello,
Quoted 4 lines · Gary Bisson
Quoted 3 lines
If only a single dependency is needed for those codecs, is it really necessary to have different options to enable/disable them? How much space do they take each?
Quoted 7 lines
Quoted 4 lines
They actually end up in the same libgstimxaudio.so file. But the problem of redundancy remains for the other plugins as well:
- Both eglvivsink and g2d depend on imx-gpu-viv
- Both PXP and IPU depend on the kernel headersRight. OK, then maybe we need to keep your original proposal in the end. Sorry for changing my mind so often :/
No problem. So, just to be sure we are on the same page, I need to make a V2 with 'ifeq' + --enable-foo comment.
I can add the gst1-plugins-bad dependency to the V4L2 plugin though, that is the only dependency that is not shared.
Let me know if there's anything I should do.
Regards,
Gary