gstreamer1.0-plugins-bad: upgrade 1.24.12 -> 1.26.0

- enable analytics since gstreamer1.0-python depend on it now
- explicitly diable options that new added in meson_options.txt
  - lcevcdecoder
  - lcevcencoder
  - tensordecoders
  - nvcomp
  - nvdswrapper
  - svtjpegxs
  - webview2
  - aja
  - cuda-nvmm
  - d3d12
- add backport patch to fix undefined reference to `__atomic_fetch_add_8' issue
  This patch is part of upstream commit
  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8637/commits?commit_id=f2b5c0b6020b50f5173e449b45a6f
7a7be31c48f

(From OE-Core rev: 527f58c8d0aa0c1b516ae47feffa406e32dbd81f)

Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
leimaohui
2025-04-02 18:33:47 +08:00
committed by Richard Purdie
parent ef5b504d98
commit 5b2c3874f2
3 changed files with 65 additions and 12 deletions

View File

@@ -0,0 +1,41 @@
From f8c802aa778804f02b30a191cd3bcce285023076 Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@fujitsu.com>
Date: Wed, 2 Apr 2025 09:47:41 +0000
Subject: [PATCH] backport libatomic issue patch
Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8637/commits?commit_id=f2b5c0b6020b50f5173e449b45a6f7a7be31c48f]
Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
---
gst-libs/gst/cuda/meson.build | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/gst-libs/gst/cuda/meson.build b/gst-libs/gst/cuda/meson.build
index 3a25244..50ae027 100644
--- a/gst-libs/gst/cuda/meson.build
+++ b/gst-libs/gst/cuda/meson.build
@@ -48,15 +48,12 @@ if host_system not in ['windows', 'linux']
subdir_done()
endif
-# Linux ARM would need -latomic for std::atomic<int64_t>
-if host_system == 'linux' and host_machine.cpu_family() in ['aarch64', 'arm']
- libatomic_dep = cxx.find_library('atomic', required: get_option('cuda-nvmm'))
- if not libatomic_dep.found()
- subdir_done()
- endif
-
- gstcuda_platform_dep += [libatomic_dep]
-endif
+# Check for libatomic for use of C11 atomics: some architectures need
+# to link explicitly to this library.
+# TODO: Once meson 1.7 is in use, this can be updated to
+# dependency('atomic')
+atomic_dep = cxx.find_library('atomic', required: false)
+gstcuda_platform_dep += [atomic_dep]
cuda_win32_headers = [
'initguid.h',
--
2.43.0

View File

@@ -1,4 +1,4 @@
From bd389203124592cfd91fb020ea05a5e4ad1c1394 Mon Sep 17 00:00:00 2001
From 11a08e3f3135b649b68714c77670c37559f3a33c 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] opencv: resolve missing opencv data dir in yocto build
@@ -17,16 +17,16 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
1 file changed, 3 insertions(+)
diff --git a/gst-libs/gst/opencv/meson.build b/gst-libs/gst/opencv/meson.build
index 1d337f1..f47939a 100644
index 64e913e..42a0958 100644
--- a/gst-libs/gst/opencv/meson.build
+++ b/gst-libs/gst/opencv/meson.build
@@ -52,6 +52,9 @@ if opencv_found
# /usr/include/opencv4/opencv2/flann/logger.h:83:36: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
gstopencv_cargs += cxx.get_supported_arguments(['-Wno-missing-include-dirs', '-Wno-format-nonliteral'])
@@ -61,6 +61,9 @@ gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
# /usr/include/opencv4/opencv2/flann/logger.h:83:36: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
gstopencv_cargs += cxx.get_supported_arguments(['-Wno-missing-include-dirs', '-Wno-format-nonliteral'])
+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
+ opencv_prefix = pkgconf_sysroot + 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', check: false)
# Check the data dir used by opencv for its xml data files
# Use prefix from pkg-config to be compatible with cross-compilation
fsmod = import('fs')

View File

@@ -9,8 +9,9 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
file://0002-avoid-including-sys-poll.h-directly.patch \
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
file://0001-backport-libatomic-issue-patch.patch \
"
SRC_URI[sha256sum] = "3d386af3d1dbd1a06c74a6251250c269b481e703f0e3255ba89ef6c1e063afea"
SRC_URI[sha256sum] = "f8287a84c5f66368a5a50da5f969994a02c47f20220ffe1ca3154193e65af216"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
@@ -28,10 +29,11 @@ PACKAGECONFIG ??= " \
${@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 \
sndfile ttml uvch264 webp analytics \
${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
"
PACKAGECONFIG[analytics] = "-Danalyticsoverlay=enabled,-Danalyticsoverlay=disabled,"
PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
PACKAGECONFIG[avtp] = "-Davtp=enabled,-Davtp=disabled,libavtp"
@@ -152,6 +154,16 @@ EXTRA_OEMESON += " \
-Dwinscreencap=disabled \
-Dwpe=disabled \
-Dzxing=disabled \
-Dlcevcdecoder=disabled \
-Dlcevcencoder=disabled \
-Dtensordecoders=disabled \
-Dnvcomp=disabled \
-Dnvdswrapper=disabled \
-Dsvtjpegxs=disabled \
-Dwebview2=disabled \
-Daja=disabled \
-Dcuda-nvmm=disabled \
-Dd3d12=disabled \
"
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"