From 369a5b8d2b087596e907599ec013bf7e2de40bbf Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 12:25:21 -0500 Subject: imx-vpu: Move Chips&Media comment into DESCRIPTION Signed-off-by: Tom Hochstein --- recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb index 77c81f193..383a0e2a9 100644 --- a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb +++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb @@ -2,7 +2,7 @@ # Copyright (C) 2013-2016 Freescale Semiconductor # Copyright (C) 2017-2020 NXP -DESCRIPTION = "Freescale VPU library" +DESCRIPTION = "Freescale VPU library for Chips&Media VPU" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" @@ -28,5 +28,4 @@ do_install() { oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install } -# Compatible only for i.MX with Chips&Media VPU COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 744301e15a1085ec9363c4357c3158dbacb7318d Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 12:29:28 -0500 Subject: imx-alsa-plugins: Upgrade to NXP 5.15.32-2.0.0 Includes SWPDM support for i.MX 8. Signed-off-by: Tom Hochstein --- recipes-multimedia/alsa/imx-alsa-plugins_git.bb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb index eb3759055..1a53131d5 100644 --- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb +++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb @@ -17,10 +17,11 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f" inherit autotools pkgconfig use-imx-headers -SRCBRANCH = "MM_04.05.01_1909_L4.19.35" PV = "1.0.26+${SRCPV}" + SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}" -SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "0f32bca96f7027c0c1145b27d1790541d34fb84c" S = "${WORKDIR}/git" @@ -28,6 +29,11 @@ INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}" EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}"" +PACKAGECONFIG ??= "${PACKAGECONFIG_SWPDM}" +PACKAGECONFIG_SWPDM = "" +PACKAGECONFIG_SWPDM:mx8-nxp-bsp = "swpdm" +PACKAGECONFIG[swpdm] = "--enable-swpdm,--disable-swpdm,imx-sw-pdm" + INSANE_SKIP:${PN} = "dev-so" FILES:${PN} += "${libdir}/alsa-lib/libasound_*.so" -- cgit v1.2.3-54-g00ecf From f612e4214d369a8e84008ebfac95d88e6a9a5a43 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Wed, 31 Aug 2022 12:52:52 -0500 Subject: imx-codec: Upgrade 4.6.2 -> 4.7.0 - VPU support is limited to Chips&Media - Let package arch be more generic SOC-specfic - Fixes: d690e91f MMFMWK-9102-3 release/lib/dsp: Update lib_aacd_wrap_dsp ab775415 MMFMWK-9102-2 aacd_wrap: Add return success after copy codec data 93076c58 MMFMWK-9102-1 aacd_wrap: Remove free codec data buf when reset b3ea821c [configurea.ac] Update version to 4.7.0 for next release fdedb900 [configurea.ac] Update dsp version to 2.0.0 for next release 3e12abf4 MMFMWK-9090-3 release/lib: Update vorbis/wma dsp wrapper library 07d2d122 MMFMWK-9090-2 wma10d_wrapper: Change to use good way to get decode info a6fd6062 MMFMWK-9090-1 ua_wrapper: remove free codec buf in reset func 9c071602 MMFMWK-9089 vorbisd_wrapper: fix copy codec data error a4ce4242 [configurea.ac] Update dsp version to 1.2.2 for next release ce41e27a [configurea.ac] Update version to 4.6.5 for next release 267d74fc [configurea.ac] Update dsp version to 1.2.1 for next release ee983061 [configurea.ac] Update version to 4.6.4 for next release e17ab6f7 [configurea.ac] Update dsp version to 1.2.0 for next release c704facf [configurea.ac] Update dsp version to 1.2.00 for next release ec99ab25 [configurea.ac] Update version to 4.6.3 for next release Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-codec/imx-codec_4.6.2.bb | 119 ----------------------- recipes-multimedia/imx-codec/imx-codec_4.7.0.bb | 121 ++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 119 deletions(-) delete mode 100644 recipes-multimedia/imx-codec/imx-codec_4.6.2.bb create mode 100644 recipes-multimedia/imx-codec/imx-codec_4.7.0.bb diff --git a/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb b/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb deleted file mode 100644 index 3e1426947..000000000 --- a/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright 2017 NXP -# Copyright 2018 (C) O.S. Systems Software LTDA. -# Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia codec libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" - -# Backward compatibility -PROVIDES += "libfslcodec" - -SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" -SRC_URI[md5sum] = "309cae6f73a777f6e5a89831acf622ee" -SRC_URI[sha256sum] = "7b070ab3f1762accee2806e7aba4146ef5242c67a8cd88fb90dacfc1c8b3ef5e" - -inherit fsl-eula-unpack autotools pkgconfig - -# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point -EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ - bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" - -PACKAGECONFIG ?= "" -PACKAGECONFIG:imxvpu = "vpu" - -# We need to ensure we don't have '-src' package overrided -PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src' - -PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu" - -do_install:append() { - # LTIB move the files around or gst-fsl-plugin won't find them - for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do - mv $p ${D}${libdir} - done - rmdir ${D}${libdir}/imx-mm/video-codec - - # Fixup ownership of files - chown -R root:root ${D} -} - -python __set_insane_skip() { - # Ensure we have PACKAGES expanded - bb.build.exec_func("read_subpackage_metadata", d) - - for p in d.getVar('PACKAGES').split(): - # Even though we are packaging libraries those are plugins so we - # shouldn't rename the packages to follow its sonames. - d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1") - - # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have - # the source we cannot fix it. Disable the insane check for now. - if p == 'imx-codec-test-bin': - # FIXME: includes the DUT .so files so we need to deploy those - d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir file-rdeps") - else: - d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel") -} - -do_package_qa[prefuncs] += "__set_insane_skip" - -python __split_libfslcodec_plugins() { - codecdir = bb.data.expand('${libdir}', d) - do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', - aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', - output_pattern='imx-codec-%s', - description='Freescale i.MX Codec (%s)', - extra_depends='') - pkgs = d.getVar('PACKAGES').split() - for pkg in pkgs: - meta = pkg[10:] - if meta != '': - d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta) - d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta) - d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta) - else : - d.setVar('RREPLACES:%s' % pkg, ' libfslcodec') - d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec') - d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec') -} - -python __set_metapkg_rdepends() { - # Allow addition of all codecs in a image; useful specially for - # debugging. - codec_pkgs = oe.utils.packages_filter_out_system(d) - codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'], - codec_pkgs) - d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs)) -} - -PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" - -PACKAGES_DYNAMIC = "${PN}-*" -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source" - -ALLOW_EMPTY:${PN} = "1" -ALLOW_EMPTY:${PN}-meta = "1" - -# Ensure we get warnings if we miss something -FILES:${PN} = "" - -FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ - ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ - ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" - -FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" - -FILES:${PN}-test-source += "${datadir}/imx-mm/*" - -# FIXME: The wrap and lib names does not match -FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" -FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" -FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb b/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb new file mode 100644 index 000000000..e192c64d6 --- /dev/null +++ b/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb @@ -0,0 +1,121 @@ +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright 2017 NXP +# Copyright 2018 (C) O.S. Systems Software LTDA. +# Released under the MIT license (see COPYING.MIT for the terms) +DESCRIPTION = "Freescale Multimedia codec libs" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +# Backward compatibility +PROVIDES += "libfslcodec" + +SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" +SRC_URI[md5sum] = "5041d6e438c7779dcb424aedc11dd3ef" +SRC_URI[sha256sum] = "71bcb80bda44a326704d18b2e828b03c6f70792a4bf0686abc223657061df89b" + +inherit fsl-eula-unpack autotools pkgconfig + +PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}" +# Support Chips&Media VPU only +PACKAGECONFIG_VPU = "" +PACKAGECONFIG_VPU:mx6q-nxp-bsp = "vpu" +PACKAGECONFIG_VPU:mx6dl-nxp-bsp = "vpu" +PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu" + +# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ + bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" + +do_install:append() { + # LTIB move the files around or gst-fsl-plugin won't find them + for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do + mv $p ${D}${libdir} + done + rmdir ${D}${libdir}/imx-mm/video-codec + + # Fixup ownership of files + chown -R root:root ${D} +} + +python __set_insane_skip() { + # Ensure we have PACKAGES expanded + bb.build.exec_func("read_subpackage_metadata", d) + + for p in d.getVar('PACKAGES').split(): + # Even though we are packaging libraries those are plugins so we + # shouldn't rename the packages to follow its sonames. + d.setVar("DEBIAN_NOAUTONAME:%s" % p, "1") + + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. + if p == 'imx-codec-test-bin': + # FIXME: includes the DUT .so files so we need to deploy those + d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir") + else: + d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel") +} + +do_package_qa[prefuncs] += "__set_insane_skip" + +python __split_libfslcodec_plugins() { + codecdir = bb.data.expand('${libdir}', d) + do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*', + aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*', + output_pattern='imx-codec-%s', + description='Freescale i.MX Codec (%s)', + extra_depends='') + pkgs = d.getVar('PACKAGES').split() + for pkg in pkgs: + meta = pkg[10:] + if meta != '': + d.setVar('RREPLACES:%s' % pkg, ' libfslcodec-%s' % meta) + d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec-%s' % meta) + d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec-%s' % meta) + else : + d.setVar('RREPLACES:%s' % pkg, ' libfslcodec') + d.setVar('RPROVIDES:%s' % pkg, ' libfslcodec') + d.setVar('RCONFLICTS:%s' % pkg, ' libfslcodec') +} + +python __set_metapkg_rdepends() { + # Allow addition of all codecs in a image; useful specially for + # debugging. + codec_pkgs = oe.utils.packages_filter_out_system(d) + codec_pkgs = filter(lambda x: x not in ['imx-codec-test-bin', 'imx-codec-test-source'], + codec_pkgs) + d.appendVar('RDEPENDS:imx-codec-meta', ' ' + ' '.join(codec_pkgs)) +} + +PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" + +# We need to ensure we don't have '-src' package overrided +PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src' + +PACKAGES_DYNAMIC = "${PN}-*" +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source" + +ALLOW_EMPTY:${PN} = "1" +ALLOW_EMPTY:${PN}-meta = "1" + +# Ensure we get warnings if we miss something +FILES:${PN} = "" + +FILES:${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \ + ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \ + ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*" + +FILES:${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin" + +FILES:${PN}-test-source += "${datadir}/imx-mm/*" + +# FIXME: The wrap and lib names does not match +FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*" +FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" +FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" + +PACKAGE_ARCH = "${MACHINE_SOCARCH}" +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 19cc0331a2c855381436182d94913e7a0ddb0047 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Wed, 31 Aug 2022 13:23:36 -0500 Subject: imx-base.inc: Update gstreamer to 1.20.0.imx Signed-off-by: Tom Hochstein --- conf/machine/include/imx-base.inc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index 6e70ad68b..f1257c242 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -435,13 +435,10 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin" MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin" -PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.18.5.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.18.5.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.18.5.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.18.5.imx" -PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.18.5" -PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.18.5" -PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.18.5" +PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.20.0.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.20.0.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.20.0.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.20.0.imx" PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" # Determines if the SoC has support for Vivante kernel driver -- cgit v1.2.3-54-g00ecf From 178bcddd87bbb379d0d2abc3349d3c1417c54d49 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Wed, 31 Aug 2022 13:28:24 -0500 Subject: gstreamer1.0*: Upgrade 1.18.5.imx -> 1.20.0.imx Includes: - gstreamer1.0 - gstreamer1.0-plugins-base - gstreamer1.0-plugins-good - gstreamer1.0-plugins-bad Drops downgraded recipe copies for 1.18.5: - gstreamer1.0-libav - gstreamer1.0-plugins-ugly - gstreamer1.0-rtsp-server Signed-off-by: Tom Hochstein --- .../gstreamer/gstreamer1.0-libav_1.18.5.bb | 26 --- .../0002-avoid-including-sys-poll.h-directly.patch | 30 --- ...valid-sentinals-for-gst_structure_get-etc.patch | 88 --------- ...lve-missing-opencv-data-dir-in-yocto-buil.patch | 42 ++-- .../0005-msdk-fix-includedir-path.patch | 31 --- .../gstreamer1.0-plugins-bad_1.18.5.imx.bb | 201 ------------------- .../gstreamer1.0-plugins-bad_1.20.0.imx.bb | 213 +++++++++++++++++++++ ...003-viv-fb-Make-sure-config.h-is-included.patch | 30 --- .../gstreamer1.0-plugins-base_1.18.5.imx.bb | 144 -------------- .../gstreamer1.0-plugins-base_1.20.0.imx.bb | 141 ++++++++++++++ .../gstreamer1.0-plugins-good_1.18.5.imx.bb | 111 ----------- .../gstreamer1.0-plugins-good_1.20.0.imx.bb | 110 +++++++++++ .../gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb | 45 ----- .../gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb | 33 ---- ...inloader.c-when-env-var-is-set-do-not-fal.patch | 69 ------- ...ts-respect-the-idententaion-used-in-meson.patch | 36 ++++ .../0002-Remove-unused-valgrind-detection.patch | 110 ----------- ...2-tests-add-support-for-install-the-tests.patch | 109 +++++++++++ ...Don-t-use-too-strict-timeout-for-validati.patch | 32 ---- ...-tests-use-a-dictionaries-for-environment.patch | 50 +++++ ...-helper-script-to-run-the-installed_tests.patch | 74 +++++++ ...ts-respect-the-idententaion-used-in-meson.patch | 36 ---- ...5-tests-add-support-for-install-the-tests.patch | 110 ----------- ...e-gstbin-test_watch_for_state_change-test.patch | 107 +++++++++++ ...-tests-use-a-dictionaries-for-environment.patch | 48 ----- ...stall-the-environment-for-installed_tests.patch | 58 ------ .../gstreamer/gstreamer1.0_1.18.5.imx.bb | 101 ---------- .../gstreamer/gstreamer1.0_1.20.0.imx.bb | 99 ++++++++++ 28 files changed, 952 insertions(+), 1332 deletions(-) delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb deleted file mode 100644 index 62005cc8c..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Libav-based GStreamer 1.x plugin" -DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \ -muxers, and demuxers provided by FFmpeg." -HOMEPAGE = "http://gstreamer.freedesktop.org/" -SECTION = "multimedia" - -# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency -LICENSE_FLAGS = "commercial" -LICENSE = "LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ - file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ - " - -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" -SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548" - -S = "${WORKDIR}/gst-libav-${PV}" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" - -inherit meson pkgconfig upstream-version-is-even - -FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch deleted file mode 100644 index ead6897f6..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Wed, 3 Feb 2016 18:05:41 -0800 -Subject: [PATCH 2/4] avoid including directly - -musl libc generates warnings if is included directly. - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy ---- - sys/dvb/gstdvbsrc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c -index ca6b92a..b2772db 100644 ---- a/sys/dvb/gstdvbsrc.c -+++ b/sys/dvb/gstdvbsrc.c -@@ -97,7 +97,7 @@ - #include - #include - #include --#include -+#include - #include - #include - #include --- -2.28.0 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch deleted file mode 100644 index 88fbc40dc..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy -Date: Tue, 9 Feb 2016 14:00:00 -0800 -Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc - -For GStreamer functions declared with G_GNUC_NULL_TERMINATED, -ie __attribute__((__sentinel__)), gcc will generate a warning if the -last parameter passed to the function is not NULL (where a valid NULL -in this context is defined as zero with any pointer type). - -The C callers to such functions within gst-plugins-bad use the C NULL -definition (ie ((void*)0)), which is a valid sentinel. - -However the C++ NULL definition (ie 0L), is not a valid sentinel -without an explicit cast to a pointer type. - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy ---- - sys/decklink/gstdecklink.cpp | 10 +++++----- - sys/decklink/gstdecklinkaudiosrc.cpp | 2 +- - sys/decklink/gstdecklinkvideosink.cpp | 2 +- - 3 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp -index 4dac7e1..43762ce 100644 ---- a/sys/decklink/gstdecklink.cpp -+++ b/sys/decklink/gstdecklink.cpp -@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e) - "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, - "interlace-mode", G_TYPE_STRING, - mode->interlaced ? "interleaved" : "progressive", -- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); -+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); - - return s; - } -@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, - case bmdFormat8BitYUV: /* '2vuy' */ - gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", - "colorimetry", G_TYPE_STRING, mode->colorimetry, -- "chroma-site", G_TYPE_STRING, "mpeg2", NULL); -+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL); - break; - case bmdFormat10BitYUV: /* 'v210' */ -- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL); -+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL); - break; - case bmdFormat8BitARGB: /* 'ARGB' */ -- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL); -+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL); - break; - case bmdFormat8BitBGRA: /* 'BGRA' */ -- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL); -+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL); - break; - case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ - case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ -diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp -index 2fef934..c47229a 100644 ---- a/sys/decklink/gstdecklinkaudiosrc.cpp -+++ b/sys/decklink/gstdecklinkaudiosrc.cpp -@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self) - g_mutex_unlock (&self->input->lock); - - if (videosrc) { -- g_object_get (videosrc, "connection", &vconn, NULL); -+ g_object_get (videosrc, "connection", &vconn, (void *) NULL); - gst_object_unref (videosrc); - - switch (vconn) { -diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp -index e3a6775..f1a5aae 100644 ---- a/sys/decklink/gstdecklinkvideosink.cpp -+++ b/sys/decklink/gstdecklinkvideosink.cpp -@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, - gpointer user_data) - { - gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, -- G_MAXINT, 1, NULL); -+ G_MAXINT, 1, (void *) NULL); - - return TRUE; - } --- -2.28.0 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch index b81670906..029b80e17 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch @@ -1,7 +1,7 @@ -From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001 +From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001 From: Andrey Zhizhikin Date: Mon, 27 Jan 2020 10:22:35 +0000 -Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build +Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build When Yocto build is performed, opencv searches for data dir using simple 'test' command, this fails because pkg-config provides an absolute @@ -11,39 +11,23 @@ in order for the 'test' utility to pick up the absolute path. Upstream-Status: Inappropriate [OE-specific] Signed-off-by: Andrey Zhizhikin +Signed-off-by: Jose Quaresma + --- - ext/opencv/meson.build | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) + ext/opencv/meson.build | 3 +++ + 1 file changed, 3 insertions(+) diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build -index 0b0b3fc..0ed3344 100644 +index 1d86b90..b5c8b95 100644 --- a/ext/opencv/meson.build +++ b/ext/opencv/meson.build -@@ -78,20 +78,21 @@ else - endif - - if opencv_found -+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip() - opencv_prefix = opencv_dep.get_pkgconfig_variable('prefix') +@@ -87,6 +87,9 @@ if opencv_found + opencv_prefix = opencv_dep.get_variable('prefix') gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"'] ++ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip() ++ opencv_prefix = pkgconf_sysroot + opencv_prefix ++ # Check the data dir used by opencv for its xml data files # Use prefix from pkg-config to be compatible with cross-compilation -- r = run_command('test', '-d', opencv_prefix + '/share/opencv') -+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv') - if r.returncode() == 0 - gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"' - else -- r = run_command('test', '-d', opencv_prefix + '/share/OpenCV') -+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/OpenCV') - if r.returncode() == 0 - gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"' - else -- r = run_command('test', '-d', opencv_prefix + '/share/opencv4') -+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv4') - if r.returncode() == 0 - gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' - else --- -2.28.0 - + r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false) diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch deleted file mode 100644 index cb3bb7d36..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Wed, 30 Dec 2020 16:37:47 +0800 -Subject: [PATCH] msdk: fix includedir path - -In cross compilation, need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path. - -Upstream-Status: Inappropriate [OE-specific] - -Signed-off-by: Naveen Saini ---- - sys/msdk/meson.build | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build -index 6346c9451..068f38548 100644 ---- a/sys/msdk/meson.build -+++ b/sys/msdk/meson.build -@@ -40,7 +40,9 @@ endif - - mfx_dep = dependency('libmfx', required: false) - if mfx_dep.found() -+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip() - mfx_incdir = mfx_dep.get_pkgconfig_variable('includedir') -+ mfx_incdir = pkgconf_sysroot + mfx_incdir - mfx_inc = [] - else - # Old versions of MediaSDK don't provide a pkg-config file --- -2.17.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb deleted file mode 100644 index 44b954514..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb +++ /dev/null @@ -1,201 +0,0 @@ -# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of -# maintenance, the top section is a verbatim copy of an OE-core -# recipe. The second section customizes the recipe for i.MX. - -########### OE-core copy ################## -# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 - -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc - -DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " -HOMEPAGE = "https://gstreamer.freedesktop.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues" - -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ - file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ - file://0002-avoid-including-sys-poll.h-directly.patch \ - file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ - file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ - file://0005-msdk-fix-includedir-path.patch \ - " -SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f" - -S = "${WORKDIR}/gst-plugins-bad-${PV}" - -LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS += "gstreamer1.0-plugins-base" - -inherit gobject-introspection - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ - bz2 closedcaption curl dash dtls hls openssl rsvg sbc smoothstreaming \ - sndfile ttml uvch264 webp \ -" - -PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" -PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" -PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" -PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" -PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" -PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl" -PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2" -PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394" -PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb" -PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl" -PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac" -PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2" -PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" -PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled," -# Pick atleast one crypto backend below when enabling hls -PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle" -PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl" -PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt" -# the gl packageconfig enables OpenGL elements that haven't been ported -# to -base yet. They depend on the gstgl library in -base, so we do -# not add GL dependencies here, since these are taken care of in -base. -PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled," -PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm" -PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265" -PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms" -PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2" -PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms" -PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" -PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk" -PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon" -PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft" -PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv" -PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264" -PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg" -PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt" -# the opus encoder/decoder elements are now in the -base package, -# but the opus parser remains in -bad -PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus" -PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav" -PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" -PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" -PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" -PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled" -PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" -PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" -PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt" -PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" -PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" -PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" -PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" -PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" -PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" -PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" -PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" -PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native" -PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" -PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" -PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" -PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" -PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" -PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" - -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Ddecklink=enabled \ - -Ddvb=enabled \ - -Dfbdev=enabled \ - -Dipcpipeline=enabled \ - -Dshm=enabled \ - -Dtranscode=enabled \ - -Dandroidmedia=disabled \ - -Dapplemedia=disabled \ - -Davtp=disabled \ - -Dbs2b=disabled \ - -Dchromaprint=disabled \ - -Dd3dvideosink=disabled \ - -Dd3d11=disabled \ - -Ddirectsound=disabled \ - -Ddts=disabled \ - -Dfdkaac=disabled \ - -Dflite=disabled \ - -Dgme=disabled \ - -Dgsm=disabled \ - -Diqa=disabled \ - -Dkate=disabled \ - -Dladspa=disabled \ - -Dlv2=disabled \ - -Dmagicleap=disabled \ - -Dmediafoundation=disabled \ - -Dmicrodns=disabled \ - -Dmpeg2enc=disabled \ - -Dmplex=disabled \ - -Dmusepack=disabled \ - -Dnvcodec=disabled \ - -Dofa=disabled \ - -Dopenexr=disabled \ - -Dopenni2=disabled \ - -Dopensles=disabled \ - -Dsoundtouch=disabled \ - -Dspandsp=disabled \ - -Dsvthevcenc=disabled \ - -Dteletext=disabled \ - -Dwasapi=disabled \ - -Dwasapi2=disabled \ - -Dwildmidi=disabled \ - -Dwinks=disabled \ - -Dwinscreencap=disabled \ - -Dwpe=disabled \ - -Dzxing=disabled \ -" - -export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" - -ARM_INSTRUCTION_SET:armv4 = "arm" -ARM_INSTRUCTION_SET:armv5 = "arm" - -FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs" -FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" -FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" -FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" - -########### End of OE-core copy ########### - -########### i.MX overrides ################ - -DEFAULT_PREFERENCE = "-1" - -DEPENDS:append:imxgpu2d = " virtual/libg2d" - -SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz" -GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" -SRCBRANCH = "MM_04.06.04_2112_L5.15.y" -SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " -SRCREV = "1dd01156ea45fc7a61e9edc4186353cd63a03800" - -S = "${WORKDIR}/git" - -inherit use-imx-headers - -PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" -PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}" - -PACKAGECONFIG_REMOVE ?= " \ - dtls vulkan \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \ -" -PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" -PACKAGECONFIG:append:mx8 = " kms tinycompress" - -PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress" - -# Disable introspection to fix [GstPlayer-1.0.gir] Error -EXTRA_OEMESON += " \ - -Dintrospection=disabled \ - -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ -" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" - -########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb new file mode 100644 index 000000000..5f422a1fe --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb @@ -0,0 +1,213 @@ +# This recipe is for the i.MX fork of gstreamer1.0-plugins-bad. For ease of +# maintenance, the top section is a verbatim copy of an OE-core +# recipe. The second section customizes the recipe for i.MX. + +########### OE-core copy ################## +# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138 + +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc + +DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " +HOMEPAGE = "https://gstreamer.freedesktop.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ + file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ + file://0002-avoid-including-sys-poll.h-directly.patch \ + file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ + file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ + file://0005-msdk-fix-includedir-path.patch \ + " +SRC_URI[sha256sum] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848" + +S = "${WORKDIR}/gst-plugins-bad-${PV}" + +LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS += "gstreamer1.0-plugins-base" + +inherit gobject-introspection + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ + bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \ + sndfile ttml uvch264 webp \ + ${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \ +" + +PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" +PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" +PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" +PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" +PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo" +PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl" +PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2" +PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394" +PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb" +PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl" +PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac" +PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2" +PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth" +PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled," +# Pick atleast one crypto backend below when enabling hls +PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle" +PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl" +PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt" +# the gl packageconfig enables OpenGL elements that haven't been ported +# to -base yet. They depend on the gstgl library in -base, so we do +# not add GL dependencies here, since these are taken care of in -base. +PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled," +PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm" +PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265" +PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2" +PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms" +PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" +PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk" +PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon" +PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft" +PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv" +PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264" +PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg" +PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt" +# the opus encoder/decoder elements are now in the -base package, +# but the opus parser remains in -bad +PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus" +PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav" +PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" +PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" +PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" +PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled" +PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" +PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt" +PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" +PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" +PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" +PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" +PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" +PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" +PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" +PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native" +PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" +PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" +PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" +PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon" +PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" + +GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}" + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Daes=enabled \ + -Dcodecalpha=enabled \ + -Ddecklink=enabled \ + -Ddvb=enabled \ + -Dfbdev=enabled \ + -Dipcpipeline=enabled \ + -Dshm=enabled \ + -Dtranscode=enabled \ + -Dandroidmedia=disabled \ + -Dapplemedia=disabled \ + -Dasio=disabled \ + -Davtp=disabled \ + -Dbs2b=disabled \ + -Dchromaprint=disabled \ + -Dd3dvideosink=disabled \ + -Dd3d11=disabled \ + -Ddirectsound=disabled \ + -Ddts=disabled \ + -Dfdkaac=disabled \ + -Dflite=disabled \ + -Dgme=disabled \ + -Dgs=disabled \ + -Dgsm=disabled \ + -Diqa=disabled \ + -Dkate=disabled \ + -Dladspa=disabled \ + -Dldac=disabled \ + -Dlv2=disabled \ + -Dmagicleap=disabled \ + -Dmediafoundation=disabled \ + -Dmicrodns=disabled \ + -Dmpeg2enc=disabled \ + -Dmplex=disabled \ + -Dmusepack=disabled \ + -Dnvcodec=disabled \ + -Dopenexr=disabled \ + -Dopenni2=disabled \ + -Dopenaptx=disabled \ + -Dopensles=disabled \ + -Donnx=disabled \ + -Dqroverlay=disabled \ + -Dsoundtouch=disabled \ + -Dspandsp=disabled \ + -Dsvthevcenc=disabled \ + -Dteletext=disabled \ + -Dwasapi=disabled \ + -Dwasapi2=disabled \ + -Dwildmidi=disabled \ + -Dwinks=disabled \ + -Dwinscreencap=disabled \ + -Dwpe=disabled \ + -Dzxing=disabled \ +" +export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" + +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" + +FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs" +FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*" +FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles" +FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs" + +########### End of OE-core copy ########### + +########### i.MX overrides ################ + +DEFAULT_PREFERENCE = "-1" + +DEPENDS:append:imxgpu2d = " virtual/libg2d" + +SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ + file://0002-avoid-including-sys-poll.h-directly.patch \ + file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ + file://0005-msdk-fix-includedir-path.patch \ + " +SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " +GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "63a55f06f7e8f21b483c6d70d50389beb2e85e37" + +S = "${WORKDIR}/git" + +inherit use-imx-headers + +PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" +PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}" + +PACKAGECONFIG_REMOVE ?= " \ + dtls vulkan \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \ +" +PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" +PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress" + +PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress" + +EXTRA_OEMESON += " \ + -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ +" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" + +########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch deleted file mode 100644 index b8fc8827e..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 70a702af3a3a4afcadbc53d61c4c45f31f96b2cc Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani -Date: Tue, 21 May 2019 14:01:11 +0200 -Subject: [PATCH] viv-fb: Make sure config.h is included - -This prevents build errors due to missing GST_API_* symbols - -Upstream-Status: Pending - -Signed-off-by: Carlos Rafael Giani - ---- - gst-libs/gst/gl/gl-prelude.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h -index 05e1f6229..96ce5e685 100644 ---- a/gst-libs/gst/gl/gl-prelude.h -+++ b/gst-libs/gst/gl/gl-prelude.h -@@ -22,6 +22,10 @@ - #ifndef __GST_GL_PRELUDE_H__ - #define __GST_GL_PRELUDE_H__ - -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+ - #include - - #ifdef BUILDING_GST_GL diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb deleted file mode 100644 index 03bfa1297..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb +++ /dev/null @@ -1,144 +0,0 @@ -# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. For ease of -# maintenance, the top section is a verbatim copy of an OE-core -# recipe. The second section customizes the recipe for i.MX. - -########### OE-core copy ################## -# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 - -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc - -DESCRIPTION = "'Base' GStreamer plugins and helper libraries" -HOMEPAGE = "https://gstreamer.freedesktop.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues" -LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" - -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ - file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ - file://0003-viv-fb-Make-sure-config.h-is-included.patch \ - file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ - file://0004-glimagesink-Downrank-to-marginal.patch \ - file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \ - " -SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323" - -S = "${WORKDIR}/gst-plugins-base-${PV}" - -DEPENDS += "iso-codes util-linux zlib" - -inherit gobject-introspection - -PACKAGES_DYNAMIC =+ "^libgst.*" - -# opengl packageconfig factored out to make it easy for distros -# and BSP layers to choose OpenGL APIs/platforms/window systems -PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ - jpeg ogg pango png theora vorbis \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ -" - -OPENGL_APIS = 'opengl gles2' -OPENGL_PLATFORMS = 'egl' - -X11DEPENDS = "virtual/libx11 libsm libxrender libxv" -X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled" -X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled" - -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" -PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia" -PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg" -PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg" -PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" -PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" -PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" -PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" -PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" -PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual" -PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis" -PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" - -# OpenGL API packageconfigs -PACKAGECONFIG[opengl] = ",,virtual/libgl libglu" -PACKAGECONFIG[gles2] = ",,virtual/libgles2" - -# OpenGL platform packageconfigs -PACKAGECONFIG[egl] = ",,virtual/egl" - -# OpenGL window systems (except for X11) -PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm" -PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm" -PACKAGECONFIG[dispmanx] = ",,virtual/libomxil" -PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d" - -OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}" - -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Dgl-graphene=disabled \ - ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ - ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ - ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ -" - -FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h" -FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" - -def get_opengl_cmdline_list(switch_name, options, d): - selected_options = [] - if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d): - for option in options.split(): - if bb.utils.contains('PACKAGECONFIG', option, True, False, d): - selected_options += [option] - if selected_options: - return '-D' + switch_name + '=' + ','.join(selected_options) - else: - return '' - -CVE_PRODUCT += "gst-plugins-base" - -########### End of OE-core copy ########### - -########### i.MX overrides ################ - -DEFAULT_PREFERENCE = "-1" - -SRC_URI:remove = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ - file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ - file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ - file://0004-glimagesink-Downrank-to-marginal.patch \ - file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \ -" -GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" -SRCBRANCH = "MM_04.06.04_2112_L5.15.y" -SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " -SRCREV = "d8f5d6e1d477a299ccb7f4ba7aacd36ff5e39f8b" - -S = "${WORKDIR}/git" - -inherit use-imx-headers - -PACKAGECONFIG_GL:imxgpu2d = \ - "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl viv-fb', '', d)}" -PACKAGECONFIG_GL:imxgpu3d = \ - "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl viv-fb', '', d)}" -PACKAGECONFIG_GL:use-mainline-bsp = \ - "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}" - -PACKAGECONFIG_REMOVE ?= "jpeg" -PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" -PACKAGECONFIG:append:imxgpu2d = " g2d" - -PACKAGECONFIG[g2d] = ",,virtual/libg2d" -PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" - -EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" - -########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb new file mode 100644 index 000000000..3fce3a589 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb @@ -0,0 +1,141 @@ +# This recipe is for the i.MX fork of gstreamer1.0-plugins-base. For ease of +# maintenance, the top section is a verbatim copy of an OE-core +# recipe. The second section customizes the recipe for i.MX. + +########### OE-core copy ################## +# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138 + +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc + +DESCRIPTION = "'Base' GStreamer plugins and helper libraries" +HOMEPAGE = "https://gstreamer.freedesktop.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues" +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ + file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ + " +SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204" + +S = "${WORKDIR}/gst-plugins-base-${PV}" + +DEPENDS += "iso-codes util-linux zlib" + +inherit gobject-introspection + +PACKAGES_DYNAMIC =+ "^libgst.*" + +# opengl packageconfig factored out to make it easy for distros +# and BSP layers to choose OpenGL APIs/platforms/window systems +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ + jpeg ogg pango png theora vorbis \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ +" + +OPENGL_APIS = 'opengl gles2' +OPENGL_PLATFORMS = 'egl' + +X11DEPENDS = "virtual/libx11 libsm libxrender libxv" +X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled" +X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled" + +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" +PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia" +PACKAGECONFIG[graphene] = "-Dgl-graphene=enabled,-Dgl-graphene=disabled,graphene" +PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg" +PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg" +PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" +PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" +PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" +PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native" +PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" +PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" +PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual" +PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis" +PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" + +# OpenGL API packageconfigs +PACKAGECONFIG[opengl] = ",,virtual/libgl libglu" +PACKAGECONFIG[gles2] = ",,virtual/libgles2" + +# OpenGL platform packageconfigs +PACKAGECONFIG[egl] = ",,virtual/egl" + +# OpenGL window systems (except for X11) +PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm" +PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[dispmanx] = ",,virtual/libomxil" +PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d" + +OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}" + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ + ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ + ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ +" + +FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h" +FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" + +def get_opengl_cmdline_list(switch_name, options, d): + selected_options = [] + if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d): + for option in options.split(): + if bb.utils.contains('PACKAGECONFIG', option, True, False, d): + selected_options += [option] + if selected_options: + return '-D' + switch_name + '=' + ','.join(selected_options) + else: + return '' + +CVE_PRODUCT += "gst-plugins-base" + +########### End of OE-core copy ########### + +########### i.MX overrides ################ + +DEFAULT_PREFERENCE = "-1" + +SRC_URI:remove = " \ + https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ + file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch" +SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " +GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "4b8559690bf7a66745cc65900baccd955b436d3c" + +S = "${WORKDIR}/git" + +inherit use-imx-headers + +PACKAGECONFIG_GL:imxgpu2d = \ + "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl viv-fb', '', d)}" +PACKAGECONFIG_GL:imxgpu3d = \ + "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl viv-fb', '', d)}" +PACKAGECONFIG_GL:use-mainline-bsp = \ + "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}" + +PACKAGECONFIG_REMOVE ?= "jpeg" +PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" +PACKAGECONFIG:append:imxgpu2d = " g2d" + +PACKAGECONFIG[g2d] = ",,virtual/libg2d" +PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" + +EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" + +########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb deleted file mode 100644 index de61be018..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb +++ /dev/null @@ -1,111 +0,0 @@ -# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. For ease of -# maintenance, the top section is a verbatim copy of an OE-core -# recipe. The second section customizes the recipe for i.MX. - -########### OE-core copy ################## -# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 - -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc - -DESCRIPTION = "'Good' GStreamer plugins" -HOMEPAGE = "https://gstreamer.freedesktop.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues" - -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ - file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \ - file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \ - " - -SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0" - -S = "${WORKDIR}/gst-plugins-good-${PV}" - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" - -DEPENDS += "gstreamer1.0-plugins-base libcap zlib" -RPROVIDES:${PN}-pulseaudio += "${PN}-pulse" -RPROVIDES:${PN}-soup += "${PN}-souphttpsrc" - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ - ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \ - bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \ -" - -X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" -X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled" -X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled" - -QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}" - -PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native" -PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" -PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" -PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394" -PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac" -PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf" -PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3" -PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev" -PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack" -PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" -PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame" -PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng" -PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" -PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" -PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" -PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" -PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4" -PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" -PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" -PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" -PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false" -PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx" -PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" -PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" - -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Daalib=disabled \ - -Ddirectsound=disabled \ - -Ddv=disabled \ - -Dlibcaca=disabled \ - -Doss=enabled \ - -Doss4=disabled \ - -Dosxaudio=disabled \ - -Dosxvideo=disabled \ - -Dshout2=disabled \ - -Dtwolame=disabled \ - -Dwaveform=disabled \ -" - -FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" - -########### End of OE-core copy ########### - -########### i.MX overrides ################ - -DEFAULT_PREFERENCE = "-1" - -# fb implementation of v4l2 uses libdrm -DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}" -DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" - -SRC_URI:remove = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \ - file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \ -" -GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" -SRCBRANCH = "MM_04.06.04_2112_L5.15.y" -SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " -SRCREV = "2438ae179ed4245fbeaa2ce36b1918ed7232d442" - -S = "${WORKDIR}/git" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" - -########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb new file mode 100644 index 000000000..cb7629828 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb @@ -0,0 +1,110 @@ +# This recipe is for the i.MX fork of gstreamer1.0-plugins-good. For ease of +# maintenance, the top section is a verbatim copy of an OE-core +# recipe. The second section customizes the recipe for i.MX. + +########### OE-core copy ################## +# Upstream hash: 66ba273c10b7d738f18620b5a2883d735fff3162 + +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc + +DESCRIPTION = "'Good' GStreamer plugins" +HOMEPAGE = "https://gstreamer.freedesktop.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ + file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ + " + +SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7" + +S = "${WORKDIR}/gst-plugins-good-${PV}" + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ + file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" + +DEPENDS += "gstreamer1.0-plugins-base libcap zlib" +RPROVIDES:${PN}-pulseaudio += "${PN}-pulse" +RPROVIDES:${PN}-soup += "${PN}-souphttpsrc" + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \ + bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \ +" + +X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" +X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled" +X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled" + +QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}" + +PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native" +PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" +PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" +PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394" +PACKAGECONFIG[flac] = "-Dflac=enabled,-Dflac=disabled,flac" +PACKAGECONFIG[gdk-pixbuf] = "-Dgdk-pixbuf=enabled,-Dgdk-pixbuf=disabled,gdk-pixbuf" +PACKAGECONFIG[gtk] = "-Dgtk3=enabled,-Dgtk3=disabled,gtk+3" +PACKAGECONFIG[gudev] = "-Dv4l2-gudev=enabled,-Dv4l2-gudev=disabled,libgudev" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack" +PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,jpeg" +PACKAGECONFIG[lame] = "-Dlame=enabled,-Dlame=disabled,lame" +PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" +PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" +PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" +PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" +# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen() +# instead of linking to it. And instead of using the default libsoup C headers, it +# uses its own stub header. Consequently, objdump will not show the libsoup .so as +# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup +# as RDEPEND instead of DEPEND. +PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4" +PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" +PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" +PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" +PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false" +PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx" +PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" +PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Daalib=disabled \ + -Ddirectsound=disabled \ + -Ddv=disabled \ + -Dlibcaca=disabled \ + -Doss=enabled \ + -Doss4=disabled \ + -Dosxaudio=disabled \ + -Dosxvideo=disabled \ + -Dshout2=disabled \ + -Dtwolame=disabled \ + -Dwaveform=disabled \ +" + +FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" + +########### End of OE-core copy ########### + +########### i.MX overrides ################ + +DEFAULT_PREFERENCE = "-1" + +# fb implementation of v4l2 uses libdrm +DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" +DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}" + +SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz" +SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " +GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "4c58a36cfd4b2b16d8978b9592145fb46bb58732" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" + +########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb deleted file mode 100644 index 98e94786a..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb +++ /dev/null @@ -1,45 +0,0 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc - -DESCRIPTION = "'Ugly GStreamer plugins" -HOMEPAGE = "https://gstreamer.freedesktop.org/" -BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues" - -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068" - -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & LGPL-2.0-or-later" -LICENSE_FLAGS = "commercial" - -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ - " -SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9" - -S = "${WORKDIR}/gst-plugins-ugly-${PV}" - -DEPENDS += "gstreamer1.0-plugins-base" - -GST_PLUGIN_SET_HAS_EXAMPLES = "0" - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - a52dec mpeg2dec \ -" - -PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52" -PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr" -PACKAGECONFIG[amrwb] = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr" -PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio" -PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread" -PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec" -PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264" - -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Dsidplay=disabled \ -" - -FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" -FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb deleted file mode 100644 index d4c4e576b..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "A library on top of GStreamer for building an RTSP server" -HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/" -SECTION = "multimedia" -LICENSE = "LGPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" - -PNREAL = "gst-rtsp-server" - -SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" - -SRC_URI[sha256sum] = "04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f" - -S = "${WORKDIR}/${PNREAL}-${PV}" - -inherit meson pkgconfig upstream-version-is-even gobject-introspection - -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Dexamples=disabled \ - -Dtests=disabled \ -" - -GIR_MESON_ENABLE_FLAG = "enabled" -GIR_MESON_DISABLE_FLAG = "disabled" - -# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc - -CVE_PRODUCT += "gst-rtsp-server" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch deleted file mode 100644 index 23ebd5c60..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch +++ /dev/null @@ -1,69 +0,0 @@ -From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma -Date: Sat, 10 Oct 2020 19:09:03 +0000 -Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through - to system plugin scanner - -If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that. - -Falling through to the one installed on the system is problamatic in cross-compilation -environemnts, regardless of whether one pointed to by the env var succeeded or failed. - -taken from: -http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b - -Part-of: - -Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a] - -Signed-off-by: Jose Quaresma ---- - gst/gstpluginloader.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c -index d1e404d98..c626bf263 100644 ---- a/gst/gstpluginloader.c -+++ b/gst/gstpluginloader.c -@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) - if (loader->child_running) - return TRUE; - -- /* Find the gst-plugin-scanner: first try the env-var if it is set, -- * otherwise use the installed version */ -+ /* Find the gst-plugin-scanner */ - env = g_getenv ("GST_PLUGIN_SCANNER_1_0"); - if (env == NULL) - env = g_getenv ("GST_PLUGIN_SCANNER"); - - if (env != NULL && *env != '\0') { -+ /* use the env-var if it is set */ - GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env); - helper_bin = g_strdup (env); - res = gst_plugin_loader_try_helper (loader, helper_bin); - g_free (helper_bin); -- } -- -- if (!res) { -+ } else { -+ /* use the installed version */ - GST_LOG ("Trying installed plugin scanner"); - - #ifdef G_OS_WIN32 -@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) - #endif - res = gst_plugin_loader_try_helper (loader, helper_bin); - g_free (helper_bin); -+ } - -- if (!res) { -- GST_INFO ("No gst-plugin-scanner available, or not working"); -- } -+ if (!res) { -+ GST_INFO ("No gst-plugin-scanner available, or not working"); - } - - return loader->child_running; --- -2.29.2 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch new file mode 100644 index 000000000..312c04fbf --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch @@ -0,0 +1,36 @@ +From 1eb77a4ea5a3967c688d8f1192f99c605badc7e2 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sun, 11 Apr 2021 19:48:13 +0100 +Subject: [PATCH 1/4] tests: respect the idententaion used in meson + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + subprojects/gstreamer/tests/check/meson.build | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build +index 9c4228b6e4..506606684d 100644 +--- a/subprojects/gstreamer/tests/check/meson.build ++++ b/subprojects/gstreamer/tests/check/meson.build +@@ -146,11 +146,11 @@ foreach t : core_tests + + if not skip_test + exe = executable(test_name, fname, +- c_args : gst_c_args + test_defines, +- cpp_args : gst_c_args + test_defines, +- include_directories : [configinc], +- link_with : link_with_libs, +- dependencies : test_deps + glib_deps + gst_deps, ++ c_args : gst_c_args + test_defines, ++ cpp_args : gst_c_args + test_defines, ++ include_directories : [configinc], ++ link_with : link_with_libs, ++ dependencies : test_deps + glib_deps + gst_deps, + ) + + env = environment() +-- +2.33.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch deleted file mode 100644 index 5805e8b62..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch +++ /dev/null @@ -1,110 +0,0 @@ -From d7f05d09c55d35bbe4e0f856759519ef183d9a56 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= -Date: Fri, 14 Aug 2020 16:38:26 +0100 -Subject: [PATCH] Remove unused valgrind detection - -Having this just to log a debug message in case we're -running inside valgrind doesn't seem very useful, and -the code that used to use this no longer exists it seems. - -Part-of: - -Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245] - -Signed-off-by: Jose Quaresma - ---- - gst/gst_private.h | 2 -- - gst/gstinfo.c | 39 --------------------------------------- - meson.build | 1 - - 3 files changed, 42 deletions(-) - -diff --git a/gst/gst_private.h b/gst/gst_private.h -index eefd044d9..8252ede51 100644 ---- a/gst/gst_private.h -+++ b/gst/gst_private.h -@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin - - G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin); - --G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void); -- - /* init functions called from gst_init(). */ - G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void); - G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void); -diff --git a/gst/gstinfo.c b/gst/gstinfo.c -index eea1a219d..d3035d6db 100644 ---- a/gst/gstinfo.c -+++ b/gst/gstinfo.c -@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT; - static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT; - static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON; - --/* FIXME: export this? */ --gboolean --_priv_gst_in_valgrind (void) --{ -- static enum -- { -- GST_VG_UNCHECKED, -- GST_VG_NO_VALGRIND, -- GST_VG_INSIDE -- } -- in_valgrind = GST_VG_UNCHECKED; -- -- if (in_valgrind == GST_VG_UNCHECKED) { --#ifdef HAVE_VALGRIND_VALGRIND_H -- if (RUNNING_ON_VALGRIND) { -- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind"); -- in_valgrind = GST_VG_INSIDE; -- } else { -- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff"); -- in_valgrind = GST_VG_NO_VALGRIND; -- } --#else -- in_valgrind = GST_VG_NO_VALGRIND; --#endif -- g_assert (in_valgrind == GST_VG_NO_VALGRIND || -- in_valgrind == GST_VG_INSIDE); -- } -- return (in_valgrind == GST_VG_INSIDE); --} -- - static gchar * - _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token, - guint val) -@@ -463,9 +433,6 @@ _priv_gst_debug_init (void) - _priv_GST_CAT_PROTECTION = - _gst_debug_category_new ("GST_PROTECTION", 0, "protection"); - -- /* print out the valgrind message if we're in valgrind */ -- _priv_gst_in_valgrind (); -- - env = g_getenv ("GST_DEBUG_OPTIONS"); - if (env != NULL) { - if (strstr (env, "full_tags") || strstr (env, "full-tags")) -@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo) - return 0; - } - --gboolean --_priv_gst_in_valgrind (void) --{ -- return FALSE; --} -- - void - _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file, - const gchar * func, gint line, GObject * obj, const gchar * msg, -diff --git a/meson.build b/meson.build -index 82a17282b..42ae61790 100644 ---- a/meson.build -+++ b/meson.build -@@ -200,7 +200,6 @@ check_headers = [ - 'sys/wait.h', - 'ucontext.h', - 'unistd.h', -- 'valgrind/valgrind.h', - 'sys/resource.h', - 'sys/uio.h', - ] diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch new file mode 100644 index 000000000..d18c19c39 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch @@ -0,0 +1,109 @@ +From 62f5bb7bfc2498219df7280e73480d8ed2378ce5 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sun, 11 Apr 2021 19:48:13 +0100 +Subject: [PATCH 2/4] tests: add support for install the tests + +This will provide to run the tests using the gnome-desktop-testing [1] + +[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + subprojects/gstreamer/meson.build | 4 ++++ + subprojects/gstreamer/meson_options.txt | 1 + + subprojects/gstreamer/tests/check/meson.build | 22 ++++++++++++++++++- + .../gstreamer/tests/check/template.test.in | 3 +++ + 4 files changed, 29 insertions(+), 1 deletion(-) + create mode 100644 subprojects/gstreamer/tests/check/template.test.in + +diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build +index d20fe0040f..b595d8f990 100644 +--- a/subprojects/gstreamer/meson.build ++++ b/subprojects/gstreamer/meson.build +@@ -562,6 +562,10 @@ if bashcomp_dep.found() + endif + endif + ++installed_tests_enabled = get_option('installed_tests') ++installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name()) ++installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name()) ++ + plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') + + pkgconfig = import('pkgconfig') +diff --git a/subprojects/gstreamer/meson_options.txt b/subprojects/gstreamer/meson_options.txt +index 7363bdb7a1..a34ba37dad 100644 +--- a/subprojects/gstreamer/meson_options.txt ++++ b/subprojects/gstreamer/meson_options.txt +@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso + option('memory-alignment', type: 'combo', + choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], + value: 'malloc') ++option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests') + + # Feature options + option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') +diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build +index 506606684d..00a138a568 100644 +--- a/subprojects/gstreamer/tests/check/meson.build ++++ b/subprojects/gstreamer/tests/check/meson.build +@@ -124,10 +124,16 @@ test_defines = [ + '-UG_DISABLE_ASSERT', + '-UG_DISABLE_CAST_CHECKS', + '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', +- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"', + '-DGST_DISABLE_DEPRECATED', + ] + ++testfile = meson.current_source_dir() + '/meson.build' ++if installed_tests_enabled ++ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile') ++ testfile = installed_tests_metadir + '/testfile' ++endif ++test_defines += '-DTESTFILE="@0@"'.format(testfile) ++ + # sanity checking + if get_option('check').disabled() + if get_option('tests').enabled() +@@ -151,6 +157,8 @@ foreach t : core_tests + include_directories : [configinc], + link_with : link_with_libs, + dependencies : test_deps + glib_deps + gst_deps, ++ install_dir: installed_tests_execdir, ++ install: installed_tests_enabled, + ) + + env = environment() +@@ -162,6 +170,18 @@ foreach t : core_tests + env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') + env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') + ++ if installed_tests_enabled ++ test_conf = configuration_data() ++ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir)) ++ test_conf.set('program', test_name) ++ configure_file( ++ input: 'template.test.in', ++ output: test_name + '.test', ++ install_dir: installed_tests_metadir, ++ configuration: test_conf ++ ) ++ endif ++ + test(test_name, exe, env: env, timeout : 3 * 60) + endif + endforeach +diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in +new file mode 100644 +index 0000000000..f701627f87 +--- /dev/null ++++ b/subprojects/gstreamer/tests/check/template.test.in +@@ -0,0 +1,3 @@ ++[Test] ++Type=session ++Exec=@installed_tests_dir@/@program@ +-- +2.33.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch deleted file mode 100644 index e0e64e2c7..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001 -From: Seungha Yang -Date: Tue, 15 Sep 2020 00:54:58 +0900 -Subject: [PATCH] tests: seek: Don't use too strict timeout for validation - -Expected segment-done message might not be seen within expected -time if system is not powerful enough. - -Part-of: - -Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c] -Signed-off-by: Anuj Mittal ---- - tests/check/pipelines/seek.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c -index 28bb8846d..5f7447bc5 100644 ---- a/tests/check/pipelines/seek.c -+++ b/tests/check/pipelines/seek.c -@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2) - - GST_INFO ("wait for segment done message"); - -- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND, -+ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, - GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR); - fail_unless (msg, "no message within the timed window"); - fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done"); --- -2.29.2 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch new file mode 100644 index 000000000..10a6dcc61 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch @@ -0,0 +1,50 @@ +From fe830f0f75f3b4b41e3dbef8d4cf6ee4103c9e06 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sat, 24 Apr 2021 10:34:47 +0100 +Subject: [PATCH 3/4] tests: use a dictionaries for environment + +meson environment() can't be passed to configure_file and it is needed for installed_tests, +use a dictionary as this is simplest solution to install the environment. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + subprojects/gstreamer/tests/check/meson.build | 21 ++++++++++++------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build +index 00a138a568..48ec2532f8 100644 +--- a/subprojects/gstreamer/tests/check/meson.build ++++ b/subprojects/gstreamer/tests/check/meson.build +@@ -161,14 +161,19 @@ foreach t : core_tests + install: installed_tests_enabled, + ) + +- env = environment() +- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root()) +- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') +- env.set('GST_STATE_IGNORE_ELEMENTS', '') +- env.set('CK_DEFAULT_TIMEOUT', '20') +- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name)) +- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') +- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') ++ # meson environment object can't be passed to configure_file and ++ # installed tests uses configure_file to install the environment. ++ # use a dictionary as this is the simplest solution ++ # to install the environment. ++ env = { ++ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(), ++ 'GST_PLUGIN_SYSTEM_PATH_1_0': '', ++ 'GST_STATE_IGNORE_ELEMENTS': '', ++ 'CK_DEFAULT_TIMEOUT': '20', ++ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name), ++ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner', ++ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer', ++ } + + if installed_tests_enabled + test_conf = configuration_data() +-- +2.33.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch new file mode 100644 index 000000000..efa004f8c --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch @@ -0,0 +1,74 @@ +From 4dcbabebca2ad6f1fdd59ee35a858082e87db7b6 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma +Date: Sun, 2 May 2021 01:58:01 +0100 +Subject: [PATCH 4/4] tests: add helper script to run the installed_tests + +- this is a bash script that will run the installed_tests +with some of the environment variables used in the meson +testing framework. + +Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] + +Signed-off-by: Jose Quaresma +--- + subprojects/gstreamer/tests/check/meson.build | 17 +++++++++++++++++ + .../gstreamer/tests/check/template.sh.in | 9 +++++++++ + .../gstreamer/tests/check/template.test.in | 2 +- + 3 files changed, 27 insertions(+), 1 deletion(-) + create mode 100755 subprojects/gstreamer/tests/check/template.sh.in + +diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build +index 48ec2532f8..7dc4990d4e 100644 +--- a/subprojects/gstreamer/tests/check/meson.build ++++ b/subprojects/gstreamer/tests/check/meson.build +@@ -185,6 +185,23 @@ foreach t : core_tests + install_dir: installed_tests_metadir, + configuration: test_conf + ) ++ ++ # All the tests will be deployed on the target machine and ++ # we use the home folder ~ for the registry which will then expand at runtime. ++ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly ++ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry ++ # that is useful for debug propose of the tests itself. ++ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)} ++ ++ # Set the full path for the test it self. ++ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)} ++ ++ configure_file( ++ input : 'template.sh.in', ++ output: test_name + '.sh', ++ install_dir: installed_tests_execdir, ++ configuration : env, ++ ) + endif + + test(test_name, exe, env: env, timeout : 3 * 60) +diff --git a/subprojects/gstreamer/tests/check/template.sh.in b/subprojects/gstreamer/tests/check/template.sh.in +new file mode 100755 +index 0000000000..cf7d31b0ea +--- /dev/null ++++ b/subprojects/gstreamer/tests/check/template.sh.in +@@ -0,0 +1,9 @@ ++#!/bin/sh ++ ++set -ax ++ ++CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@" ++GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@" ++GST_REGISTRY=@GST_REGISTRY@ ++GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@" ++exec @TEST@ +diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in +index f701627f87..b74ef6ad73 100644 +--- a/subprojects/gstreamer/tests/check/template.test.in ++++ b/subprojects/gstreamer/tests/check/template.test.in +@@ -1,3 +1,3 @@ + [Test] + Type=session +-Exec=@installed_tests_dir@/@program@ ++Exec=@installed_tests_dir@/@program@.sh +-- +2.33.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch deleted file mode 100644 index 6f571a12d..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 122e5ac3dd16a461b6ae595605490c8f5d1c3a9d Mon Sep 17 00:00:00 2001 -From: Jose Quaresma -Date: Sun, 11 Apr 2021 19:48:13 +0100 -Subject: [PATCH 1/4] tests: respect the idententaion used in meson - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] - -Signed-off-by: Jose Quaresma ---- - tests/check/meson.build | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/tests/check/meson.build b/tests/check/meson.build -index a617cf159..b2636714b 100644 ---- a/tests/check/meson.build -+++ b/tests/check/meson.build -@@ -146,11 +146,11 @@ foreach t : core_tests - - if not skip_test - exe = executable(test_name, fname, -- c_args : gst_c_args + test_defines, -- cpp_args : gst_c_args + test_defines, -- include_directories : [configinc], -- link_with : link_with_libs, -- dependencies : test_deps + glib_deps + gst_deps, -+ c_args : gst_c_args + test_defines, -+ cpp_args : gst_c_args + test_defines, -+ include_directories : [configinc], -+ link_with : link_with_libs, -+ dependencies : test_deps + glib_deps + gst_deps, - ) - - env = environment() --- -2.31.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch deleted file mode 100644 index b77fb5797..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch +++ /dev/null @@ -1,110 +0,0 @@ -From c9e93c7a3e4d2773abef4f5e1464af24f36700b3 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma -Date: Sun, 11 Apr 2021 19:48:13 +0100 -Subject: [PATCH 2/4] tests: add support for install the tests - -This will provide to run the tests using the gnome-desktop-testing [1] - -[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] - -Signed-off-by: Jose Quaresma ---- - meson.build | 5 +++++ - meson_options.txt | 1 + - template.test.in | 3 +++ - tests/check/meson.build | 22 +++++++++++++++++++++- - 4 files changed, 30 insertions(+), 1 deletion(-) - create mode 100644 template.test.in - -diff --git a/meson.build b/meson.build -index c4e8774f5..1abf4eb26 100644 ---- a/meson.build -+++ b/meson.build -@@ -562,6 +562,11 @@ if bashcomp_dep.found() - endif - endif - -+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name()) -+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name()) -+installed_tests_enabled = get_option('installed-tests') -+installed_tests_template = files('template.test.in') -+ - plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') - - pkgconfig = import('pkgconfig') -diff --git a/meson_options.txt b/meson_options.txt -index c8cee3762..b5da40eaa 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso - option('memory-alignment', type: 'combo', - choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], - value: 'malloc') -+option('installed-tests', type : 'boolean', value : false, description : 'Enable installed tests') - - # Feature options - option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') -diff --git a/template.test.in b/template.test.in -new file mode 100644 -index 000000000..f701627f8 ---- /dev/null -+++ b/template.test.in -@@ -0,0 +1,3 @@ -+[Test] -+Type=session -+Exec=@installed_tests_dir@/@program@ -diff --git a/tests/check/meson.build b/tests/check/meson.build -index b2636714b..a697a7b06 100644 ---- a/tests/check/meson.build -+++ b/tests/check/meson.build -@@ -124,10 +124,16 @@ test_defines = [ - '-UG_DISABLE_ASSERT', - '-UG_DISABLE_CAST_CHECKS', - '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', -- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"', - '-DGST_DISABLE_DEPRECATED', - ] - -+testfile = meson.current_source_dir() + '/meson.build' -+if installed_tests_enabled -+ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile') -+ testfile = installed_tests_metadir + '/testfile' -+endif -+test_defines += '-DTESTFILE="@0@"'.format(testfile) -+ - # sanity checking - if get_option('check').disabled() - if get_option('tests').enabled() -@@ -151,6 +157,8 @@ foreach t : core_tests - include_directories : [configinc], - link_with : link_with_libs, - dependencies : test_deps + glib_deps + gst_deps, -+ install_dir: installed_tests_execdir, -+ install: installed_tests_enabled, - ) - - env = environment() -@@ -162,6 +170,18 @@ foreach t : core_tests - env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') - env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') - -+ if installed_tests_enabled -+ test_conf = configuration_data() -+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir)) -+ test_conf.set('program', test_name) -+ configure_file( -+ input: installed_tests_template, -+ output: test_name + '.test', -+ install_dir: installed_tests_metadir, -+ configuration: test_conf -+ ) -+ endif -+ - test(test_name, exe, env: env, timeout : 3 * 60) - endif - endforeach --- -2.31.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch new file mode 100644 index 000000000..f51df6d20 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch @@ -0,0 +1,107 @@ +From b935abba3d8fa3ea1ce384c08e650afd8c20b78a Mon Sep 17 00:00:00 2001 +From: Claudius Heine +Date: Wed, 2 Feb 2022 13:47:02 +0100 +Subject: [PATCH] tests: remove gstbin:test_watch_for_state_change testcase + +This testcase seems to be flaky, and upstream marked it as such: +https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778 + +This patch removes the testcase to avoid it interfering with out ptest. + +Signed-off-by: Claudius Heine + +Upstream-Status: Inappropriate [needs proper upstream fix] +--- + tests/check/gst/gstbin.c | 69 ------------------- + 1 file changed, 69 deletions(-) + +diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c +index e366d5fe20..ac29d81474 100644 +--- a/tests/check/gst/gstbin.c ++++ b/tests/check/gst/gstbin.c +@@ -691,74 +691,6 @@ GST_START_TEST (test_message_state_changed_children) + + GST_END_TEST; + +-GST_START_TEST (test_watch_for_state_change) +-{ +- GstElement *src, *sink, *bin; +- GstBus *bus; +- GstStateChangeReturn ret; +- +- bin = gst_element_factory_make ("bin", NULL); +- fail_unless (bin != NULL, "Could not create bin"); +- +- bus = g_object_new (gst_bus_get_type (), NULL); +- gst_object_ref_sink (bus); +- gst_element_set_bus (GST_ELEMENT_CAST (bin), bus); +- +- src = gst_element_factory_make ("fakesrc", NULL); +- fail_if (src == NULL, "Could not create fakesrc"); +- sink = gst_element_factory_make ("fakesink", NULL); +- fail_if (sink == NULL, "Could not create fakesink"); +- +- gst_bin_add (GST_BIN (bin), sink); +- gst_bin_add (GST_BIN (bin), src); +- +- fail_unless (gst_element_link (src, sink), "could not link src and sink"); +- +- /* change state, spawning two times three messages */ +- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED); +- fail_unless (ret == GST_STATE_CHANGE_ASYNC); +- ret = +- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, +- GST_CLOCK_TIME_NONE); +- fail_unless (ret == GST_STATE_CHANGE_SUCCESS); +- +- pop_state_changed (bus, 6); +- pop_async_done (bus); +- pop_latency (bus); +- +- fail_unless (gst_bus_have_pending (bus) == FALSE, +- "Unexpected messages on bus"); +- +- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING); +- fail_unless (ret == GST_STATE_CHANGE_SUCCESS); +- +- pop_state_changed (bus, 3); +- +- /* this one might return either SUCCESS or ASYNC, likely SUCCESS */ +- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED); +- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE); +- +- pop_state_changed (bus, 3); +- if (ret == GST_STATE_CHANGE_ASYNC) { +- pop_async_done (bus); +- pop_latency (bus); +- } +- +- fail_unless (gst_bus_have_pending (bus) == FALSE, +- "Unexpected messages on bus"); +- +- gst_bus_set_flushing (bus, TRUE); +- +- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL); +- fail_unless (ret == GST_STATE_CHANGE_SUCCESS); +- +- /* clean up */ +- gst_object_unref (bus); +- gst_object_unref (bin); +-} +- +-GST_END_TEST; +- + GST_START_TEST (test_state_change_error_message) + { + GstElement *src, *sink, *bin; +@@ -1956,7 +1888,6 @@ gst_bin_suite (void) + tcase_add_test (tc_chain, test_message_state_changed); + tcase_add_test (tc_chain, test_message_state_changed_child); + tcase_add_test (tc_chain, test_message_state_changed_children); +- tcase_add_test (tc_chain, test_watch_for_state_change); + tcase_add_test (tc_chain, test_state_change_error_message); + tcase_add_test (tc_chain, test_add_linked); + tcase_add_test (tc_chain, test_add_self); +-- +2.33.1 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch deleted file mode 100644 index 46813cec3..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch +++ /dev/null @@ -1,48 +0,0 @@ -From e82dedec1803922656e92285fc1bb75b2cdc0aad Mon Sep 17 00:00:00 2001 -From: Jose Quaresma -Date: Sat, 24 Apr 2021 10:34:47 +0100 -Subject: [PATCH 3/4] tests: use a dictionaries for environment - -meson environment() can't be passed to configure_file and it is needed for installed_tests, -use a dictionary as this is simplest solution to install the environment. - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] - -Signed-off-by: Jose Quaresma ---- - tests/check/meson.build | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -diff --git a/tests/check/meson.build b/tests/check/meson.build -index a697a7b06..f64524904 100644 ---- a/tests/check/meson.build -+++ b/tests/check/meson.build -@@ -161,14 +161,17 @@ foreach t : core_tests - install: installed_tests_enabled, - ) - -- env = environment() -- env.set('GST_PLUGIN_PATH_1_0', meson.build_root()) -- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') -- env.set('GST_STATE_IGNORE_ELEMENTS', '') -- env.set('CK_DEFAULT_TIMEOUT', '20') -- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name)) -- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') -- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') -+ # environment() can't be passed to configure_file and it is needed for installed_tests -+ # use a dictionary as this is simplest solution to install the environment -+ env = { -+ 'GST_PLUGIN_PATH_1_0': meson.build_root(), -+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '', -+ 'GST_STATE_IGNORE_ELEMENTS': '', -+ 'CK_DEFAULT_TIMEOUT': '20', -+ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name), -+ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner', -+ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer', -+ } - - if installed_tests_enabled - test_conf = configuration_data() --- -2.31.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch deleted file mode 100644 index eabe7bcbe..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 57d2965e979f886e03eecd7e351bf01812053971 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma -Date: Sun, 2 May 2021 01:58:01 +0100 -Subject: [PATCH 4/4] tests: install the environment for installed_tests - -- adapt the test environment for installed_tests -- install the test environment for installed_tests -- run the tests using the installed environment - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789] - -Signed-off-by: Jose Quaresma ---- - template.test.in | 2 +- - tests/check/meson.build | 18 ++++++++++++++++++ - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/template.test.in b/template.test.in -index f701627f8..9a3fbdd09 100644 ---- a/template.test.in -+++ b/template.test.in -@@ -1,3 +1,3 @@ - [Test] - Type=session --Exec=@installed_tests_dir@/@program@ -+Exec=sh -c 'set -aex && source @installed_tests_dir@/@program@.env && exec @installed_tests_dir@/@program@' -diff --git a/tests/check/meson.build b/tests/check/meson.build -index f64524904..a67e0f8dd 100644 ---- a/tests/check/meson.build -+++ b/tests/check/meson.build -@@ -183,6 +183,24 @@ foreach t : core_tests - install_dir: installed_tests_metadir, - configuration: test_conf - ) -+ -+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)} -+ configure_file( -+ output: test_name + '.env', -+ install_dir: installed_tests_execdir, -+ configuration : env, -+ ) -+ # helper to convert a meson environment dictionay object exported with configure_file -+ # this also remove not needed variables for the installed tests -+ meson.add_postconf_script('sed', '-i', -+ '-e', '/^#define/!d', -+ '-e', 's/^#define //g', -+ '-e', '/^GST_PLUGIN_PATH_1_0/d', -+ '-e', '/^GST_PLUGIN_SYSTEM_PATH_1_0/d', -+ '-e', '/^GST_PLUGIN_SCANNER_1_0/d', -+ '-e', 's/ /=/', -+ join_paths(meson.current_build_dir(), test_name + '.env') -+ ) - endif - - test(test_name, exe, env: env, timeout : 3 * 60) --- -2.31.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb deleted file mode 100644 index 3aabcf2d5..000000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb +++ /dev/null @@ -1,101 +0,0 @@ -# This recipe is for the i.MX fork of gstreamer1.0. For ease of -# maintenance, the top section is a verbatim copy of an OE-core -# recipe. The second section customizes the recipe for i.MX. - -########### OE-core copy ################## -# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 - -SUMMARY = "GStreamer 1.0 multimedia framework" -DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ -It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." -HOMEPAGE = "http://gstreamer.freedesktop.org/" -BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" -SECTION = "multimedia" -LICENSE = "LGPL-2.0-or-later" - -DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" - -inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome - -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ - file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" - -S = "${WORKDIR}/gstreamer-${PV}" - -SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ - file://run-ptest \ - file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ - file://0002-Remove-unused-valgrind-detection.patch \ - file://0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \ - file://0004-tests-respect-the-idententaion-used-in-meson.patch \ - file://0005-tests-add-support-for-install-the-tests.patch \ - file://0006-tests-use-a-dictionaries-for-environment.patch \ - file://0007-tests-install-the-environment-for-installed_tests.patch \ - " -SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5" - -PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ - check \ - debug \ - tools" - -PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false" -PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false" -PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled" -PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled" -PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false" -PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" -PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils" -PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion" -PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled" -PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native" - -# TODO: put this in a gettext.bbclass patch -def gettext_oemeson(d): - if d.getVar('USE_NLS') == 'no': - return '-Dnls=disabled' - # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set - if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'): - return '-Dnls=disabled' - return '-Dnls=enabled' - -EXTRA_OEMESON += " \ - -Ddoc=disabled \ - -Dexamples=disabled \ - -Ddbghelp=disabled \ - ${@gettext_oemeson(d)} \ -" - -GIR_MESON_ENABLE_FLAG = "enabled" -GIR_MESON_DISABLE_FLAG = "disabled" - -PACKAGES += "${PN}-bash-completion" - -# Add the core element plugins to the main package -FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" -FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" -FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" - -CVE_PRODUCT = "gstreamer" - -PTEST_BUILD_HOST_FILES = "" - -########### End of OE-core copy ########### - -########### i.MX overrides ################ - -DEFAULT_PREFERENCE = "-1" - -# Use i.MX fork of GST for customizations -SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" -GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https" -SRCBRANCH = "MM_04.06.04_2112_L5.15.y" -SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " -SRCREV = "a55998c70940bd183d25d29e1b82fd3bc9f43df3" - -S = "${WORKDIR}/git" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" - -########### End of i.MX overrides ######### diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb new file mode 100644 index 000000000..3c9424e26 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb @@ -0,0 +1,99 @@ +# This recipe is for the i.MX fork of gstreamer1.0. For ease of +# maintenance, the top section is a verbatim copy of an OE-core +# recipe. The second section customizes the recipe for i.MX. + +########### OE-core copy ################## +# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138 + +SUMMARY = "GStreamer 1.0 multimedia framework" +DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ +It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime." +HOMEPAGE = "http://gstreamer.freedesktop.org/" +BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" +SECTION = "multimedia" +LICENSE = "LGPL-2.1-or-later" + +DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" + +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome + +LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ + file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" + +S = "${WORKDIR}/gstreamer-${PV}" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ + file://run-ptest \ + file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \ + file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \ + file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ + file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ + file://0005-tests-remove-gstbin-test_watch_for_state_change-test.patch \ + " +SRC_URI[sha256sum] = "de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031" + +PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ + check \ + debug \ + tools" + +PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false" +PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false" +PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled" +PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled" +PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled_tests=true,-Dtests=disabled -Dinstalled_tests=false" +PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" +PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils" +PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion" +PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled" +PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native" + +# TODO: put this in a gettext.bbclass patch +def gettext_oemeson(d): + if d.getVar('USE_NLS') == 'no': + return '-Dnls=disabled' + # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set + if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'): + return '-Dnls=disabled' + return '-Dnls=enabled' + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Dexamples=disabled \ + -Ddbghelp=disabled \ + ${@gettext_oemeson(d)} \ +" + +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" + +PACKAGES += "${PN}-bash-completion" + +# Add the core element plugins to the main package +FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" +FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" +FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" + +CVE_PRODUCT = "gstreamer" + +PTEST_BUILD_HOST_FILES = "" + +########### End of OE-core copy ########### + +########### i.MX overrides ################ + +DEFAULT_PREFERENCE = "-1" + +# Use i.MX fork of GST for customizations +SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" +SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " +GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "7afc123bc6974d68795f97466eb83ec7a093fb9b" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" + +########### End of i.MX overrides ######### -- cgit v1.2.3-54-g00ecf From 294d56ac5a645526081370c714fc5e874111f381 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 15:51:12 -0500 Subject: imx-gst1.0-plugin: Upgrade 4.6.4 -> 4.7.0 Signed-off-by: Tom Hochstein --- .../gstreamer/imx-gst1.0-plugin_4.6.4.bb | 84 ---------------------- .../gstreamer/imx-gst1.0-plugin_4.7.0.bb | 81 +++++++++++++++++++++ 2 files changed, 81 insertions(+), 84 deletions(-) delete mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb create mode 100644 recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb deleted file mode 100644 index ab8117b3f..000000000 --- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (C) 2014,2016 Freescale Semiconductor -# Copyright 2017-2021 NXP -# Copyright (C) 2012-2015 O.S. Systems Software LTDA. -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "Gstreamer freescale plugins" -LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only" -SECTION = "multimedia" - -DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -DEPENDS:append:mx6-nxp-bsp = " imx-lib" -DEPENDS:append:mx7-nxp-bsp = " imx-lib" -DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" -DEPENDS:append:imxvpu = " imx-vpuwrap" -DEPENDS:append:imxfbdev:imxgpu = " libdrm" - -# For backwards compatibility -RREPLACES:${PN} = "gst1.0-fsl-plugin" -RPROVIDES:${PN} = "gst1.0-fsl-plugin" -RCONFLICTS:${PN} = "gst1.0-fsl-plugin" - -LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ - file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" - -SRCBRANCH = "MM_04.06.04_2112_L5.15.y" - - - -SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" -SRCREV = "f4b3105ab33e608c717855cdd1a520b60f377bf3" - -S = "${WORKDIR}/git" - -inherit meson pkgconfig use-imx-headers - -PLATFORM:mx6-nxp-bsp = "MX6" -PLATFORM:mx6sl-nxp-bsp = "MX6SL" -PLATFORM:mx6sx-nxp-bsp = "MX6SX" -PLATFORM:mx6ul-nxp-bsp = "MX6UL" -PLATFORM:mx6sll-nxp-bsp = "MX6SLL" -PLATFORM:mx7-nxp-bsp= "MX7D" -PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" -PLATFORM:mx8-nxp-bsp = "MX8" - -# Todo add a mechanism to map possible build targets -EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ - -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ -" - -PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" - -# Add codec list that the beep plugin run-time depended -BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" -RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " -RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp" -RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp" - -PACKAGECONFIG ?= "" - -# FIXME: Add all features -# feature from excluded mm packages -PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec" -# feature from special mm packages -PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec" -MSDEPENDS = "imx-msparser imx-mscodec" -PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}" -PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}" - -FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" - -FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" -FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" -FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" -FILES:${PN}-gplay = "${bindir}/gplay-1.0" -FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" -FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" -FILES:${PN}-grecorder = "${bindir}/grecorder-1.0" -FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" -FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb new file mode 100644 index 000000000..585113a4d --- /dev/null +++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb @@ -0,0 +1,81 @@ +# Copyright (C) 2014,2016 Freescale Semiconductor +# Copyright 2017-2021 NXP +# Copyright (C) 2012-2015 O.S. Systems Software LTDA. +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Gstreamer freescale plugins" +LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only" +SECTION = "multimedia" + +DEPENDS = "imx-codec imx-parser gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +DEPENDS:append:mx6-nxp-bsp = " imx-lib" +DEPENDS:append:mx7-nxp-bsp = " imx-lib" +DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" +DEPENDS:append:imxvpu = " imx-vpuwrap" +DEPENDS:append:imxfbdev:imxgpu = " libdrm" + +# For backwards compatibility +RREPLACES:${PN} = "gst1.0-fsl-plugin" +RPROVIDES:${PN} = "gst1.0-fsl-plugin" +RCONFLICTS:${PN} = "gst1.0-fsl-plugin" + +LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ + file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" + +SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "d0b26997556983c99d7b3e7663577f090df36240" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig use-imx-headers + +PLATFORM:mx6-nxp-bsp = "MX6" +PLATFORM:mx6sl-nxp-bsp = "MX6SL" +PLATFORM:mx6sx-nxp-bsp = "MX6SX" +PLATFORM:mx6ul-nxp-bsp = "MX6UL" +PLATFORM:mx6sll-nxp-bsp = "MX6SLL" +PLATFORM:mx7-nxp-bsp= "MX7D" +PLATFORM:mx7ulp-nxp-bsp= "MX7ULP" +PLATFORM:mx8-nxp-bsp = "MX8" + +# Todo add a mechanism to map possible build targets +EXTRA_OEMESON = "-Dplatform=${PLATFORM} \ + -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ +" + +PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" + +# Add codec list that the beep plugin run-time depended +BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" +RDEPENDS:${PN} += "imx-parser ${BEEP_RDEPENDS} gstreamer1.0-plugins-good-id3demux " +RDEPENDS:${PN}:append:mx8qm-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8qxp-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8dx-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8mp-nxp-bsp = " imx-dsp" +RDEPENDS:${PN}:append:mx8ulp-nxp-bsp = " imx-dsp" + +PACKAGECONFIG ?= "" + +# FIXME: Add all features +# feature from excluded mm packages +PACKAGECONFIG[ac3] = ",,imx-ac3codec,imx-ac3codec" +# feature from special mm packages +PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec" +MSDEPENDS = "imx-msparser imx-mscodec" +PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}" +PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}" + +FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" + +FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" +FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" +FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" +FILES:${PN}-gplay = "${bindir}/gplay-1.0" +FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}" +FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" +FILES:${PN}-grecorder = "${bindir}/grecorder-1.0" +FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" +FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 1109c61e9e59adc31c8157fe97a042872fd81238 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 16:44:32 -0500 Subject: imx-dsp: Upgrade 1.2.0 -> 2.0.0 Fixes: 1afdb74 MMFMWK-9126 dsp_wrapper: Switch to sw aac/aacp decoder with multi chan 89f44f8 MMFMWK-9123-7 unit_test: fsl-rend: Add pcm gain d5ff750 MMFMWK-9123-6 unit_test: fsl-dec: Add pcm gain 024ec32 MMFMWK-9123-5 unit_test:src: Add source file for parser pcm info f073481 MMFMWK-9123-4 dsp_framework: Makefile: Add pcm gain to build d44697e MMFMWK-9123-3 Change CODEC_PCM_DEC to CODEC_PCM_GAIN fcdcded MMFMWK-9123-2 common: library_load: Add check lib type 98e594d MMFMWK-9123-1 dsp_framework: main: Enlarge worker_thread_scratch_size 78029ab MMFMWK-9122: fix warning with yocto toolchain 2c5f489 MMFMWK-9122: switch to use yocto toolchain cb76f5e MMFMWK-9121 libxa_af_hostless: sysdeps:linux: Add check for exit thread a5c2f24 MMFMWK-9119: dsp_framework: Use production configuration for 8QM and 8QXP f941878 MMFMWK-9117-2 dsp_framework: fsl-render: Remove checking rate for render 8ffdbbb MMFMWK-9117-1 unit_test: fsl-render: Add to get real dec format 3eae49a MMFMWK-9114-4: dsp_framework: render: fix noise issue after suspend eeb9918 MMFMWK-9114-3: dsp_framework: hifi-dpf: add dead wait after suspend cc43096 MMFMWK-9114-2: dsp_framework: render: free memory to avoid memory leak e130ea1 MMFMWK-9114-1: dsp_framework: render: fix render can't work 67aa852 MMFMWK-9115 dsp_wrapper: Go to send output buffer when received init done 7cda1fc MMFMWK-9109 dsp_framework: unia-codec: Set codec id when load codec wrap 91ad2c9 MMFMWK-9113 dsp_framework: Add consumed len for getpara 3d2167c MMFMWK-9112 common: xaf-fsl-api: Fix no output if do reset before decoding 195faaf MMFMWK-9111-3 dsp_wrapper: fix android build issue 2aff770 MMFMWK-9111-2 common: fix android build issue 04ccf6d MMFMWK-9111-1 libxa_af_hostless: fix android build issue 5dba863 MMFMWK-9110 dsp_wrapper: fix get wrong value from dsp 0ddf545 MMFMWK-9107-2 dsp_wrapper: fix build warning 82685ed MMFMWK-9107-1 dsp_framework: render: fix build warning 1c60ffe MMFMWK-9104 dsp_framework: unia-codec: Ignore some codec decoding errors 9d63a74 MMFMWK-9108 build_dsp: Fix unit test name is not correct when install 11b653e MMFMWK-9105-2 dsp_wrapper: Add check codec library installed or not 464ae43 MMFMWK-9105-1 common: Move macro CORE_LIB_PATH to header b9c186f MMFMWK-9103 dsp_wrapper: Fix decoding timeout after received eos db0ac54 MMFMWK-9099 dsp_wrapper: Add channel num check for aac codec 956832e MMFMWK-9100 common: library_load: Add check lib_info section pool 159f7cf MMFMWK-9098 dsp_framework: unia-codec: Clear codec struct when init f193eca dsp_framework: unia-codec: fixed memory size for chan_map_table 3ce22f9 Makefile: don't remove the tflm_imx8ulp.bin 25ccff0 Add TFLM DSP firmware binary 2803042 Remove TFLM dependency from test 0e3ba22 MMFMWK-9093-2 dsp_wrapper: Process fatal error from event 6dbba43 MMFMWK-9093-1 dsp_framework: unia-codec: Add fatal error for decoding 3fac033 Integrate TFLM 5681b5b common: xf-fsl-ipc: fix addr issue on munmap b2907c8 dsp_framework: Enlarge dsp local mem ceb3574 dsp_wrapper: fix seek error when comp status is XAF_EXEC_DONE 61a0b00 dsp_wrapper: Adjust msg flow d145008 Revert "hifi-dpf: xa-class-audio-codec: Only purse input port if msg from proxy" fac3a35 dsp_framework: enlarge mem fa0697c dsp_framework: memory: Add success check for xf_uniacodec_malloc ec02b01 dsp_wrapper: fix codec data c01e084 dsp_wrapper: do not set codec data again if already set f7fc455 dsp_wrapper: fix decoding error when end of stream c3cd468 dsp_framework: unia-codec: init input_over, clear out_size 27f6a7a dsp_wrapper: Add wma channel layouts 271e820 common: xaf-fsl-api: Add error process 0c5da67 Revert "common: xf-fsl-ipc: fix reference counter issue" b6f8ad7 dsp_wrapper: fix some wma streams seek error b268d78 hifi-dpf: xa-class-audio-codec: Only purse input port if msg from proxy edee928 dsp_wrapper: set wma alway is framed ccb49dc dsp_wrapper: Remove offset_copy b6d2e50 release:build_dsp: Generate software link 3e4057a Makefile.am Add dsp_rend_test.out 6398123 release: Add build_dsp 88f9736 Add SCR 731e9e7 Add README 3dde879 EULA: Add EULA.txt V32 56d7b47 dsp_wrapper: Add DEBUG macro to print info 3a4cbc5 dsp_wrapper: remove printf dd1ef59 common: xf-fsl-ipc: fix reference counter issue c9253c9 libxa_af_hostless:hifi-dpf: Remove check frame_size * sample_size 3f62eb2 dsp_wrapper: bugfix: Move mem_exit to xaf-fsl-api 805a7df dsp_framework: fix not enough buffer when loading a796d8b dsp_wrapper: Add aac channel map in local d58d51f dsp_wrapper: fix some ogg streams can't play ed8ef02 Makefile: build DSP_WRAPPER b6213bf testxa_af_hostless: xaf-mem-test: move mem_obj_t to xaf_adev_config_t 6b3f824 dsp_wrapper: fix outputformat error 4cf6f0b host-apf: Change xf_g_ap to local var 56fe689 dsp_wrapper: process decode err b3c00e0 dsp_wrapper: remove printf 71002fe dsp_wrapper: Remove returned val process 408ae00 common: xaf-fsl-api: Add process XF_EVENT msg c9af2d0 dsp_wrapper: Add support event msg 245f4ea dsp_framework: unia-codec: fix outbuf size is not correct 7476b62 dsp_framework: Move rpmsg_response to xf-core 197befd dsp_framework:plugins:unia-codec: Avoid to report narmal returned val 3ddf693 unit_test: Makefile: Remove XA_DISABLE_EVENT 40a10d3 dsp_wrapper: Makefile: Remove XA_DISABLE_EVENT 149187f dsp_framework: Makefile: Remove XA_DISABLE_EVENT 42c8b42 common: xaf-fsl-api: fix wrong val convert c482b5e host-apf: xf-proxy: fix wrong buffer address bc618a7 dsp_framework: plugins: unia-codec: Add reset buf cmd c781b46 dsp_wrapper: Add reset dsp cmd in reset func 5d2145e common: fsl_unia: Add cmd UNIA_RESET_BUF 037ae78 dsp_framework: fix end of stream error in bypass mode 1cd2cc0 dsp_framework: unia-codec: Add set decoding fatal error a127078 unit_test: rend: Add set cmd line param 05239b0 unit_test: rend: Support all codecs in rend bb987cf dsp_framework: fix multi instances issue cf07fed dsp_framework: set framework in bypass mode 0302efe dsp_wrapper: set chan map 71824c1 dsp_framework: set chan map d2d3b09 dsp_framework: enlarge the local buffer size 128097d dsp_wrapper: Add dsp_wrapper 35d6abb xf-proxy: Add xf_flush function 1c7b002 unit_test: Add to support more codecs ca3aabe unit_test: Add support to build dsp_rend_test 3430046 unit_test: initial xaf-fsl-mp3-dec-rend-test.c 18f9aea dsp_framework: Add renderer and peripherals driver 8b9e95a dsp_framework: initial xa-fsl-renderer.c f1afdb0 unit_test: Add support MP3 decoder 6182802 unit_test: initial xaf-fsl-dec-test.c 5a19ec6 unit_test: initial xaf-fsl-api.c 0430abf dsp_framework: integrated unified audio codec plugin 8db1736 dsp_framework: Enable the basic rpmsg communication 9747302 rpmsg-lite: Add rpmsg-lite 2a2ab7b XAF: xa_hifi_af_hostless_lib_2_6_api_2_0_src.xws Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb | 45 ---------------------------- recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb | 46 +++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 45 deletions(-) delete mode 100644 recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb create mode 100644 recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb diff --git a/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb deleted file mode 100644 index bfa279a00..000000000 --- a/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2017-2021 NXP - -DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" - -inherit fsl-eula-unpack autotools pkgconfig - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -SRC_URI[md5sum] = "238d3f0256573ca657228d7090bcb7d3" -SRC_URI[sha256sum] = "13f67f267d6d33e8be2a6c258a46cde3667258ac86435776cbf1a370de611476" - -EXTRA_OECONF += " \ - -datadir=${base_libdir}/firmware --bindir=/unit_tests \ - ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', ' ', d)} \ -" - -RDEPENDS:${PN} += " imx-dsp-codec-ext" - -HIFI4_BIN ?= "hifi4_imx8qmqxp.bin" -HIFI4_BIN:mx8mp-nxp-bsp = "hifi4_imx8mp.bin" -HIFI4_BIN:mx8ulp-nxp-bsp = "hifi4_imx8ulp.bin" - -do_install:append () { - # Rename DSP Firmware into hifi4.bin and remove unneeded binary - mv ${D}/lib/firmware/imx/dsp/${HIFI4_BIN} ${D}/lib/firmware/imx/dsp/hifi4.bin - find ${D}/lib/firmware/imx/dsp -name hifi4_*.bin -exec rm {} \; -} - -FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \ - ${libdir}/imx-mm/audio-codec/wrap \ - ${base_libdir}/firmware/imx/dsp \ - /unit_tests \ -" - -INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so" - -# Fix strip command failed: 'Unable to recognise the format of the input file' -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INHIBIT_SYSROOT_STRIP = "1" - -PACKAGE_ARCH = "${MACHINE_ARCH}" -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb new file mode 100644 index 000000000..03b22167c --- /dev/null +++ b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb @@ -0,0 +1,46 @@ +# Copyright 2017-2022 NXP + +DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "34f77ef1078b842e4cd67dc87c4c35a1" +SRC_URI[sha256sum] = "c484a29ab880e8f7ec84d7df736bfa37817c41e64802f07140e9752ba9cd7956" + +EXTRA_OECONF = " \ + -datadir=${base_libdir}/firmware \ + --bindir=/unit_tests \ + ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', '', d)} \ +" + +RDEPENDS:${PN} += " imx-dsp-codec-ext" + +HIFI4_BIN ?= "hifi4_imx8qmqxp.bin" +HIFI4_BIN:mx8mp-nxp-bsp = "hifi4_imx8mp.bin" +HIFI4_BIN:mx8ulp-nxp-bsp = "hifi4_imx8ulp.bin" + +do_install:append () { + # Rename DSP Firmware into hifi4.bin and remove unneeded binary + mv ${D}/lib/firmware/imx/dsp/${HIFI4_BIN} ${D}/lib/firmware/imx/dsp/hifi4.bin + find ${D}/lib/firmware/imx/dsp -name hifi4_*.bin -exec rm {} \; +} + +FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \ + ${libdir}/imx-mm/audio-codec/wrap \ + ${base_libdir}/firmware/imx/dsp \ + /unit_tests \ +" + +INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so" + +# Fix strip command failed: 'Unable to recognise the format of the input file' +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_SYSROOT_STRIP = "1" + +PACKAGE_ARCH = "${MACHINE_ARCH}" +COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From be58b76e47971eb4c8ce645e5ba88d7e5056a102 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 16:49:38 -0500 Subject: imx-dsp: Rework the install logic [LF-5799] Replace the firmware name variable with a simpler firmware platform variable. This allows the logic that removes firmware that is not for this platform to handle any firmware, not just the main binary. Also, make the default value of the variable UNDEFINED. Then, if a new SOC is not properly added to the variable list, the mv will fail. Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb index 03b22167c..336bf34d2 100644 --- a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb +++ b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb @@ -19,14 +19,18 @@ EXTRA_OECONF = " \ RDEPENDS:${PN} += " imx-dsp-codec-ext" -HIFI4_BIN ?= "hifi4_imx8qmqxp.bin" -HIFI4_BIN:mx8mp-nxp-bsp = "hifi4_imx8mp.bin" -HIFI4_BIN:mx8ulp-nxp-bsp = "hifi4_imx8ulp.bin" +HIFI4_PLATFORM ?= "HIFI4_PLATFORM_IS_UNDEFINED" +HIFI4_PLATFORM:mx8qm-nxp-bsp = "imx8qmqxp" +HIFI4_PLATFORM:mx8qxp-nxp-bsp = "imx8qmqxp" +HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp" +HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp" +HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp" do_install:append () { - # Rename DSP Firmware into hifi4.bin and remove unneeded binary - mv ${D}/lib/firmware/imx/dsp/${HIFI4_BIN} ${D}/lib/firmware/imx/dsp/hifi4.bin - find ${D}/lib/firmware/imx/dsp -name hifi4_*.bin -exec rm {} \; + # Remove firmware not for this platform + find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \; + # Set the expected generic name for the firmware + mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin } FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \ -- cgit v1.2.3-54-g00ecf From 186780dbcf58fcc50dcebee7f1b63fbd275703e7 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 16:50:39 -0500 Subject: imx-dsp: Add TensorFlow Lite Micro for 8ULP Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb index 336bf34d2..168ec6035 100644 --- a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb +++ b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb @@ -26,11 +26,18 @@ HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp" HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp" HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp" +UNSUPPORTED_TESTS = "dsp_tflm" +UNSUPPORTED_TESTS:mx8ulp-nxp-bsp = "" + do_install:append () { # Remove firmware not for this platform find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \; # Set the expected generic name for the firmware mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin + # Remove unit tests not for this platform + for unsupported_test in ${UNSUPPORTED_TESTS}; do + find ${D}/unit_tests/DSP -name $unsupported_test* -exec rm {} \; + done } FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \ -- cgit v1.2.3-54-g00ecf From bf4f46c9341cacbd28a72110977dc08d99cc8574 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Thu, 1 Sep 2022 16:53:07 -0500 Subject: imx-dsp-codec-ext: Upgrade 1.2.0 -> 2.0.0 Fixes: d690e91f MMFMWK-9102-3 release/lib/dsp: Update lib_aacd_wrap_dsp ab775415 MMFMWK-9102-2 aacd_wrap: Add return success after copy codec data 93076c58 MMFMWK-9102-1 aacd_wrap: Remove free codec data buf when reset b3ea821c [configurea.ac] Update version to 4.7.0 for next release fdedb900 [configurea.ac] Update dsp version to 2.0.0 for next release 3e12abf4 MMFMWK-9090-3 release/lib: Update vorbis/wma dsp wrapper library 07d2d122 MMFMWK-9090-2 wma10d_wrapper: Change to use good way to get decode info a6fd6062 MMFMWK-9090-1 ua_wrapper: remove free codec buf in reset func 9c071602 MMFMWK-9089 vorbisd_wrapper: fix copy codec data error a4ce4242 [configurea.ac] Update dsp version to 1.2.2 for next release ce41e27a [configurea.ac] Update version to 4.6.5 for next release 267d74fc [configurea.ac] Update dsp version to 1.2.1 for next release ee983061 [configurea.ac] Update version to 4.6.4 for next release Signed-off-by: Tom Hochstein --- .../imx-dsp/imx-dsp-codec-ext_1.2.0.bb | 21 --------------------- .../imx-dsp/imx-dsp-codec-ext_2.0.0.bb | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+), 21 deletions(-) delete mode 100644 recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb create mode 100644 recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb deleted file mode 100644 index 470fb7fa7..000000000 --- a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2018-2021 NXP - -DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP" -LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" - -inherit fsl-eula-unpack autotools pkgconfig - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" - -SRC_URI[md5sum] = "9e1d0e06f4fed47a37cb390e135f453f" -SRC_URI[sha256sum] = "2703a9dc619a2ac32352d65cfa58f8217e65abcabd33b77b0be02425dc896ae2" - -# Fix strip command failed: 'Unable to recognise the format of the input file' -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_SYSROOT_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" -INSANE_SKIP:${PN} = "arch dev-so" - -FILES:${PN} += "${libdir}/imx-mm/audio-codec ${datadir}/imx-mm" -COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb new file mode 100644 index 000000000..f383615dd --- /dev/null +++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb @@ -0,0 +1,21 @@ +# Copyright 2018-2021 NXP + +DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +inherit fsl-eula-unpack autotools pkgconfig + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" + +SRC_URI[md5sum] = "371a550b9ade88cf355d45c68813f375" +SRC_URI[sha256sum] = "4307c0a625c73a1a1e5ab321834488d52471c434807ab81b9dd038b4cff5903b" + +# Fix strip command failed: 'Unable to recognise the format of the input file' +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_SYSROOT_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INSANE_SKIP:${PN} = "arch dev-so" + +FILES:${PN} += "${libdir}/imx-mm/audio-codec ${datadir}/imx-mm" +COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 6cda674acd5cffb3b6d235c1941af71393e31d46 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 10:19:54 -0500 Subject: imx-dspc-asrc: Simplify SRC_URI with BP Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb index 7bf6d932e..48be837a9 100644 --- a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb +++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb @@ -4,7 +4,7 @@ LICENSE = "Proprietary" SECTION = "multimedia" LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3" -SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1" SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a" -- cgit v1.2.3-54-g00ecf From 2f97a100d72b710dea3c24c23a4a41ac5ec6f9eb Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 10:20:34 -0500 Subject: imx-parser: Upgrade 4.6.2 -> 4.7.0 Fixes: b479f651 MA-20253 mp4 dash streaming video hang when playing an hevc stream 2f381602 MA-20234: check if mkv parser has cluster. 3d736c7c [configurea.ac] Update version to 4.7.0 for next release af0b43d8 MA-20193 [Android 12] cts.MediaPlayerTest#testCallback fail 7398507f MKVPARSER_01.08.16 add FlushTrack function 6ca57f2d MKVPARSER_01.08.15 support dash playback. 88203eb8 MMFMWK-9067-1: refine mkv parser and remove compile warnings aa7f343f MA-20134 coverity issues in mp4 parser 6956469f MA-20105 [Android 12] cts MediaMetadataRetrieverTest#testGetFrameAtTimeClosestSyncEmptyNormalEditList fail d2098571 MA-20085 [Android 12] cts MediaMetadataRetrieverTest#testGetFrameAtTimeClosestEditList fail with nxp mp4 parser 12a5e4ef LF-5172 enable MP4 and webm dash streaming in 2022 Q2 c834ded7 MMFMWK-9048 MPG2 PARSER 06.01.02 3b6b3b22 FMMFMWK-9047 MPEG2 PARSER 06.01.01 621c504d add version information in libspdif_parser.mk modify install-data-hook for spdif parser in Makefile.am to fix installation error e971965d MMFMWK-9010 SPDIF PARSER 00.00.01 modify Makefile file format in spdif parser add newline character in Makefile.am to fix missing separator issue add soft link file and modify Makefile.am to realize file packaging 55c67aae MMFMWK-9042 MPEG2 PARSER 06.00.04 46f9e346 MMFMWK-9010 SPDIF PARSER 00.00.01 73af1c6a MA-19906 cts android.media.cts.MediaExtractorTest fail and get crash e874f58f [configurea.ac] Update version to 4.6.5 for next release 3089c7e8 MMFMWK-9026: fix dash playback issue for webm streams. 07c6df92 MKV PARSER 01.08.12 support seek without cue list 84f963be MMFMWK-9007 [i.MX8MM/Sony] Error on gst-discoverer-1.0 with ALAC file 5b736228 MA-19618 [Android 12] ctsv2 ExtractorTest$FunctionalityTest#testExtract[17(audio/ac4)] fail 36718bf0 MA-19734-2 [Android 12] cts android.mediav2.cts.MuxerTest$TestSimpleAppend#testSimpleAppendNative[0(mp4)] and related fa a0842c57 MA-19781: fix cts android.mediav2.cts.ExtractorTest$ValidateKeyValuePairs#validateKeyValuePairs 14816f41 MA-19730 [Android 12] refine mp4 parser seek for MediaMuxerTest#testSimulateAudioBVideoFramesDropIssues ba94b741 MMFMWK-9007 [i.MX8MM/Sony] Error on gst-discoverer-1.0 with ALAC file 2908ec52 MA-19734 [Android 12] cts android.mediav2.cts.MuxerTest$TestSimpleAppend#testSimpleAppendNative[0(mp4)] and related failures 0aa9acf3 ASF PARSER 01.01.08 6a402d61 MA-19619 [Android 12] cts MediaExtractorTest#testMpegh3dAudioMediaExtractorMha1 fail 5f34631a MA-19595 [Android12 8qm/8qxp]cts mediaprovidertranscode.cts.TranscodeTest#testTranscoded_FilePath e6808758 [configurea.ac] Update version to 4.6.4 for next release d81e3def MA-19589 [Android 12] cts mediav2.cts.DecoderColorAspectsTest#testColorAspects fail on 8mp f12cd7d5 MMFMWK-8999 Fix process crash in ID3 PARSER 65e58b12 MMFMWK-8997 MP3 PARSER 03.03.11 4510a2a1 MA-19560: change timecode from uint to uint64 83af99c8 MMFMWK-8995 MP3 PARSER 03.03.10 5d5c21ba MMFMWK-8994 MPG2 PARSER 06.00.03 7874f734 MKV PARSER 01.08.09 4b70b7a7 MA-19211 Failed to output sound when playing recording file from USB Camera 99b778df ASF PARSER 01.01.07 e4b74edf [configurea.ac] Update version to 4.6.3 for next release Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-parser/imx-parser_4.6.2.bb | 44 ----------------------- recipes-multimedia/imx-parser/imx-parser_4.7.0.bb | 44 +++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 recipes-multimedia/imx-parser/imx-parser_4.6.2.bb create mode 100644 recipes-multimedia/imx-parser/imx-parser_4.7.0.bb diff --git a/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb b/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb deleted file mode 100644 index 847734a4d..000000000 --- a/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (C) 2012-2018 O.S. Systems Software LTDA. -# Copyright (C) 2012-2016 Freescale Semiconductor -# Copyright (C) 2017, 2019 NXP -# Released under the MIT license (see COPYING.MIT for the terms) -DESCRIPTION = "Freescale Multimedia parser libs" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" - -# For backwards compatibility -PROVIDES += "libfslparser" -RREPLACES:${PN} = "libfslparser" -RPROVIDES:${PN} = "libfslparser" -RCONFLICTS:${PN} = "libfslparser" - -SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" -SRC_URI[md5sum] = "987437601084e0fec59e0dbece9cf46b" -SRC_URI[sha256sum] = "5c26f1e71ab821ef36b60fb8b6df9a3a85418e3eebc87298c4f6bee4abbc4abd" - -inherit fsl-eula-unpack autotools pkgconfig - -# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point -EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ - bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}" - -INHIBIT_PACKAGE_STRIP = "1" -INHIBIT_PACKAGE_DEBUG_SPLIT = "1" - -python __set_insane_skip() { - # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have - # the source we cannot fix it. Disable the insane check for now. - # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those - for p in d.getVar('PACKAGES').split(): - d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel") -} - -do_package_qa[prefuncs] += "__set_insane_skip" - -# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those -FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" - -INHIBIT_SYSROOT_STRIP = "1" - -COMPATIBLE_MACHINE = "(imx-nxp-bsp)" diff --git a/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb b/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb new file mode 100644 index 000000000..55402bb68 --- /dev/null +++ b/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb @@ -0,0 +1,44 @@ +# Copyright (C) 2012-2018 O.S. Systems Software LTDA. +# Copyright (C) 2012-2016 Freescale Semiconductor +# Copyright (C) 2017-2021 NXP +# Released under the MIT license (see COPYING.MIT for the terms) +DESCRIPTION = "Freescale Multimedia parser libs" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +# For backwards compatibility +PROVIDES += "libfslparser" +RREPLACES:${PN} = "libfslparser" +RPROVIDES:${PN} = "libfslparser" +RCONFLICTS:${PN} = "libfslparser" + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "5054251389f43702fd29da9668bd3dea" +SRC_URI[sha256sum] = "caf2757baa936ffe0e992f8e6c3121932f5b497cebfbf20048ba93b26626c4d7" + +inherit fsl-eula-unpack autotools pkgconfig + +# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point +EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ + bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d), d)}" + +INHIBIT_PACKAGE_STRIP = "1" +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" + +python __set_insane_skip() { + # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have + # the source we cannot fix it. Disable the insane check for now. + # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those + for p in d.getVar('PACKAGES').split(): + d.setVar("INSANE_SKIP:%s" % p, "ldflags dev-so textrel") +} + +do_package_qa[prefuncs] += "__set_insane_skip" + +# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those +FILES:${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}" + +INHIBIT_SYSROOT_STRIP = "1" + +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From e333a68f1d261ee282086f502042d1959cae0d4d Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 10:24:27 -0500 Subject: imx-sw-pdm: Upgrade 1.0.1 -> 1.0.2 Fixes: 738ca90 MMFMWK-9001-5: build: configure: bump version 1.0.2 9e2e282 MMFMWK-9001-4: release: imx-sw-pdm: rebuild using latest lib 2979b5c MMFMWK-9001-3: test: output sample rate and samples per channel 128e3cc MMFMWK-9001-2: release: libimxswpdm: rebuild with clang 12.0.0 a9eb48f MMFMWK-9001-1: pdmToPcm_simd: module.mk: use clang++ compiler Signed-off-by: Tom Hochstein --- recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb | 18 ------------------ recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb create mode 100644 recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb deleted file mode 100644 index d1fc1f766..000000000 --- a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2020 NXP Semiconductors - -DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" - -SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" -SRC_URI[md5sum] = "65d5b2cb378f96a5cb4577925eda236b" -SRC_URI[sha256sum] = "68fca50d8f7526127ee5650e9002b3f9479b197f3085c68a97f7957f50ec5e5b" - -inherit fsl-eula-unpack autotools pkgconfig - -INSANE_SKIP:${PN} = "already-stripped" - -FILES:${PN} += "${datadir}/imx-mm" - -COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb new file mode 100644 index 000000000..3d5572076 --- /dev/null +++ b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb @@ -0,0 +1,18 @@ +# Copyright 2020 NXP Semiconductors + +DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" + +SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" +SRC_URI[md5sum] = "af01428c2971af339d0308f4aca1dac0" +SRC_URI[sha256sum] = "d310ef581f9e6e6d726c5dc8998178b7993680b5552c45561e56ac0e927b6d9c" + +inherit fsl-eula-unpack autotools pkgconfig + +INSANE_SKIP:${PN} = "already-stripped" + +FILES:${PN} += "${datadir}/imx-mm" + +COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" -- cgit v1.2.3-54-g00ecf From 2e4a6055859623828c85aac572d5f18aac3014cc Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 11:05:33 -0500 Subject: imx-vpuwrap: Upgrade to 5.15.32-2.0.0 Signed-off-by: Tom Hochstein --- .../imx-vpuwrap/imx-vpuwrap_4.6.2.bb | 29 ---------------------- recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb | 28 +++++++++++++++++++++ 2 files changed, 28 insertions(+), 29 deletions(-) delete mode 100644 recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb create mode 100644 recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb deleted file mode 100644 index 24af9e2b7..000000000 --- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (C) 2013-2016 Freescale Semiconductor -# Copyright (C) 2017-2020 NXP -# Released under the MIT license (see COPYING.MIT for the terms) - -DESCRIPTION = "Freescale Multimedia VPU wrapper" -LICENSE = "Proprietary" -SECTION = "multimedia" -LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" - -DEPENDS = "virtual/imxvpu" -DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" - -SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}" - -SRCBRANCH = "MM_04.06.02_2108_L5.10.y" -SRCREV = "f09ceba7bcf733b1b27e57462496d3b81ca28e50" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -do_install:append() { - # FIXME: Drop examples for now - rm -r ${D}${datadir} -} - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -COMPATIBLE_MACHINE = "(imxvpu)" diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb new file mode 100644 index 000000000..240eab49e --- /dev/null +++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb @@ -0,0 +1,28 @@ +# Copyright (C) 2013-2016 Freescale Semiconductor +# Copyright (C) 2017-2021 NXP +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Freescale Multimedia VPU wrapper" +LICENSE = "Proprietary" +SECTION = "multimedia" +LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011" + +DEPENDS = "virtual/imxvpu" +DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" + +SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}" +SRCBRANCH = "MM_04.07.00_2205_L5.15.y" +SRCREV = "0e417b0ade3e55b5fb639d20c419b05aa31ab329" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +do_install:append() { + # FIXME: Drop examples for now + rm -r ${D}${datadir} +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +COMPATIBLE_MACHINE = "(imxvpu)" -- cgit v1.2.3-54-g00ecf From b32f2319bb60421529959309d94d943a88420f36 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 11:05:43 -0500 Subject: pulseaudio: Fix WM8960 codec by disabling alternate sample rate The WM8960 codec doesn't support 44k and 48k simultaneously, so set alternate-sample-rate the same as default-sample-rate. Signed-off-by: Tom Hochstein --- recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf index 9eb954bbc..b9f533a00 100644 --- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf +++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf @@ -76,6 +76,8 @@ rlimit-rttime = 4000000 ; default-sample-format = s16le ; default-sample-rate = 44100 ; alternate-sample-rate = 48000 +# Disable alternate-sample-rate by setting same as default +alternate-sample-rate = 44100 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right -- cgit v1.2.3-54-g00ecf From 996ec05b40f37c64a5f9d66f1fcfed065bc814ab Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 11:30:50 -0500 Subject: pulseaudio: Fix HFP with headset=auto For HFP to work as expected, use module-bluetooth-discover option headset=auto. Signed-off-by: Tom Hochstein --- recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa index 83a6ba8de..b6c646b96 100644 --- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa +++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa @@ -72,7 +72,7 @@ load-module module-bluetooth-policy .endif .ifexists module-bluetooth-discover.so -load-module module-bluetooth-discover +load-module module-bluetooth-discover headset=auto .endif ### Load several protocols -- cgit v1.2.3-54-g00ecf From 791b2cd871e670f2cd691aad21a1c9bcffc362d6 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Fri, 2 Sep 2022 15:52:55 -0500 Subject: pulseaudio: Fix gstreamer pause mutex issue Add a patch to fix a mutex issue when pausing a gstreamer stream. Signed-off-by: Tom Hochstein --- ...dio-mutex-issue-when-do-pause-in-gstreame.patch | 32 ++++++++++ ...e-the-control-for-speaker-headphone-widge.patch | 73 ++++++++++++++++++++++ ...e-the-control-for-speaker-headphone-widge.patch | 73 ---------------------- .../pulseaudio/pulseaudio_%.bbappend | 21 ++++--- 4 files changed, 118 insertions(+), 81 deletions(-) create mode 100644 recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch create mode 100644 recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch delete mode 100644 recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch new file mode 100644 index 000000000..12a04cb7b --- /dev/null +++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch @@ -0,0 +1,32 @@ +From c21e24f5c53e81fc715905c54a6c82b69e397e63 Mon Sep 17 00:00:00 2001 +From: "shengjiu.wang" +Date: Thu, 3 Apr 2014 14:22:02 +0800 +Subject: [PATCH] Fix pulseaudio mutex issue when do pause in gstreamer + +The error log is "Assertion 'pthread_mutex_unlock(&m->mutex) == 0' +failed at pulsecore/mutex-posix.c:106, function pa_mutex_unlock(). Aborting" + +This fix is a workaround base on the solution from this link " +https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/932096" + +Upstream status: Inappropriate [i.MX specific] +Signed-off-by: shengjiu.wang +--- + src/pulsecore/mutex-posix.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pulsecore/mutex-posix.c b/src/pulsecore/mutex-posix.c +index 36c2787..d592501 100644 +--- a/src/pulsecore/mutex-posix.c ++++ b/src/pulsecore/mutex-posix.c +@@ -30,6 +30,7 @@ + #include + + #include "mutex.h" ++#undef HAVE_PTHREAD_PRIO_INHERIT + + struct pa_mutex { + pthread_mutex_t mutex; +-- +1.7.9.5 + diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch new file mode 100644 index 000000000..57c28741a --- /dev/null +++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch @@ -0,0 +1,73 @@ +From 33022867d76c91fe4e60699c1b7ebbc8feb4ee93 Mon Sep 17 00:00:00 2001 +From: Shengjiu Wang +Date: Mon, 30 Mar 2015 10:26:14 +0800 +Subject: [PATCH] pulseaudio: remove the control for speaker/headphone widget + +In imx7d-sdb, there is no headphone jack, the jack detection is done +by the codec itself. When headphone plugin, pulseaudio can't detect +the headphone jack status, so it will set the heaphone volume to zero. +Here fix this issue by remove the control in configuration. + +Upstream-Status: Inappropriate [i.MX specific] + +Signed-off-by: Shengjiu Wang +--- + .../alsa/mixer/paths/analog-output-headphones.conf | 8 ++++---- + src/modules/alsa/mixer/paths/analog-output-speaker.conf | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf +index 88907f0..7598d2f 100644 +--- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf ++++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf +@@ -88,8 +88,8 @@ override-map.2 = all-left,all-right + + [Element Headphone] + required-any = any +-switch = mute +-volume = merge ++switch = on ++volume = ignore + override-map.1 = all + override-map.2 = all-left,all-right + +@@ -119,8 +119,8 @@ switch = mute + volume = zero + + [Element Speaker] +-switch = off +-volume = off ++switch = on ++volume = ignore + + [Element Desktop Speaker] + switch = off +diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf +index fcf2f5c..6f6f898 100644 +--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf ++++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf +@@ -91,8 +91,8 @@ volume = off + ; This profile path is intended to control the speaker, let's mute headphones + ; else there will be a spike when plugging in headphones + [Element Headphone] +-switch = off +-volume = off ++switch = on ++volume = ignore + + [Element Headphone,1] + switch = off +@@ -115,8 +115,8 @@ override-map.2 = all-left,all-right + + [Element Speaker] + required-any = any +-switch = mute +-volume = merge ++switch = on ++volume = ignore + override-map.1 = all + override-map.2 = all-left,all-right + +-- +2.20.1 + diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch deleted file mode 100644 index 57c28741a..000000000 --- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 33022867d76c91fe4e60699c1b7ebbc8feb4ee93 Mon Sep 17 00:00:00 2001 -From: Shengjiu Wang -Date: Mon, 30 Mar 2015 10:26:14 +0800 -Subject: [PATCH] pulseaudio: remove the control for speaker/headphone widget - -In imx7d-sdb, there is no headphone jack, the jack detection is done -by the codec itself. When headphone plugin, pulseaudio can't detect -the headphone jack status, so it will set the heaphone volume to zero. -Here fix this issue by remove the control in configuration. - -Upstream-Status: Inappropriate [i.MX specific] - -Signed-off-by: Shengjiu Wang ---- - .../alsa/mixer/paths/analog-output-headphones.conf | 8 ++++---- - src/modules/alsa/mixer/paths/analog-output-speaker.conf | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/modules/alsa/mixer/paths/analog-output-headphones.conf b/src/modules/alsa/mixer/paths/analog-output-headphones.conf -index 88907f0..7598d2f 100644 ---- a/src/modules/alsa/mixer/paths/analog-output-headphones.conf -+++ b/src/modules/alsa/mixer/paths/analog-output-headphones.conf -@@ -88,8 +88,8 @@ override-map.2 = all-left,all-right - - [Element Headphone] - required-any = any --switch = mute --volume = merge -+switch = on -+volume = ignore - override-map.1 = all - override-map.2 = all-left,all-right - -@@ -119,8 +119,8 @@ switch = mute - volume = zero - - [Element Speaker] --switch = off --volume = off -+switch = on -+volume = ignore - - [Element Desktop Speaker] - switch = off -diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf -index fcf2f5c..6f6f898 100644 ---- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf -+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf -@@ -91,8 +91,8 @@ volume = off - ; This profile path is intended to control the speaker, let's mute headphones - ; else there will be a spike when plugging in headphones - [Element Headphone] --switch = off --volume = off -+switch = on -+volume = ignore - - [Element Headphone,1] - switch = off -@@ -115,8 +115,8 @@ override-map.2 = all-left,all-right - - [Element Speaker] - required-any = any --switch = mute --volume = merge -+switch = on -+volume = ignore - override-map.1 = all - override-map.2 = all-left,all-right - --- -2.20.1 - diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend index c7a4292e3..69a9ec6bc 100644 --- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend +++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -1,13 +1,18 @@ - -CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no" - FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx-nxp-bsp:" -SRC_URI:append:mx6-nxp-bsp = " file://daemon.conf file://default.pa" -SRC_URI:append:mx7-nxp-bsp = " file://daemon.conf file://default.pa \ - file://pulseaudio-remove-the-control-for-speaker-headphone-widge.patch \ -" -SRC_URI:append:mx8-nxp-bsp = " file://daemon.conf file://default.pa" +SRC_URI += "${SRC_URI_IMX}" +SRC_URI_IMX = "" +SRC_URI_IMX:mx6-nxp-bsp = " \ + file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \ + file://daemon.conf \ + file://default.pa" +SRC_URI_IMX:mx7-nxp-bsp = " \ + ${SRC_URI_IMX:mx6-nxp-bsp} \ + file://0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch" +SRC_URI_IMX:mx8-nxp-bsp = " \ + ${SRC_URI_IMX:mx6-nxp-bsp}" + +CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no" do_install:append() { if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then -- cgit v1.2.3-54-g00ecf