diff options
Diffstat (limited to 'recipes-multimedia/gstreamer')
29 files changed, 396 insertions, 611 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch deleted file mode 100644 index 1d99ad12..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 54bba228ea52d01fd84941d97be23c03f9862b64 Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani <dv@pseudoterminal.org> -Date: Sat, 6 Apr 2013 01:22:22 +0200 -Subject: [PATCH] Disable yasm for libav when --disable-yasm - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Shane Wang <shane.wang@intel.com> -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> ---- - configure.ac | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 22ede88..ef3c050 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -305,6 +305,12 @@ else - emblibav_configure_args="$emblibav_configure_args --enable-gpl" - fi - -+ AC_ARG_ENABLE(yasm, -+ [AC_HELP_STRING([--disable-yasm], [disable use of yasm assembler])]) -+ if test "x$enable_yasm" = "xno"; then -+ emblibav_configure_args="$emblibav_configure_args --disable-yasm" -+ fi -+ - # if we are cross-compiling, tell libav so - case $host in - *android*) --- -1.8.2 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch deleted file mode 100644 index b80d0739..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch +++ /dev/null @@ -1,35 +0,0 @@ -From aac5902d3c9cb35c771e760d0e487622aa2e116a Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Thu, 20 Apr 2017 10:38:18 -0700 -Subject: [PATCH] configure: check for armv7ve variant - -OE passes -mcpu and -march via cmdline and if -package tries to detect one of it own then it -should be compatible otherwise, newer gcc7+ will -error out - -Check for relevant preprocessor macro to determine -armv7ve architecture - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - gst-libs/ext/libav/configure | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure -index 4a5e477..727818e 100755 ---- a/gst-libs/ext/libav/configure -+++ b/gst-libs/ext/libav/configure -@@ -4295,6 +4295,7 @@ elif enabled arm; then - elif check_arm_arch 6Z; then echo armv6z - elif check_arm_arch 6ZK; then echo armv6zk - elif check_arm_arch 6T2; then echo armv6t2 -+ elif check_arm_arch EXT_IDIV; then echo armv7ve - elif check_arm_arch 7; then echo armv7 - elif check_arm_arch 7A 7_A; then echo armv7-a - elif check_arm_arch 7S; then echo armv7-a --- -2.12.2 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch deleted file mode 100644 index 120c0798..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-fix-host-contamination.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c1700f867f876ee33c130a8e28b688e2b1d89663 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 11 Apr 2018 17:14:55 +0800 -Subject: [PATCH] Prevent host contamination - -Remove reference to host $(libdir) from .la files. - -Upstream-Status: Inappropriate [cross-compile specific] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - gst-libs/ext/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am -index 6cdc048..a19d255 100644 ---- a/gst-libs/ext/Makefile.am -+++ b/gst-libs/ext/Makefile.am -@@ -49,7 +49,7 @@ echo " GEN $1.la" && \ - echo "library_names=''" && \ - echo "old_library='$1.a'" && \ - echo "inherited_linker_flags=''" && \ -- echo "dependency_libs=' -L$(libdir) $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \ -+ echo "dependency_libs=' -L $(if $2,$(foreach dep,$2,$(abs_builddir)/$(dep).la)) $(call find_library_la,$3 $(LIBM),$(LDFLAGS)) '" && \ - echo "weak_library_names=''" && \ - echo "current=" && \ - echo "age=" && \ -@@ -58,7 +58,7 @@ echo " GEN $1.la" && \ - echo "shouldnotlink=no" && \ - echo "dlopen=''" && \ - echo "dlpreopen=''" && \ -- echo "libdir='$(libdir)'") > $1.la -+ echo "libdir=''") > $1.la - endef - - libavutil.la: diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch deleted file mode 100644 index 7a0b4488..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch +++ /dev/null @@ -1,32 +0,0 @@ -It will add -mips64r6 and -mips64r2 to cmdline which will -cause conflicts - -in OE we user mips32r2 and mips64r2 for mips arch versions -so there is no benefit of detecting it automatically by -poking at tools especially in cross env - -Fixes errors like - -linking -mnan=2008 module with previous -mnan=legacy modules -failed to merge target specific data of file - --Khem -Upstream-Status: Inappropriate [OE-Specific] - -Index: gst-libav-1.10.1/gst-libs/ext/libav/configure -=================================================================== ---- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure -+++ gst-libav-1.10.1/gst-libs/ext/libav/configure -@@ -5269,12 +5269,9 @@ elif enabled mips; then - - # Enable minimum ISA based on selected options - if enabled mips64; then -- enabled mips64r6 && check_inline_asm_flags mips64r6 '"dlsa $0, $0, $0, 1"' '-mips64r6' - enabled mips64r2 && check_inline_asm_flags mips64r2 '"dext $0, $0, 0, 1"' '-mips64r2' - disabled mips64r6 && disabled mips64r2 && check_inline_asm_flags mips64r1 '"daddi $0, $0, 0"' '-mips64' - else -- enabled mips32r6 && check_inline_asm_flags mips32r6 '"aui $0, $0, 0"' '-mips32r6' -- enabled mips32r5 && check_inline_asm_flags mips32r5 '"eretnc"' '-mips32r5' - enabled mips32r2 && check_inline_asm_flags mips32r2 '"ext $0, $0, 0, 1"' '-mips32r2' - disabled mips32r6 && disabled mips32r5 && disabled mips32r2 && check_inline_asm_flags mips32r1 '"addi $0, $0, 0"' '-mips32' - fi diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch deleted file mode 100644 index 36abf860..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch +++ /dev/null @@ -1,26 +0,0 @@ -Description: Workaround to build libav for i586 with gcc 4.9.2 by avoiding memset -Author: Bernhard Übelacker <bernhardu@vr-web.de> - ---- -Bug-Debian: https://bugs.debian.org/783082 -Last-Update: 2015-04-28 - -Upstream-Status: Backport [debian] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> - ---- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c -+++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c -@@ -2020,7 +2020,11 @@ decode_intra_mb: - // In deblocking, the quantizer is 0 - h->cur_pic.qscale_table[mb_xy] = 0; - // All coeffs are present -- memset(h->non_zero_count[mb_xy], 16, 48); -+ /*memset(h->non_zero_count[mb_xy], 16, 48);*/ -+ /* avoiding this memset because it leads at least with gcc4.9.2 to error: 'asm' operand has impossible constraints */ -+ for (size_t i = 0; i < 48; i++) { -+ ( (unsigned char*)(h->non_zero_count[mb_xy]) ) [i] = 16; -+ } - h->cur_pic.mb_type[mb_xy] = mb_type; - sl->last_qscale_diff = 0; - return 0; diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb index 1a076c2e..62005cc8 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb @@ -6,13 +6,13 @@ SECTION = "multimedia" # ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency LICENSE_FLAGS = "commercial" -LICENSE = "LGPLv2+" +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] = "42f93f5ce9a3fc22051e5f783a4574b56ebf213f331f75dcbc3552459bd3a06a" +SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548" S = "${WORKDIR}/gst-libav-${PV}" @@ -22,3 +22,5 @@ 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/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch deleted file mode 100644 index 5e6a1c05..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 9e092d8976db034a2d6848d738c4f73cc001fd09 Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> -Date: Sun, 26 Jan 2020 10:45:28 +0000 -Subject: [PATCH] ext/wayland: fix meson build in nxp fork - -- Add Wayland protocols, which are not enabled in upstream -- Add missing compilation unit, which in NXP-specific - -Upstream-Status: Pending - -Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> - ---- - ext/wayland/meson.build | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -diff --git a/ext/wayland/meson.build b/ext/wayland/meson.build -index 3c377eefb..98a7cb76f 100644 ---- a/ext/wayland/meson.build -+++ b/ext/wayland/meson.build -@@ -10,6 +10,11 @@ wl_sources = [ - - libdrm_dep = dependency('libdrm', version: '>= 2.4.55', required:get_option('wayland')) - -+imx_wl_sources = [ -+ 'wlutils.c', -+] -+wl_sources += imx_wl_sources -+ - if use_wayland - protocols_datadir = wl_protocol_dep.get_pkgconfig_variable('pkgdatadir') - -@@ -21,6 +26,25 @@ if use_wayland - 'fullscreen-shell-unstable-v1-protocol.c', 'fullscreen-shell-unstable-v1-client-protocol.h'], - ['/stable/xdg-shell/xdg-shell.xml', 'xdg-shell-protocol.c', 'xdg-shell-client-protocol.h'], - ] -+ -+ imx_protocol_defs = [ -+ [ -+ '/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml', -+ 'alpha-compositing-unstable-v1-protocol.c', -+ 'alpha-compositing-unstable-v1-client-protocol.h' -+ ], -+ ['/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml', -+ 'hdr10-metadata-unstable-v1-protocol.c', -+ 'hdr10-metadata-unstable-v1-client-protocol.h' -+ ], -+ [ -+ '/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml', -+ 'linux-explicit-synchronization-unstable-v1-protocol.c', -+ 'linux-explicit-synchronization-unstable-v1-client-protocol.h' -+ ], -+ ] -+ protocol_defs += imx_protocol_defs -+ - protocols_files = [] - - foreach protodef: protocol_defs diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch index 7758300e..13a673cd 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch @@ -1,18 +1,17 @@ -From e7914eb0baa3530a5075c0d3db7936ccddd8e3fe Mon Sep 17 00:00:00 2001 +From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 26 Jan 2016 15:16:01 -0800 -Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os +Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os Upstream-Status: Pending Signed-off-by: Andre McCurdy <armccurdy@gmail.com> - --- gst-libs/gst/codecparsers/gstvc1parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c -index ac579712d..1686f6081 100644 +index 2c60ced..e8226d8 100644 --- a/gst-libs/gst/codecparsers/gstvc1parser.c +++ b/gst-libs/gst/codecparsers/gstvc1parser.c @@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, @@ -24,3 +23,6 @@ index ac579712d..1686f6081 100644 guint8 structA[8] = { 0, }; guint8 structB[12] = { 0, }; GstBitReader br; +-- +2.28.0 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 4f9041dc..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 69cff1595f9e0014c582c6f540d69d86d5e824ff Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Fri, 18 Oct 2019 00:39:12 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> - ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 2b492faea..bea89b23d 100644 ---- a/meson.build -+++ b/meson.build -@@ -405,7 +405,7 @@ python3 = import('python').find_installation() - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ - 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch deleted file mode 100644 index 525f4a45..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-allow-compilation-against-4.4.x.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a4df38174d33dc1e620ea535e16cac406ff59da2 Mon Sep 17 00:00:00 2001 -From: Nicola Murino <nicola.murino@gmail.com> -Date: Fri, 31 Jul 2020 23:38:56 +0200 -Subject: [PATCH] opencv: allow compilation against 4.4.x - -Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1482> - -Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/8544f3928ea46d2da3f27dc65576e8baf42a46d] -Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> - ---- - ext/opencv/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build -index a26403482..b3270e540 100644 ---- a/ext/opencv/meson.build -+++ b/ext/opencv/meson.build -@@ -65,7 +65,7 @@ if opencv_found - endif - endforeach - else -- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false) -+ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.5.0'], required : false) - opencv_found = opencv_dep.found() - if opencv_found - foreach h : libopencv4_headers diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch deleted file mode 100644 index 5b8e0159..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 54c700f9721ef218188803b48acae46e885626ee Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com> -Date: Sat, 9 May 2020 19:59:46 +0200 -Subject: [PATCH] vulkan: Drop use of VK_RESULT_BEGIN_RANGE - -This was removed in Vulkan 1.2.140. - -> Shortly after 2020-04-24, we will be removing the automatically -> generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE` -> tokens from the Vulkan headers. These tokens are currently defined for -> some enumerated types, but are explicitly not part of the Vulkan API. -> They existed only to support some Vulkan implementation internals, -> which no longer require them. We will be accepting comments on this -> topic in [#1230], but we strongly suggest any external projects using -> these tokens immediately migrate away from them. - -[#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230 - -Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1603> - -Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/17850d7e87af93c6bd181d7c25903478c2254fa6] -Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> ---- - ext/vulkan/vkerror.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/ext/vulkan/vkerror.c b/ext/vulkan/vkerror.c -index 3fec27e4d..c91589d9b 100644 ---- a/ext/vulkan/vkerror.c -+++ b/ext/vulkan/vkerror.c -@@ -27,7 +27,7 @@ - #include "vkerror.h" - - /* *INDENT-OFF* */ --static const struct -+static const struct - { - VkResult result; - const char *str; -@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result) - - if (result >= 0) - return NULL; -- if (result < VK_RESULT_BEGIN_RANGE) -- return "Unknown Error"; - - for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) { - if (result == vk_result_string_map[i].result) --- -2.17.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch index da2dd8bf..ead6897f 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch @@ -1,20 +1,19 @@ -From 05f9a7a9025cb1c6a5592ba998ab95d565f9c76f Mon Sep 17 00:00:00 2001 +From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Wed, 3 Feb 2016 18:05:41 -0800 -Subject: [PATCH] avoid including <sys/poll.h> directly +Subject: [PATCH 2/4] avoid including <sys/poll.h> directly musl libc generates warnings if <sys/poll.h> is included directly. Upstream-Status: Pending Signed-off-by: Andre McCurdy <armccurdy@gmail.com> - --- 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 bd07369c3..ebfbe4947 100644 +index ca6b92a..b2772db 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c @@ -97,7 +97,7 @@ @@ -26,3 +25,6 @@ index bd07369c3..ebfbe4947 100644 #include <fcntl.h> #include <errno.h> #include <stdio.h> +-- +2.28.0 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch index c25a11e9..88fbc40d 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch @@ -1,7 +1,7 @@ -From f9a8b71897af39640894915a5f202d0027124f57 Mon Sep 17 00:00:00 2001 +From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 9 Feb 2016 14:00:00 -0800 -Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc +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 @@ -17,7 +17,6 @@ without an explicit cast to a pointer type. Upstream-Status: Pending Signed-off-by: Andre McCurdy <armccurdy@gmail.com> - --- sys/decklink/gstdecklink.cpp | 10 +++++----- sys/decklink/gstdecklinkaudiosrc.cpp | 2 +- @@ -25,19 +24,19 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp -index 464b0de9d..9fb7246d3 100644 +index 4dac7e1..43762ce 100644 --- a/sys/decklink/gstdecklink.cpp +++ b/sys/decklink/gstdecklink.cpp -@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, +@@ -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); - if (input && mode->interlaced) { - if (mode->tff) -@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, + 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, @@ -59,7 +58,7 @@ index 464b0de9d..9fb7246d3 100644 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 2fef934c8..c47229abf 100644 +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) @@ -72,10 +71,10 @@ index 2fef934c8..c47229abf 100644 switch (vconn) { diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp -index 7aea3f7a2..4864508bb 100644 +index e3a6775..f1a5aae 100644 --- a/sys/decklink/gstdecklinkvideosink.cpp +++ b/sys/decklink/gstdecklinkvideosink.cpp -@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, +@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, gpointer user_data) { gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, @@ -84,3 +83,6 @@ index 7aea3f7a2..4864508bb 100644 return TRUE; } +-- +2.28.0 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/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 dc3a8c69..b8167090 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/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,23 +1,22 @@ -From 387886b05f4ae0de9b7faf1f9ca66040d38d19ee Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> -Date: Sun, 26 Jan 2020 19:55:06 +0000 -Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build +From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001 +From: Andrey Zhizhikin <andrey.z@gmail.com> +Date: Mon, 27 Jan 2020 10:22:35 +0000 +Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build When Yocto build is performed, opencv searches for data dir using simple -test command, and this fails because pkg-config provides an absolute +'test' command, this fails because pkg-config provides an absolute path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR in order for the 'test' utility to pick up the absolute path. Upstream-Status: Inappropriate [OE-specific] -Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com> - +Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> --- ext/opencv/meson.build | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build -index f38b55dfe..a26403482 100644 +index 0b0b3fc..0ed3344 100644 --- a/ext/opencv/meson.build +++ b/ext/opencv/meson.build @@ -78,20 +78,21 @@ else @@ -45,3 +44,6 @@ index f38b55dfe..a26403482 100644 if r.returncode() == 0 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' else +-- +2.28.0 + 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 new file mode 100644 index 00000000..cb3bb7d3 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch @@ -0,0 +1,31 @@ +From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +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 <naveen.kumar.saini@intel.com> +--- + 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.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb index aec2bb01..44b95451 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb @@ -1,46 +1,45 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc +# 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. -DEPENDS:append:imxgpu2d = " virtual/libg2d" -DEPENDS:append:mx8 = " libdrm" +########### OE-core copy ################## +# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 -PACKAGECONFIG:append:mx8 = " kms tinycompress" - -DEFAULT_PREFERENCE = "-1" - -PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" -PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}" +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc -GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https;branch=master" -SRCBRANCH = "MM_04.06.01_2105_L5.10.y" +DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " +HOMEPAGE = "https://gstreamer.freedesktop.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues" -SRC_URI = " \ - ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ -" -SRCREV = "227af57d23cb6b3564fc94446ab2c9fe8c8cff22" +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}/git" +S = "${WORKDIR}/gst-plugins-bad-${PV}" -LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ - file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " +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_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" -PACKAGECONFIG_GL:imxpxp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}" - PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'directfb', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ - ${PACKAGECONFIG_GL} \ - bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \ - ttml uvch264 webp \ + ${@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" @@ -53,16 +52,20 @@ 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-crypto=nettle,-Dhls=disabled,nettle" +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[gles2] = ",,virtual/libgles2" 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" @@ -78,43 +81,41 @@ PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdr 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,usrsctp" +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[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress" 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" +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" - -# these plugins currently have no corresponding library in OE-core or meta-openembedded: -# aom androidmedia applemedia bs2b chromaprint d3dvideosink -# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc -# mplex musepack nvdec nvenc ofa openexr openni2 opensles -# soundtouch spandsp srt teletext vdpau wasapi wildmidi winks -# winscreencap wpe x265 +PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Ddecklink=enabled \ -Ddvb=enabled \ -Dfbdev=enabled \ -Dipcpipeline=enabled \ - -Dnetsim=enabled \ -Dshm=enabled \ - -Daom=disabled \ + -Dtranscode=enabled \ -Dandroidmedia=disabled \ -Dapplemedia=disabled \ + -Davtp=disabled \ -Dbs2b=disabled \ -Dchromaprint=disabled \ -Dd3dvideosink=disabled \ + -Dd3d11=disabled \ -Ddirectsound=disabled \ -Ddts=disabled \ -Dfdkaac=disabled \ @@ -125,27 +126,28 @@ EXTRA_OEMESON += " \ -Dkate=disabled \ -Dladspa=disabled \ -Dlv2=disabled \ + -Dmagicleap=disabled \ + -Dmediafoundation=disabled \ + -Dmicrodns=disabled \ -Dmpeg2enc=disabled \ -Dmplex=disabled \ - -Dmsdk=disabled \ -Dmusepack=disabled \ + -Dnvcodec=disabled \ -Dofa=disabled \ -Dopenexr=disabled \ - -Dopenmpt=disabled \ -Dopenni2=disabled \ -Dopensles=disabled \ -Dsoundtouch=disabled \ -Dspandsp=disabled \ - -Dsrt=disabled \ + -Dsvthevcenc=disabled \ -Dteletext=disabled \ -Dwasapi=disabled \ + -Dwasapi2=disabled \ -Dwildmidi=disabled \ -Dwinks=disabled \ -Dwinscreencap=disabled \ -Dwpe=disabled \ - -Dx265=disabled \ - -Dzbar=disabled \ - ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \ + -Dzxing=disabled \ " export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" @@ -157,7 +159,43 @@ 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" -# include fragment shaders -FILES:${PN}-opengl += "/usr/share/*.fs" -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" +########### 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-base/0004-glimagesink-Downrank-to-marginal.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch deleted file mode 100644 index 94a61465..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch +++ /dev/null @@ -1,30 +0,0 @@ -From b975be9c4630536ec1315773be29900371d21930 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 24 Sep 2015 19:47:32 +0300 -Subject: [PATCH] glimagesink: Downrank to marginal - -On desktop, where there is good OpenGL, xvimagesink will come up first, -on other platforms, OpenGL can't be trusted because it's either software (like -in a VM) or broken (like on embedded)., so let ximagesink come above. - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=751684] - -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - ext/gl/gstopengl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c -index 302e8452c..463be9cd8 100644 ---- a/ext/gl/gstopengl.c -+++ b/ext/gl/gstopengl.c -@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) - #endif - - if (!gst_element_register (plugin, "glimagesink", -- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) { -+ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) { - return FALSE; - } - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch deleted file mode 100644 index 0fa3dd30..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 1718197bf6ebf3d8784a55126609aa8770fff682 Mon Sep 17 00:00:00 2001 -From: Xavier Claessens <xavier.claessens@collabora.com> -Date: Mon, 26 Apr 2021 14:25:03 -0400 -Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1 - -"implicit_include_directories: false" now also means that current build -directory is not added to include paths by default any more. We have to -add it manually because we have some custom_target() that generate -headers in current build directory. - -See https://github.com/mesonbuild/meson/issues/8700. - -Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1125> -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - gst-libs/gst/gl/meson.build | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build -index ae19d7aca..3ad7ddcf6 100644 ---- a/gst-libs/gst/gl/meson.build -+++ b/gst-libs/gst/gl/meson.build -@@ -1023,11 +1023,20 @@ if build_gstgl - command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@']) - gen_sources = [gl_enumtypes_h] - -+ common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'] -+ -+ # We have custom_target() that generate headers in the current build dir, -+ # but with implicit_include_directories: false, meson >= 0.58.0 won't include -+ # it by default. We cannot use include_directories('.') here because it would -+ # also include current source dir which is what we want to avoid because -+ # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h. -+ common_args += '-I@0@'.format(meson.current_build_dir()) -+ - gstgl = library('gstgl-' + api_version, - gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h, -- c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'], -- cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'], -- objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'], -+ c_args : common_args, -+ cpp_args : common_args, -+ objc_args : common_args + gl_objc_args, - include_directories : [configinc, libsinc, gl_includes], - version : libversion, - soversion : soversion, diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend deleted file mode 100644 index 1c62f31d..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -PACKAGECONFIG_GL:imxgpu2d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)}" -PACKAGECONFIG_GL:imxgpu3d = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" - -# For mainline BSP we need to enable 'gbm' Window system -PACKAGECONFIG_GL:use-mainline-bsp = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl gbm', '', d)}" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb index 5dd672bf..03bfa129 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb @@ -1,28 +1,32 @@ +# 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 = "GPLv2+ & LGPLv2+" +LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" -GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https;branch=master" -SRCBRANCH = "MM_04.06.01_2105_L5.10.y" -SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ +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 \ " -SRCREV = "69554a26c932481acb7c5691038c367eca60e5bc" +SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323" -S = "${WORKDIR}/git" +S = "${WORKDIR}/gst-plugins-base-${PV}" DEPENDS += "iso-codes util-linux zlib" -DEPENDS:append:imxgpu2d = " virtual/libg2d" -inherit gobject-introspection use-imx-headers - -DEFAULT_PREFERENCE = "-1" +inherit gobject-introspection PACKAGES_DYNAMIC =+ "^libgst.*" @@ -40,7 +44,6 @@ PACKAGECONFIG ??= " \ OPENGL_APIS = 'opengl gles2' OPENGL_PLATFORMS = 'egl' -OPENGL_WINSYS = 'x11 wayland gbm viv-fb' X11DEPENDS = "virtual/libx11 libsm libxrender libxv" X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled" @@ -80,7 +83,6 @@ EXTRA_OEMESON += " \ ${@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)} \ - -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ " FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h" @@ -99,4 +101,44 @@ def get_opengl_cmdline_list(switch_name, options, d): CVE_PRODUCT += "gst-plugins-base" -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" +########### 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-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch new file mode 100644 index 00000000..788d7520 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch @@ -0,0 +1,56 @@ +From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Tue, 31 Mar 2020 21:23:28 -0700 +Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h + +gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to +prefer qt headers definitions for GLsync + +This helps in fixing build errors like below + +/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: error: conflicting declaration 'typedef struct __GLsync* GLsync' + 24 | typedef struct __GLsync *GLsync; + | ^~~~~~ +In file included from /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84, + from ../gst-plugins-good-1.16.2/ext/qt/gstqsgtexture.cc:30: +/mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: note: previous declaration as 'typedef void* GLsync +' + 40 | typedef gpointer GLsync; + | ^~~~~~ + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ext/qt/gstqsgtexture.cc | 2 +- + ext/qt/qtwindow.cc | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc +index a05d26e..4cc9fc6 100644 +--- a/ext/qt/gstqsgtexture.cc ++++ b/ext/qt/gstqsgtexture.cc +@@ -27,7 +27,7 @@ + + #include <gst/video/video.h> + #include <gst/gl/gl.h> +-#include <gst/gl/gstglfuncs.h> ++#include <ext/qt/gstqtgl.h> + #include "gstqsgtexture.h" + + #define GST_CAT_DEFAULT gst_qsg_texture_debug +diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc +index 9360c33..0dfd3f1 100644 +--- a/ext/qt/qtwindow.cc ++++ b/ext/qt/qtwindow.cc +@@ -25,7 +25,7 @@ + #include <stdio.h> + + #include <gst/video/video.h> +-#include <gst/gl/gstglfuncs.h> ++#include <ext/qt/gstqtgl.h> + #include "qtwindow.h" + #include "gstqsgtexture.h" + #include "gstqtglutility.h" +-- +2.28.0 + diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb index 050bc6ee..de61be01 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb @@ -1,18 +1,27 @@ +# 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 -GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https;branch=master" -SRCBRANCH = "MM_04.06.01_2105_L5.10.y" +DESCRIPTION = "'Good' GStreamer plugins" +HOMEPAGE = "https://gstreamer.freedesktop.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues" -SRC_URI = " \ - ${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} \ -" -SRCREV = "3160acd37304f67238b8ceae2a95ee4951f9c718" +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 \ + " -DEFAULT_PREFERENCE = "-1" +SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0" -S = "${WORKDIR}/git" +S = "${WORKDIR}/gst-plugins-good-${PV}" -LICENSE = "GPLv2+ & LGPLv2.1+" +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" @@ -23,6 +32,7 @@ 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 \ " @@ -30,6 +40,9 @@ 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" @@ -44,20 +57,18 @@ 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,libdrm" +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}" -# qt5 support is disabled, because it is not present in OE core, and requires more work than -# just adding a packageconfig (it requires access to moc, uic, rcc, and qmake paths). -# This is better done in a separate qt5 layer (which then should add a "qt5" packageconfig -# in a gstreamer1.0-plugins-good bbappend). - EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Daalib=disabled \ -Ddirectsound=disabled \ -Ddv=disabled \ @@ -66,7 +77,6 @@ EXTRA_OEMESON += " \ -Doss4=disabled \ -Dosxaudio=disabled \ -Dosxvideo=disabled \ - -Dqt5=disabled \ -Dshout2=disabled \ -Dtwolame=disabled \ -Dwaveform=disabled \ @@ -74,4 +84,28 @@ EXTRA_OEMESON += " \ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs" -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" +########### 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-imx_2.0.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb index 41de1369..fb18f1bb 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.0.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.1.0.bb @@ -1,6 +1,6 @@ # Copyright (C) 2018 O.S. Systems Software LTDA. DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms" -LICENSE = "LGPLv2+" +LICENSE = "LGPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605" SECTION = "multimedia" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer" @@ -15,7 +15,7 @@ RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparser PV .= "+git${SRCPV}" SRCBRANCH ?= "master" -SRCREV = "11e3a555a280f97d55d5243e8259a255b3ed14d0" +SRCREV = "b1e5cca1a6df9d2c0dc505ae222775798108d340" SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https" S = "${WORKDIR}/git" @@ -42,8 +42,8 @@ PACKAGECONFIG:append:imxpxp = " pxp" # The 2D blitter sinks require an MXC framebuffer, which # is not available anymore on the i.MX8 (since these SoCs # now use KMS instead of the old Linux framebuffer). -PACKAGECONFIG:append:mx6 = " imx2dvideosink v4l2" -PACKAGECONFIG:append:mx7 = " imx2dvideosink" +PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2" +PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink" PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}" PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled," @@ -59,4 +59,4 @@ require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc # the following line is required to produce one package for each plugin PACKAGES_DYNAMIC = "^${PN}-.*" -COMPATIBLE_MACHINE = "(mx6dl|mx6q|mx6sl|mx6sx|mx6ul|mx6ull|mx7d|mx8)" +COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb index 65ac1636..98e94786 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb @@ -7,13 +7,13 @@ 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 = "GPLv2+ & LGPLv2.1+ & LGPLv2+" +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] = "686644e45e08258ae240c4519376668ad8d34ea6d0f6ab556473c317bfb7e082" +SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9" S = "${WORKDIR}/gst-plugins-ugly-${PV}" @@ -41,3 +41,5 @@ EXTRA_OEMESON += " \ 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/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 6962a50d..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Fri, 18 Oct 2019 00:42:12 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index e1e3b1d..3f45f0e 100644 ---- a/meson.build -+++ b/meson.build -@@ -173,7 +173,7 @@ endif - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ - 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ --- -2.17.1 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb index 4ac30c28..d4c4e576 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.0.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb @@ -1,24 +1,23 @@ SUMMARY = "A library on top of GStreamer for building an RTSP server" HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/" SECTION = "multimedia" -LICENSE = "LGPLv2" +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 = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[md5sum] = "77fe28c702a83566811ab5c7bbe99ab2" -SRC_URI[sha256sum] = "2ad19311054cbf2df0d0622936bc703dedc06ced706df46a3d3a3ea5a4b7c70f" +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 \ " @@ -28,3 +27,7 @@ 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/0002-Remove-unused-valgrind-detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch index 96abef17..5805e8b6 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch +++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch @@ -1,7 +1,7 @@ -From 598d108e2c438d8f2ecd3bf948fa3ebbd3681490 Mon Sep 17 00:00:00 2001 +From d7f05d09c55d35bbe4e0f856759519ef183d9a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> Date: Fri, 14 Aug 2020 16:38:26 +0100 -Subject: [PATCH 2/3] Remove unused valgrind detection +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 @@ -12,6 +12,7 @@ Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/59 Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245] Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> + --- gst/gst_private.h | 2 -- gst/gstinfo.c | 39 --------------------------------------- @@ -32,12 +33,12 @@ index eefd044d9..8252ede51 100644 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 5d317877b..097f8b20d 100644 +index eea1a219d..d3035d6db 100644 --- a/gst/gstinfo.c +++ b/gst/gstinfo.c @@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT; - static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT; - static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON; + 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 @@ -82,7 +83,7 @@ index 5d317877b..097f8b20d 100644 env = g_getenv ("GST_DEBUG_OPTIONS"); if (env != NULL) { if (strstr (env, "full_tags") || strstr (env, "full-tags")) -@@ -2503,12 +2470,6 @@ gst_debug_construct_win_color (guint colorinfo) +@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo) return 0; } @@ -96,7 +97,7 @@ index 5d317877b..097f8b20d 100644 _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 ce1921aa4..7a84d0981 100644 +index 82a17282b..42ae61790 100644 --- a/meson.build +++ b/meson.build @@ -200,7 +200,6 @@ check_headers = [ @@ -107,6 +108,3 @@ index ce1921aa4..7a84d0981 100644 'sys/resource.h', 'sys/uio.h', ] --- -2.29.2 - diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb index c474f9b0..3aabcf2d 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb @@ -1,10 +1,17 @@ +# 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 = "LGPLv2+" +LICENSE = "LGPL-2.0-or-later" DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" @@ -13,12 +20,9 @@ inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection p LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" -S = "${WORKDIR}/git" +S = "${WORKDIR}/gstreamer-${PV}" -# Use i.MX fork of GST for customizations -GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https;branch=master" -SRCBRANCH = "MM_04.06.01_2105_L5.10.y" -SRC_URI = "${GST1.0_SRC};branch=${SRCBRANCH} \ +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 \ @@ -28,9 +32,7 @@ SRC_URI = "${GST1.0_SRC};branch=${SRCBRANCH} \ file://0006-tests-use-a-dictionaries-for-environment.patch \ file://0007-tests-install-the-environment-for-installed_tests.patch \ " -SRCREV = "2f20fd10eaf8629b3e8c134424c38412c4d3bd86" - -DEFAULT_PREFERENCE = "-1" +SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5" PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ check \ @@ -79,4 +81,21 @@ CVE_PRODUCT = "gstreamer" PTEST_BUILD_HOST_FILES = "" -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" +########### 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/imx-gst1.0-plugin_4.6.1.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb index 9d43a175..ab8117b3 100644 --- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.1.bb +++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb @@ -4,13 +4,15 @@ # Released under the MIT license (see COPYING.MIT for the terms) DESCRIPTION = "Gstreamer freescale plugins" -LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1" +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 = " imx-lib" -DEPENDS:append:mx7 = " imx-lib" -DEPENDS:append:imxvpu = " imx-vpuwrap libdrm" +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" @@ -20,24 +22,25 @@ 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.01_2105_L5.10.y" +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 = "057e6bfbc208ce31e8ed0af0264dd1e86de05808" +SRCREV = "f4b3105ab33e608c717855cdd1a520b60f377bf3" S = "${WORKDIR}/git" inherit meson pkgconfig use-imx-headers -PLATFORM:mx6 = "MX6" -PLATFORM:mx6sl = "MX6SL" -PLATFORM:mx6sx = "MX6SX" -PLATFORM:mx6ul = "MX6UL" -PLATFORM:mx6sll = "MX6SLL" -PLATFORM:mx7= "MX7D" -PLATFORM:mx7ulp= "MX7ULP" -PLATFORM:mx8 = "MX8" +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} \ @@ -49,12 +52,13 @@ PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN # 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" -# overlaysink rely on G2D, -# cannot be supported on i.MX6SLL & i.MX6UL & i.MX6ULL & i.MX7D PACKAGECONFIG ?= "" -PACKAGECONFIG:imxgpu2d = "overlaysink" - # FIXME: Add all features # feature from excluded mm packages @@ -64,7 +68,6 @@ PACKAGECONFIG[aacp] = ",,imx-aacpcodec,imx-aacpcodec" MSDEPENDS = "imx-msparser imx-mscodec" PACKAGECONFIG[wma10dec] = ",,${MSDEPENDS},${MSDEPENDS}" PACKAGECONFIG[wma8enc] = ",,${MSDEPENDS},${MSDEPENDS}" -PACKAGECONFIG[overlaysink] += ",,virtual/libg2d" FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}" @@ -78,4 +81,4 @@ 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 = "(mx6|mx7|mx8)" +COMPATIBLE_MACHINE = "(imx-nxp-bsp)" |