summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'meta-multimedia')
-rw-r--r--meta-multimedia/SECURITY.md20
-rwxr-xr-xmeta-multimedia/conf/include/non-repro-meta-multimedia.inc15
-rw-r--r--meta-multimedia/conf/layer.conf18
-rw-r--r--meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb1
-rw-r--r--meta-multimedia/recipes-connectivity/rygel/rygel_0.44.1.bb (renamed from meta-multimedia/recipes-connectivity/rygel/rygel_0.42.5.bb)18
-rw-r--r--meta-multimedia/recipes-devtools/python/python3-pillow-heif/0001-setup.py-support-cross-compiling.patch56
-rw-r--r--meta-multimedia/recipes-devtools/python/python3-pillow-heif_0.22.0.bb20
-rw-r--r--meta-multimedia/recipes-dvb/oscam/oscam_1.20.bb1
-rw-r--r--meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb1
-rw-r--r--meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb1
-rw-r--r--meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb (renamed from meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb)6
-rw-r--r--meta-multimedia/recipes-multimedia/bluealsa/bluealsa/0001-Use-basename-implementation-from-glib-2.0.patch88
-rw-r--r--meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb (renamed from meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb)38
-rw-r--r--meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.1.bb (renamed from meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.2.bb)8
-rw-r--r--meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/flite/flite/0001-Remove-defining-const-as-nothing.patch79
-rw-r--r--meta-multimedia/recipes-multimedia/flite/flite_2.2.bb4
-rw-r--r--meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.4.5.bb (renamed from meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb)6
-rw-r--r--meta-multimedia/recipes-multimedia/gerbera/gerbera_2.4.1.bb (renamed from meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb)3
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-Remove-redundant-rpaths.patch26
-rw-r--r--meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb12
-rw-r--r--meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/juce/projucer.inc1
-rw-r--r--meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-libcamera-Add-missing-stdint.h-include-to-dma_buf_al.patch38
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch128
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera_0.4.0.bb (renamed from meta-multimedia/recipes-multimedia/libcamera/libcamera_0.3.0.bb)13
-rw-r--r--meta-multimedia/recipes-multimedia/libde265/libde265_1.0.15.bb (renamed from meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb)12
-rw-r--r--meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/libheif/libheif_1.19.8.bb26
-rw-r--r--meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.10.bb (renamed from meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb)9
-rw-r--r--meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna.inc8
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Add-compatibility-with-FFMPEG-7.0.patch49
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch32
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch37
-rw-r--r--meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.3.bb (renamed from meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.0.bb)2
-rw-r--r--meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.22.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.20.bb)1
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpc_0.35.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/mpc_0.34.bb)1
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch26
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.3.bb (renamed from meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb)16
-rw-r--r--meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/openal/openal-soft_1.24.3.bb (renamed from meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb)5
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch32
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch103
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb55
-rw-r--r--meta-multimedia/recipes-multimedia/openh264/openh264_2.6.0.bb20
-rw-r--r--meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/opusfile/opusfile/CVE-2022-47021.patch44
-rw-r--r--meta-multimedia/recipes-multimedia/opusfile/opusfile_0.12.bb2
-rw-r--r--meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb66
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch53
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb5
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.5.bb (renamed from meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.7.bb)37
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch18
-rw-r--r--meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.6.bb (renamed from meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb)23
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch34
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch2
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch33
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-23159_CVE-2021-2317.patch32
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-33844.patch40
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-3643_CVE-2021-23210.patch30
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-40426.patch38
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31650.patch60
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31651.patch36
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox/CVE-2023-32627.patch30
-rw-r--r--meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb49
-rw-r--r--meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch69
-rw-r--r--meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch44
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch179
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch377
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb (renamed from meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb)7
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/CVE-2023-43361.patch38
-rw-r--r--meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb1
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-task_queue-fix-build-with-gcc-15.patch30
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb3
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch50
-rw-r--r--meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb21
-rw-r--r--meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.10.bb (renamed from meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.3.bb)3
-rw-r--r--meta-multimedia/recipes-multimedia/x265/x265/0001-json11.cpp-Include-cstdint.patch33
-rw-r--r--meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb29
-rw-r--r--meta-multimedia/recipes-multimedia/x265/x265_4.1.bb32
-rw-r--r--meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb1
-rw-r--r--meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb1
-rw-r--r--meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb2
-rw-r--r--meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb1
-rw-r--r--meta-multimedia/recipes-support/srt/srt_1.4.4.bb1
-rw-r--r--meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb4
117 files changed, 1209 insertions, 1527 deletions
diff --git a/meta-multimedia/SECURITY.md b/meta-multimedia/SECURITY.md
new file mode 100644
index 0000000000..1530103230
--- /dev/null
+++ b/meta-multimedia/SECURITY.md
@@ -0,0 +1,20 @@
1How to Report a Potential Vulnerability?
2========================================
3
4If you would like to report a public issue (for example, one with a released
5CVE number), please report it to the mailing list:
6
7 https://lists.openembedded.org/g/openembedded-devel
8
9If you are dealing with a not-yet released or urgent issue, please send a
10message to one of the maintainers listed in the README. Include as many
11details as possible:
12 - the layer or software module affected
13 - the recipe and its version
14 - any example code, if available
15
16Branches maintained with security fixes
17---------------------------------------
18
19See https://wiki.yoctoproject.org/wiki/Releases for the list of current
20releases. We only accept patches for the LTS releases and the master branch.
diff --git a/meta-multimedia/conf/include/non-repro-meta-multimedia.inc b/meta-multimedia/conf/include/non-repro-meta-multimedia.inc
deleted file mode 100755
index b02de42eb9..0000000000
--- a/meta-multimedia/conf/include/non-repro-meta-multimedia.inc
+++ /dev/null
@@ -1,15 +0,0 @@
1# List of known non-reproducible package of the meta-multimedia layer
2# Please keep this list sorted
3KNOWN_NON_REPRO_META_MULTIMEDIA = " \
4 crossguid \
5 libcamera \
6 libcamera-dbg \
7 libcamera-src \
8 libgssdp-1.6-src \
9 libgupnp-1.6-src \
10 libsquish-staticdev \
11 oscam \
12 oscam-dbg \
13 oscam-src \
14 rtmpdump-staticdev \
15"
diff --git a/meta-multimedia/conf/layer.conf b/meta-multimedia/conf/layer.conf
index 0442a57a96..a01984888d 100644
--- a/meta-multimedia/conf/layer.conf
+++ b/meta-multimedia/conf/layer.conf
@@ -31,4 +31,20 @@ LAYERVERSION_multimedia-layer = "1"
31 31
32LAYERDEPENDS_multimedia-layer = "core openembedded-layer meta-python" 32LAYERDEPENDS_multimedia-layer = "core openembedded-layer meta-python"
33 33
34LAYERSERIES_COMPAT_multimedia-layer = "styhead" 34LAYERSERIES_COMPAT_multimedia-layer = "walnascar whinlatter"
35
36# List of known non-reproducible package of the meta-multimedia layer
37# Please keep this list sorted
38OEQA_REPRODUCIBLE_EXCLUDED_PACKAGES += " \
39 crossguid \
40 libcamera \
41 libcamera-dbg \
42 libcamera-src \
43 libgssdp-1.6-src \
44 libgupnp-1.6-src \
45 libsquish-staticdev \
46 oscam \
47 oscam-dbg \
48 oscam-src \
49 rtmpdump-staticdev \
50"
diff --git a/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb b/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
index 5b15d18096..5a42fc760c 100644
--- a/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
+++ b/meta-multimedia/recipes-connectivity/libupnp/libupnp_1.14.18.bb
@@ -12,7 +12,6 @@ SRCREV = "c540ce2431bdeac73359029d4592b45790e1d154"
12SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \ 12SRC_URI = "git://github.com/pupnp/pupnp.git;protocol=https;branch=branch-1.14.x \
13 " 13 "
14 14
15S="${WORKDIR}/git"
16 15
17inherit autotools pkgconfig 16inherit autotools pkgconfig
18 17
diff --git a/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.5.bb b/meta-multimedia/recipes-connectivity/rygel/rygel_0.44.1.bb
index e79bd77a54..6423d51a31 100644
--- a/meta-multimedia/recipes-connectivity/rygel/rygel_0.42.5.bb
+++ b/meta-multimedia/recipes-connectivity/rygel/rygel_0.44.1.bb
@@ -20,7 +20,7 @@ inherit gnomebase features_check vala gobject-introspection gettext systemd
20# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured 20# gobject-introspection is mandatory for libmediaart-2.0 and cannot be configured
21REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11" 21REQUIRED_DISTRO_FEATURES = "gobject-introspection-data x11"
22 22
23SRC_URI[archive.sha256sum] = "1133602d2e6710aade6b22aa98d93384c8d56396f344763413e96e0110b7d89f" 23SRC_URI[archive.sha256sum] = "7b2c631b842408da27a54242f8082aba49bd1ca02041e79e1eefba0c7009a87b"
24 24
25GIR_MESON_ENABLE_FLAG = 'enabled' 25GIR_MESON_ENABLE_FLAG = 'enabled'
26GIR_MESON_DISABLE_FLAG = 'disabled' 26GIR_MESON_DISABLE_FLAG = 'disabled'
@@ -35,19 +35,17 @@ PACKAGECONFIG[mpris] = ""
35PACKAGECONFIG[ruih] = "" 35PACKAGECONFIG[ruih] = ""
36PACKAGECONFIG[media-export] = "" 36PACKAGECONFIG[media-export] = ""
37PACKAGECONFIG[gst-launch] = "" 37PACKAGECONFIG[gst-launch] = ""
38PACKAGECONFIG[lms] = ""
39PACKAGECONFIG[tracker3] = "" 38PACKAGECONFIG[tracker3] = ""
40PACKAGECONFIG[gtk+3] = ",-Dgtk=disabled,gtk+3" 39PACKAGECONFIG[gtk+3] = ",-Dgtk=disabled,gtk+3"
41 40
42RYGEL_PLUGINS = "" 41RYGEL_PLUGINS = ""
43RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}" 42RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'external', ',external', '', d)}"
44RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}" 43RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'mpris', ',mpris', '', d)}"
45RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}" 44RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'ruih', ',ruih', '', d)}"
46RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}" 45RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'gst-launch', ',gst-launch', '', d)}"
47RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'lms', ',lms', '', d)}" 46RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}"
48RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'media-export', ',media-export', '', d)}" 47RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}"
49RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'tracker3', ',tracker3', '', d)}" 48RYGEL_PLUGINS:append = "${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}"
50RYGEL_PLUGINS:append ="${@bb.utils.contains('PACKAGECONFIG', 'playbin', ',playbin', '', d)}"
51 49
52LIBV = "2.8" 50LIBV = "2.8"
53 51
diff --git a/meta-multimedia/recipes-devtools/python/python3-pillow-heif/0001-setup.py-support-cross-compiling.patch b/meta-multimedia/recipes-devtools/python/python3-pillow-heif/0001-setup.py-support-cross-compiling.patch
new file mode 100644
index 0000000000..66cf7a9244
--- /dev/null
+++ b/meta-multimedia/recipes-devtools/python/python3-pillow-heif/0001-setup.py-support-cross-compiling.patch
@@ -0,0 +1,56 @@
1From 98e6831754712221ce030ce8b27e100a3926c543 Mon Sep 17 00:00:00 2001
2From: Leon Anavi <leon.anavi@konsulko.com>
3Date: Mon, 5 May 2025 16:08:37 +0000
4Subject: [PATCH] setup.py: support cross compiling
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
9---
10 setup.py | 19 +++++++++++--------
11 1 file changed, 11 insertions(+), 8 deletions(-)
12
13diff --git a/setup.py b/setup.py
14index 68945e4..67566e8 100644
15--- a/setup.py
16+++ b/setup.py
17@@ -125,12 +125,12 @@ class PillowHeifBuildExt(build_ext):
18 self._add_directory(library_dirs, match.group(1))
19
20 # include, rpath, if set as environment variables
21- for k in ("C_INCLUDE_PATH", "CPATH", "INCLUDE"):
22+ for k in ("C_INCLUDE_PATH", "CPATH", "INCLUDE", "STAGING_INCDIR"):
23 if k in os.environ:
24 for d in os.environ[k].split(os.path.pathsep):
25 self._add_directory(include_dirs, d)
26
27- for k in ("LD_RUN_PATH", "LIBRARY_PATH", "LIB"):
28+ for k in ("LD_RUN_PATH", "LIBRARY_PATH", "LIB", "STAGING_LIBDIR"):
29 if k in os.environ:
30 for d in os.environ[k].split(os.path.pathsep):
31 self._add_directory(library_dirs, d)
32@@ -199,12 +199,15 @@ class PillowHeifBuildExt(build_ext):
33 self._update_extension("_pillow_heif", ["heif"], extra_compile_args=["-O3", "-Werror"])
34 else: # let's assume it's some kind of linux
35 # this old code waiting for refactoring, when time comes.
36- self._add_directory(include_dirs, "/usr/local/include")
37- self._add_directory(include_dirs, "/usr/include")
38- self._add_directory(library_dirs, "/usr/local/lib")
39- self._add_directory(library_dirs, "/usr/lib64")
40- self._add_directory(library_dirs, "/usr/lib")
41- self._add_directory(library_dirs, "/lib")
42+ include_os_path = os.environ.get("STAGING_INCDIR")
43+ if include_os_path:
44+ for path in include_os_path.split(os.pathsep):
45+ self._add_directory(include_dirs, path)
46+
47+ lib_os_path = os.environ.get("STAGING_LIBDIR")
48+ if lib_os_path:
49+ for path in lib_os_path.split(os.pathsep):
50+ self._add_directory(library_dirs, path)
51
52 self._update_extension("_pillow_heif", ["heif"], extra_compile_args=["-O3", "-Werror"])
53
54--
552.39.5
56
diff --git a/meta-multimedia/recipes-devtools/python/python3-pillow-heif_0.22.0.bb b/meta-multimedia/recipes-devtools/python/python3-pillow-heif_0.22.0.bb
new file mode 100644
index 0000000000..7f5dfac702
--- /dev/null
+++ b/meta-multimedia/recipes-devtools/python/python3-pillow-heif_0.22.0.bb
@@ -0,0 +1,20 @@
1DESCRIPTION = "Python interface for libheif library"
2HOMEPAGE = "https://github.com/bigcat88/pillow_heif"
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b6c07a92aed67c33bc346748d7c7e991"
5
6# While this item does not require it, it depends on libheif which does
7LICENSE_FLAGS = "commercial"
8
9PYPI_PACKAGE = "pillow_heif"
10
11inherit pypi python_setuptools_build_meta
12
13SRC_URI += "file://0001-setup.py-support-cross-compiling.patch"
14SRC_URI[sha256sum] = "61d473929340d3073722f6316b7fbbdb11132faa6bac0242328e8436cc55b39a"
15
16DEPENDS += "libheif"
17
18RDEPENDS:${PN} += "python3-pillow"
19
20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_1.20.bb b/meta-multimedia/recipes-dvb/oscam/oscam_1.20.bb
index e20358955a..37431dca05 100644
--- a/meta-multimedia/recipes-dvb/oscam/oscam_1.20.bb
+++ b/meta-multimedia/recipes-dvb/oscam/oscam_1.20.bb
@@ -9,7 +9,6 @@ DEPENDS = "libusb1 openssl pcsc-lite"
9SRCREV = "190d6dee96ca70f8b614932b1498332b1504632b" 9SRCREV = "190d6dee96ca70f8b614932b1498332b1504632b"
10SRC_URI = "git://repo.or.cz/oscam.git;protocol=https;nobranch=1" 10SRC_URI = "git://repo.or.cz/oscam.git;protocol=https;nobranch=1"
11 11
12S = "${UNPACKDIR}/git"
13 12
14inherit cmake 13inherit cmake
15 14
diff --git a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
index 2d79777001..6a7f6c3f5d 100644
--- a/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
+++ b/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb
@@ -16,7 +16,6 @@ SRCREV = "cc602833684953fc3e6f1c89d4f08f6dfef179e3"
16PV = "4.3+git" 16PV = "4.3+git"
17PKGV = "4.3+git${GITPKGV}" 17PKGV = "4.3+git${GITPKGV}"
18 18
19S = "${WORKDIR}/git"
20 19
21EXTRA_OECONF += "--arch=${TARGET_ARCH} \ 20EXTRA_OECONF += "--arch=${TARGET_ARCH} \
22 --disable-hdhomerun_static \ 21 --disable-hdhomerun_static \
diff --git a/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb b/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb
index 6803806063..4b439e2ca5 100644
--- a/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb
+++ b/meta-multimedia/recipes-mkv/libebml/libebml_1.4.5.bb
@@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c"
6SRC_URI = "git://github.com/Matroska-Org/libebml.git;branch=v1.x;protocol=https" 6SRC_URI = "git://github.com/Matroska-Org/libebml.git;branch=v1.x;protocol=https"
7SRCREV = "1878e784321673561039a6a37076b2736f4dc98f" 7SRCREV = "1878e784321673561039a6a37076b2736f4dc98f"
8 8
9S = "${WORKDIR}/git"
10 9
11inherit pkgconfig cmake dos2unix 10inherit pkgconfig cmake dos2unix
12 11
diff --git a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
index 16862e690e..d38366a735 100644
--- a/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
+++ b/meta-multimedia/recipes-mkv/libmatroska/libmatroska_1.7.1.bb
@@ -8,7 +8,6 @@ DEPENDS = "libebml"
8SRC_URI = "git://github.com/Matroska-Org/libmatroska.git;branch=v1.x;protocol=https" 8SRC_URI = "git://github.com/Matroska-Org/libmatroska.git;branch=v1.x;protocol=https"
9SRCREV = "f5315fddda2d434e47035c038549a808d8b8eac7" 9SRCREV = "f5315fddda2d434e47035c038549a808d8b8eac7"
10 10
11S = "${WORKDIR}/git"
12 11
13inherit pkgconfig cmake 12inherit pkgconfig cmake
14 13
diff --git a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
index b5c8ddca11..92f7270972 100644
--- a/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
+++ b/meta-multimedia/recipes-multimedia/alsa-equal/alsa-equal_0.6.bb
@@ -15,7 +15,7 @@ SRC_URI = " \
15SRC_URI[md5sum] = "d2edc7710c72cbf3ab297c414e35ebda" 15SRC_URI[md5sum] = "d2edc7710c72cbf3ab297c414e35ebda"
16SRC_URI[sha256sum] = "916e7d152added24617efc350142438a46099efe062bd8781d36dbf10b4e6ff0" 16SRC_URI[sha256sum] = "916e7d152added24617efc350142438a46099efe062bd8781d36dbf10b4e6ff0"
17 17
18S = "${WORKDIR}/alsaequal" 18S = "${UNPACKDIR}/alsaequal"
19 19
20EXTRA_OEMAKE = " \ 20EXTRA_OEMAKE = " \
21 Q='' \ 21 Q='' \
diff --git a/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb b/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb
index 776dfa8783..72baf58cf0 100644
--- a/meta-multimedia/recipes-multimedia/aom/aom_3.7.0.bb
+++ b/meta-multimedia/recipes-multimedia/aom/aom_3.12.1.bb
@@ -5,11 +5,10 @@ LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ 5LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \
6 file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \ 6 file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \
7 " 7 "
8SRCREV = "6054fae218eda6e53e1e3b4f7ef0fff4877c7bf1" 8SRCREV = "10aece4157eb79315da205f39e19bf6ab3ee30d0"
9SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \ 9SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main;tag=v${PV} \
10 file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch" 10 file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit cmake pkgconfig 13inherit cmake pkgconfig
15 14
@@ -21,6 +20,7 @@ EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \
21CMAKE_VERBOSE = "VERBOSE=1" 20CMAKE_VERBOSE = "VERBOSE=1"
22CFLAGS:append:libc-musl = " -D_GNU_SOURCE" 21CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
23EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF" 22EXTRA_OECMAKE:append:arm = " -DENABLE_NEON=OFF"
23EXTRA_OECMAKE:append:riscv32 = " -DENABLE_RVV=OFF"
24 24
25do_generate_toolchain_file:append() { 25do_generate_toolchain_file:append() {
26 echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake 26 echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
diff --git a/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/0001-Use-basename-implementation-from-glib-2.0.patch b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/0001-Use-basename-implementation-from-glib-2.0.patch
new file mode 100644
index 0000000000..fbd145e6b5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa/0001-Use-basename-implementation-from-glib-2.0.patch
@@ -0,0 +1,88 @@
1From 070ed35ac5cef8138ed4760582bb72e8d3e136e2 Mon Sep 17 00:00:00 2001
2From: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com>
3Date: Sun, 25 Aug 2024 08:42:39 +0200
4Subject: [PATCH] Fix compilation on strict POSIX platforms
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7Upstream-Status: Submitted [https://github.com/arkq/bluez-alsa/commit/070ed35ac5cef8138ed4760582bb72e8d3e136e2]
8---
9 src/main.c | 2 +-
10 test/mock/mock.c | 2 +-
11 utils/aplay/aplay.c | 1 +
12 utils/cli/cli.c | 1 +
13 utils/rfcomm/rfcomm.c | 1 +
14 5 files changed, 5 insertions(+), 2 deletions(-)
15
16diff --git a/src/main.c b/src/main.c
17index 96a66aee..eeb80165 100644
18--- a/src/main.c
19+++ b/src/main.c
20@@ -13,13 +13,13 @@
21 #endif
22
23 #include <getopt.h>
24+#include <libgen.h>
25 #include <sched.h>
26 #include <signal.h>
27 #include <stdbool.h>
28 #include <stdint.h>
29 #include <stdio.h>
30 #include <stdlib.h>
31-#include <string.h>
32 #include <strings.h>
33 #include <syslog.h>
34 #include <time.h>
35diff --git a/test/mock/mock.c b/test/mock/mock.c
36index 947211a3..0a2f6091 100644
37--- a/test/mock/mock.c
38+++ b/test/mock/mock.c
39@@ -20,12 +20,12 @@
40 #include <assert.h>
41 #include <errno.h>
42 #include <getopt.h>
43+#include <libgen.h>
44 #include <signal.h>
45 #include <stdbool.h>
46 #include <stdint.h>
47 #include <stdio.h>
48 #include <stdlib.h>
49-#include <string.h>
50 #include <strings.h>
51 #include <sys/stat.h>
52 #include <unistd.h>
53diff --git a/utils/aplay/aplay.c b/utils/aplay/aplay.c
54index 3de77902..36843e95 100644
55--- a/utils/aplay/aplay.c
56+++ b/utils/aplay/aplay.c
57@@ -15,6 +15,7 @@
58 #include <assert.h>
59 #include <errno.h>
60 #include <getopt.h>
61+#include <libgen.h>
62 #include <math.h>
63 #include <poll.h>
64 #include <pthread.h>
65diff --git a/utils/cli/cli.c b/utils/cli/cli.c
66index aeeabe58..0338b9e2 100644
67--- a/utils/cli/cli.c
68+++ b/utils/cli/cli.c
69@@ -13,6 +13,7 @@
70 #endif
71
72 #include <getopt.h>
73+#include <libgen.h>
74 #include <stdarg.h>
75 #include <stdbool.h>
76 #include <stdint.h>
77diff --git a/utils/rfcomm/rfcomm.c b/utils/rfcomm/rfcomm.c
78index d01f0810..3dacfd67 100644
79--- a/utils/rfcomm/rfcomm.c
80+++ b/utils/rfcomm/rfcomm.c
81@@ -15,6 +15,7 @@
82 #include <ctype.h>
83 #include <errno.h>
84 #include <getopt.h>
85+#include <libgen.h>
86 #include <poll.h>
87 #include <stdbool.h>
88 #include <stdint.h>
diff --git a/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb
index 5007c88fff..162a51284e 100644
--- a/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_git.bb
+++ b/meta-multimedia/recipes-multimedia/bluealsa/bluealsa_4.3.0.bb
@@ -1,22 +1,30 @@
1SUMMARY = "Bluetooth Audio ALSA Backend" 1SUMMARY = "Bluetooth Audio ALSA Backend"
2DESCRIPTION = "\
3 BlueALSA is a replacement for BlueZ >= 5, with which one can achieve the \
4 same Bluetooth audio profile support as with PulseAudio, but with fewer \
5 dependencies and at a lower level in the software stack. It is designed \
6 specifically for use on small, low-powered, dedicated audio or audio/visual \
7 systems where the high-level audio management features of PulseAudio or \
8 PipeWire are not required. \
9"
2HOMEPAGE = "https://github.com/Arkq/bluez-alsa" 10HOMEPAGE = "https://github.com/Arkq/bluez-alsa"
11BUGTRACKER = "https://github.com/arkq/bluez-alsa/issues"
3SECTION = "libs" 12SECTION = "libs"
4 13
5LICENSE = "MIT" 14LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=8449a4f133a93f6254b496d4fb476e83" 15LIC_FILES_CHKSUM = "file://LICENSE;md5=143bc4e73f39cc5e89d6e096ac0315ba"
7 16
8SRC_URI = "git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master" 17DEPENDS += "alsa-lib bluez5 dbus glib-2.0-native python3-packaging-native sbc"
9 18
10SRCREV = "dd05a1baa261b94da9ba977b5e3392c8b4dc7a5e" 19SRC_URI = "git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master \
11PV = "4.0.0+git" 20 file://0001-Use-basename-implementation-from-glib-2.0.patch"
12 21
13S = "${WORKDIR}/git" 22SRCREV = "959573c2cccef5cf074f5b2fa7941abbd699c5f4"
14 23
15DEPENDS += "alsa-lib bluez5 dbus glib-2.0 sbc"
16 24
17PACKAGECONFIG ??= "aplay cli hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" 25PACKAGECONFIG ??= "aplay cli hcitop ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
18PACKAGECONFIG[a2dpconf] = "--enable-a2dpconf,--disable-a2dpconf" 26PACKAGECONFIG[a2dpconf] = "--enable-a2dpconf,--disable-a2dpconf"
19PACKAGECONFIG[aac] = "--enable-aac,--disable-aac,fdk-aac" 27PACKAGECONFIG[aac] = "--enable-aac,--disable-aac,fdk-aac"
20PACKAGECONFIG[aplay] = "--enable-aplay,--disable-aplay" 28PACKAGECONFIG[aplay] = "--enable-aplay,--disable-aplay"
21PACKAGECONFIG[cli] = "--enable-cli,--disable-cli" 29PACKAGECONFIG[cli] = "--enable-cli,--disable-cli"
22PACKAGECONFIG[coverage] = "--with-coverage,--without-coverage,lcov-native" 30PACKAGECONFIG[coverage] = "--with-coverage,--without-coverage,lcov-native"
@@ -25,8 +33,10 @@ PACKAGECONFIG[debug-time] = "--enable-debug-time,--disable-debug-time"
25PACKAGECONFIG[faststream] = "--enable-faststream,--disable-faststream" 33PACKAGECONFIG[faststream] = "--enable-faststream,--disable-faststream"
26PACKAGECONFIG[hcitop] = "--enable-hcitop,--disable-hcitop,libbsd ncurses" 34PACKAGECONFIG[hcitop] = "--enable-hcitop,--disable-hcitop,libbsd ncurses"
27PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind" 35PACKAGECONFIG[libunwind] = "--with-libunwind,--without-libunwind,libunwind"
36PACKAGECONFIG[midi] = "--enable-midi,--disable-midi"
28PACKAGECONFIG[mp3lame] = "--enable-mp3lame,--disable-mp3lame,lame" 37PACKAGECONFIG[mp3lame] = "--enable-mp3lame,--disable-mp3lame,lame"
29PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123,mpg123" 38PACKAGECONFIG[mpg123] = "--enable-mpg123,--disable-mpg123,mpg123,mpg123"
39PACKAGECONFIG[msbc] = "--enable-msbc,--disable-msbc,spandsp"
30PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono,ofono" 40PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono,ofono"
31PACKAGECONFIG[payloadcheck] = "--enable-payloadcheck,--disable-payloadcheck" 41PACKAGECONFIG[payloadcheck] = "--enable-payloadcheck,--disable-payloadcheck"
32PACKAGECONFIG[rfcomm] = "--enable-rfcomm,--disable-rfcomm" 42PACKAGECONFIG[rfcomm] = "--enable-rfcomm,--disable-rfcomm"
@@ -35,9 +45,10 @@ PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd
35PACKAGECONFIG[test] = "--enable-test,--disable-test,libcheck libsndfile1" 45PACKAGECONFIG[test] = "--enable-test,--disable-test,libcheck libsndfile1"
36PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,,upower" 46PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,,upower"
37 47
38inherit autotools pkgconfig systemd 48inherit autotools pkgconfig python3native systemd
39 49
40EXTRA_OECONF = " \ 50# These proprietary codecs are not available in Yocto
51EXTRA_OECONF = "\
41 --disable-aptx \ 52 --disable-aptx \
42 --disable-lc3plus \ 53 --disable-lc3plus \
43 --disable-ldac \ 54 --disable-ldac \
@@ -45,10 +56,11 @@ EXTRA_OECONF = " \
45" 56"
46 57
47PACKAGE_BEFORE_PN = "${PN}-aplay" 58PACKAGE_BEFORE_PN = "${PN}-aplay"
48RRECOMMENDS:${PN} = "${PN}-aplay"
49 59
50FILES:${PN}-aplay = "${bindir}/bluealsa-aplay" 60FILES:${PN}-aplay += "${bindir}/bluealsa-aplay"
51FILES:${PN} += "${libdir}/alsa-lib/*" 61FILES:${PN} += "${libdir}/alsa-lib/* ${datadir}/dbus-1/system.d"
62
63RRECOMMENDS:${PN} = "${PN}-aplay"
52 64
53SYSTEMD_PACKAGES += "${PN}-aplay" 65SYSTEMD_PACKAGES += "${PN}-aplay"
54SYSTEMD_SERVICE:${PN} = "bluealsa.service" 66SYSTEMD_SERVICE:${PN} = "bluealsa.service"
diff --git a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
index 0b844ee7d3..0928da1dbd 100644
--- a/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
+++ b/meta-multimedia/recipes-multimedia/cdparanoia/cdparanoia_10.2.bb
@@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55
22 22
23# Uppercase letters are not allowed in the recipe name, thus the recipe can not be named cdparanoia-III and 23# Uppercase letters are not allowed in the recipe name, thus the recipe can not be named cdparanoia-III and
24# we need to add the path to the extracted sources explicitely: 24# we need to add the path to the extracted sources explicitely:
25S = "${WORKDIR}/cdparanoia-III-${PV}" 25S = "${UNPACKDIR}/cdparanoia-III-${PV}"
26 26
27# cdparanoia Makefile can not be used with several threads (because the static library target and the shared 27# cdparanoia Makefile can not be used with several threads (because the static library target and the shared
28# library target use object files which are compiled in the same directory, the object files are just removed 28# library target use object files which are compiled in the same directory, the object files are just removed
diff --git a/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.2.bb b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.1.bb
index 4e8412303b..d600e3b5e3 100644
--- a/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.4.2.bb
+++ b/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.5.1.bb
@@ -6,12 +6,14 @@ LICENSE = "BSD-2-Clause"
6 6
7LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669" 7LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669"
8 8
9SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;branch=master" 9SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;nobranch=1"
10SRCREV = "805d9e5a8ffce3ef78cebde4bfedf3642907b2d3" 10SRCREV = "42b2b24fb8819f1ed3643aa9cf2a62f03868e3aa"
11 11
12S = "${WORKDIR}/git"
13 12
14DEPENDS:append:x86 = " nasm-native" 13DEPENDS:append:x86 = " nasm-native"
15DEPENDS:append:x86-64 = " nasm-native" 14DEPENDS:append:x86-64 = " nasm-native"
16 15
17inherit meson pkgconfig 16inherit meson pkgconfig
17
18# RVV assembler routines are not yet available for RISCV32
19EXTRA_OEMESON:append:riscv32 = " -Denable_asm=false"
diff --git a/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb b/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
index ddd4c26efe..a330d769c5 100644
--- a/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/dca/dcadec_0.2.0.bb
@@ -8,7 +8,6 @@ SRC_URI = "git://github.com/foo86/dcadec.git;protocol=https;branch=master \
8 file://0001-define-BASELIB-make-variable.patch \ 8 file://0001-define-BASELIB-make-variable.patch \
9 " 9 "
10 10
11S = "${WORKDIR}/git"
12 11
13inherit lib_package 12inherit lib_package
14 13
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
index bed5af9bf3..21a6613622 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-connector-dbus_0.3.0.bb
@@ -9,7 +9,6 @@ DEPENDS = "glib-2.0 dbus dleyna-core"
9 9
10SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https" 10SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
11SRCREV = "de913c35e5c936e2d40ddbd276ee902cd802bd3a" 11SRCREV = "de913c35e5c936e2d40ddbd276ee902cd802bd3a"
12S = "${WORKDIR}/git"
13 12
14inherit autotools pkgconfig 13inherit autotools pkgconfig
15 14
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
index 8aaab7893e..4f743b16f6 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-core_0.6.0.bb
@@ -15,7 +15,6 @@ PV .= "+git"
15 15
16SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https" 16SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
17SRCREV = "1c6853f5bc697dc0a8774fd70dbc915c4dbe7c5b" 17SRCREV = "1c6853f5bc697dc0a8774fd70dbc915c4dbe7c5b"
18S = "${WORKDIR}/git"
19 18
20inherit autotools pkgconfig 19inherit autotools pkgconfig
21 20
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
index a385a50de7..3e55a212d4 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-renderer_0.6.0.bb
@@ -15,7 +15,6 @@ SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https \
15 file://0001-add-gupnp-1.2-API-support.patch \ 15 file://0001-add-gupnp-1.2-API-support.patch \
16 " 16 "
17SRCREV = "50fd1ec9d51328e7dea98874129dc8d6fe3ea1dd" 17SRCREV = "50fd1ec9d51328e7dea98874129dc8d6fe3ea1dd"
18S = "${WORKDIR}/git"
19 18
20inherit autotools pkgconfig 19inherit autotools pkgconfig
21 20
diff --git a/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb b/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
index b0a347f252..d60abd2082 100644
--- a/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/dleyna/dleyna-server_0.6.0.bb
@@ -14,7 +14,6 @@ RDEPENDS:${PN} = "dleyna-connector-dbus"
14PV .= "+git" 14PV .= "+git"
15SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https" 15SRC_URI = "git://github.com/01org/${BPN}.git;branch=master;protocol=https"
16SRCREV = "eb895ae82715e9889a948ffa810c0f828b4f4c76" 16SRCREV = "eb895ae82715e9889a948ffa810c0f828b4f4c76"
17S = "${WORKDIR}/git"
18 17
19inherit autotools pkgconfig 18inherit autotools pkgconfig
20 19
diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
index f9115d819b..232130be0f 100644
--- a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
+++ b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb
@@ -13,11 +13,11 @@ SRC_URI = "https://www.linuxtv.org/hg/dvb-apps/archive/3d43b280298c.tar.bz2;down
13 file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \ 13 file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \
14 " 14 "
15SRC_URI[sha256sum] = "f39e2f0ebed7e32bce83522062ad4d414f67fccd5df1b647618524497e15e057" 15SRC_URI[sha256sum] = "f39e2f0ebed7e32bce83522062ad4d414f67fccd5df1b647618524497e15e057"
16S = "${WORKDIR}/${BPN}-3d43b280298c" 16S = "${UNPACKDIR}/${BPN}-3d43b280298c"
17 17
18inherit perlnative 18inherit perlnative
19 19
20export enable_static="no" 20export enable_static = "no"
21 21
22export PERL_USE_UNSAFE_INC = "1" 22export PERL_USE_UNSAFE_INC = "1"
23 23
diff --git a/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb b/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
index 55475b40f1..97196bbcf2 100644
--- a/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
+++ b/meta-multimedia/recipes-multimedia/fdk-aac/fdk-aac_2.0.2.bb
@@ -14,7 +14,6 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=5985e1e12f4afa710d64ed7bfd291875"
14SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=https;branch=master" 14SRC_URI = "git://github.com/mstorsjo/fdk-aac.git;protocol=https;branch=master"
15SRCREV = "801f67f671929311e0c9952c5f92d6e147c7b003" 15SRCREV = "801f67f671929311e0c9952c5f92d6e147c7b003"
16 16
17S = "${WORKDIR}/git"
18 17
19SRC_URI[md5sum] = "fef453b5d6ee28ff302c600b8cded3e7" 18SRC_URI[md5sum] = "fef453b5d6ee28ff302c600b8cded3e7"
20SRC_URI[sha256sum] = "07c2a64b098eb48b2e9d729d5e778c08f7d22f28adc8da7c3f92c58da1cbbd8e" 19SRC_URI[sha256sum] = "07c2a64b098eb48b2e9d729d5e778c08f7d22f28adc8da7c3f92c58da1cbbd8e"
diff --git a/meta-multimedia/recipes-multimedia/flite/flite/0001-Remove-defining-const-as-nothing.patch b/meta-multimedia/recipes-multimedia/flite/flite/0001-Remove-defining-const-as-nothing.patch
new file mode 100644
index 0000000000..899ef26637
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/flite/flite/0001-Remove-defining-const-as-nothing.patch
@@ -0,0 +1,79 @@
1From c71d844f5639ea447b9f795a4db5b5d43f0de814 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 2 Jul 2024 21:41:24 -0700
4Subject: [PATCH] Remove defining 'const' as nothing
5
6This is a hack to override constness of struct members
7however, with modern compiler like clang with fortified
8glibc ( 2.40+ ) headers this runs into compiler errors
9
10| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:38:54: error: pass_object_size attribute only applies to constant pointer arguments
11| 38 | __fortify_clang_overload_arg (char *, __restrict, __resolved)))
12| | ^
13| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:73:43: error: pass_object_size attribute only applies to constant pointer arguments
14| 73 | __fortify_clang_overload_arg (char *, ,__buf),
15| | ^
16| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:91:55: error: pass_object_size attribute only applies to constant pointer arguments
17| 91 | __NTH (wctomb (__fortify_clang_overload_arg (char *, ,__s), wchar_t __wchar))
18| | ^
19| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:129:71: error: pass_object_size attribute only applies to constant pointer arguments
20| 129 | __NTH (mbstowcs (__fortify_clang_overload_arg (wchar_t *, __restrict, __dst),
21| | ^
22| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/flite/2.2/recipe-sysroot/usr/include/bits/stdlib.h:159:68: error: pass_object_size attribute only applies to constant pointer arguments
23| 159 | __NTH (wcstombs (__fortify_clang_overload_arg (char *, __restrict, __dst),
24| | ^
25| 5 errors generated.
26|
27
28Therefore take this out, instead cast away the 'const' qualifier where needed ( equilly dangerous )
29however limited to just this file instead of apply to all headers including system headers
30
31Upstream-Status: Submitted [https://github.com/festvox/flite/pull/112]
32Signed-off-by: Khem Raj <raj.khem@gmail.com>
33---
34 tools/find_sts_main.c | 11 ++++-------
35 1 file changed, 4 insertions(+), 7 deletions(-)
36
37diff --git a/tools/find_sts_main.c b/tools/find_sts_main.c
38index 3c94449..a5bf8ef 100644
39--- a/tools/find_sts_main.c
40+++ b/tools/find_sts_main.c
41@@ -41,9 +41,6 @@
42 #include <math.h>
43 #include <string.h>
44
45-/* To allow some normally const fields to manipulated during building */
46-#define const
47-
48 #include "cst_args.h"
49 #include "cst_wave.h"
50 #include "cst_track.h"
51@@ -132,16 +129,16 @@ cst_sts *find_sts(cst_wave *sig, cst_track *lpc)
52 lpc->frames[i],lpc->num_channels,
53 resd,
54 size);
55- sts[i].size = size;
56+ *(int *)(&sts[i].size) = size;
57 sts[i].frame = cst_alloc(unsigned short,lpc->num_channels-1);
58 for (j=1; j < lpc->num_channels; j++)
59- sts[i].frame[j-1] = (unsigned short)
60+ *(unsigned short *)(&sts[i].frame[j-1]) = (unsigned short)
61 (((lpc->frames[i][j]-lpc_min)/lpc_range)*65535);
62 if (cst_streq(residual_codec,"ulaw"))
63 {
64 sts[i].residual = cst_alloc(unsigned char,size);
65 for (j=0; j < size; j++)
66- sts[i].residual[j] = cst_short_to_ulaw((short)resd[j]);
67+ *(unsigned char *)(&sts[i].residual[j]) = cst_short_to_ulaw((short)resd[j]);
68 }
69 else if (cst_streq(residual_codec,"g721"))
70 {
71@@ -189,7 +186,7 @@ cst_sts *find_sts(cst_wave *sig, cst_track *lpc)
72 {
73 sts[i].residual = cst_alloc(unsigned char,size);
74 for (j=0; j < size; j++)
75- sts[i].residual[j] = cst_short_to_ulaw((short)resd[j]);
76+ *(unsigned char *)(&sts[i].residual[j]) = cst_short_to_ulaw((short)resd[j]);
77 }
78 else /* Unvoiced frame */
79 {
diff --git a/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb b/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
index 0a7680a8c4..af543af80e 100644
--- a/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
+++ b/meta-multimedia/recipes-multimedia/flite/flite_2.2.bb
@@ -9,10 +9,10 @@ inherit autotools-brokensep
9DEPENDS += "alsa-lib chrpath-replacement-native" 9DEPENDS += "alsa-lib chrpath-replacement-native"
10 10
11SRC_URI = "git://github.com/festvox/flite.git;protocol=https;branch=master" 11SRC_URI = "git://github.com/festvox/flite.git;protocol=https;branch=master"
12SRC_URI += "file://0001-Remove-defining-const-as-nothing.patch"
12 13
13SRCREV = "e9e2e37c329dbe98bfeb27a1828ef9a71fa84f88" 14SRCREV = "e9e2e37c329dbe98bfeb27a1828ef9a71fa84f88"
14 15
15S = "${WORKDIR}/git"
16 16
17EXTRA_OECONF += "--enable-shared" 17EXTRA_OECONF += "--enable-shared"
18 18
@@ -25,3 +25,5 @@ do_install:append() {
25} 25}
26# | make[1]: *** No rule to make target 'flite_voice_list.c', needed by 'all'. Stop. 26# | make[1]: *** No rule to make target 'flite_voice_list.c', needed by 'all'. Stop.
27PARALLEL_MAKE = "" 27PARALLEL_MAKE = ""
28
29CLEANBROKEN = "1"
diff --git a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.4.5.bb
index dc05832e80..b8396209c5 100644
--- a/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.3.4.bb
+++ b/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_2.4.5.bb
@@ -11,9 +11,8 @@ SRC_URI = " \
11 file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \ 11 file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \
12 file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \ 12 file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \
13" 13"
14SRCREV = "5ecdc4568e45123216c6888892caad07918ef127" 14SRCREV = "9f2edaa3cbd456997cb420fb68b6f960faaafd12"
15 15
16S = "${WORKDIR}/git"
17 16
18inherit cmake pkgconfig lib_package 17inherit cmake pkgconfig lib_package
19 18
@@ -34,6 +33,7 @@ PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaud
34PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF" 33PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF"
35PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio" 34PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio"
36PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline" 35PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline"
37PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,libsdl2" 36PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,virtual/libsdl2"
38PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1" 37PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1"
39PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd" 38PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd"
39
diff --git a/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb b/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.4.1.bb
index fea14fd840..6348f25a57 100644
--- a/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.0.0.bb
+++ b/meta-multimedia/recipes-multimedia/gerbera/gerbera_2.4.1.bb
@@ -4,9 +4,8 @@ LICENSE = "GPL-2.0-only"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8" 4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8"
5 5
6SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master" 6SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master"
7SRCREV = "2f26e656b16fb86132f27d1f8d47c6055041430d" 7SRCREV = "870dd32d42f626dc2246d34b2224ffb6fd73e205"
8 8
9S = "${WORKDIR}/git"
10 9
11DEPENDS = "pugixml sqlite3 zlib fmt spdlog util-linux-libuuid libupnp libnsl2" 10DEPENDS = "pugixml sqlite3 zlib fmt spdlog util-linux-libuuid libupnp libnsl2"
12 11
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
index dc43bed63b..e1c903f6ed 100644
--- a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
+++ b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gst-shark_0.8.1.bb
@@ -15,11 +15,10 @@ SRCREV_common = "b64f03f6090245624608beb5d2fff335e23a01c0"
15SRCREV_FORMAT = "default_common" 15SRCREV_FORMAT = "default_common"
16SRC_URI = " \ 16SRC_URI = " \
17 git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH} \ 17 git://github.com/RidgeRun/gst-shark.git;protocol=https;branch=${SRCBRANCH} \
18 git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;branch=master;destsuffix=git/common;name=common \ 18 git://gitlab.freedesktop.org/gstreamer/common.git;protocol=https;branch=master;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/common;name=common \
19 file://0001-tracers-Fix-buffer-overflow.patch \ 19 file://0001-tracers-Fix-buffer-overflow.patch \
20" 20"
21 21
22S = "${WORKDIR}/git"
23 22
24EXTRA_OECONF += " \ 23EXTRA_OECONF += " \
25 --disable-graphviz \ 24 --disable-graphviz \
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-Remove-redundant-rpaths.patch b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-Remove-redundant-rpaths.patch
new file mode 100644
index 0000000000..b1e1e897bf
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd/0001-gstd-Remove-redundant-rpaths.patch
@@ -0,0 +1,26 @@
1From c183aae97728e25e0822b14f5093f60cb4331207 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 12 Oct 2024 10:48:01 -0700
4Subject: [PATCH] gstd: Remove redundant rpaths
5
6This emits /usr/lib into binaries which are redundant
7
8Upstream-Status: Pending
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 gstd/meson.build | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/gstd/meson.build b/gstd/meson.build
15index b6aa588..8cdf810 100644
16--- a/gstd/meson.build
17+++ b/gstd/meson.build
18@@ -18,7 +18,7 @@ executable(exe_name,
19 include_directories : [configinc, libgstd_inc_dir],
20 dependencies : [gstd_deps, lib_gstd_dep],
21 c_args: gst_c_args,
22- install_rpath: get_option('prefix') + '/' + get_option('libdir'),
23+ #install_rpath: get_option('prefix') + '/' + get_option('libdir'),
24 )
25 lib_gstd_dir = meson.current_build_dir()
26
diff --git a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
index 87792491ae..d068d66bb6 100644
--- a/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
+++ b/meta-multimedia/recipes-multimedia/gstreamer-1.0/gstd_git.bb
@@ -8,15 +8,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c71b653a0f608a58cdc5693ae57126bc"
8DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon libsoup-2.4 jansson" 8DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-rtsp-server json-glib libdaemon libsoup-2.4 jansson"
9 9
10SRCBRANCH ?= "master" 10SRCBRANCH ?= "master"
11SRCREV = "a011affa67f240cbc7aaff5b00fdfd6124bdaece" 11SRCREV = "dac03d5e4102080a8f3ef274a6a6583455962095"
12SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH}" 12SRC_URI = "git://git@github.com/RidgeRun/gstd-1.x.git;protocol=https;branch=${SRCBRANCH} \
13S = "${WORKDIR}/git" 13 file://0001-gstd-Remove-redundant-rpaths.patch"
14 14
15# Remove the +really when upstream version is > 1.0 15# Remove the +really when upstream version is > 1.0
16PV = "1.0+really0.15.0" 16PV = "1.0+really0.15.2"
17 17
18GTKDOC_MESON_OPTION = "enable-gtk-doc" 18GTKDOC_MESON_OPTION = "enable-gtk-doc"
19 19
20# Documentation doesn't currently build:
21# gtkdoc-mkhtml: error: unrecognized arguments: ../gstd-docs.xml
22GTKDOC_ENABLED = "False"
23
20inherit meson pkgconfig gettext gtk-doc python3native python3-dir python3targetconfig 24inherit meson pkgconfig gettext gtk-doc python3native python3-dir python3targetconfig
21 25
22do_install:append() { 26do_install:append() {
diff --git a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
index 8accba1bff..8ceb617fce 100644
--- a/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
+++ b/meta-multimedia/recipes-multimedia/images/meta-multimedia-image-ptest-all.bb
@@ -9,7 +9,7 @@ REQUIRED_DISTRO_FEATURES = "ptest"
9require conf/include/ptest-packagelists-meta-multimedia.inc 9require conf/include/ptest-packagelists-meta-multimedia.inc
10 10
11# Include the full set of ptests 11# Include the full set of ptests
12PTESTS_META_MULTIMEDIA = "${PTESTS_FAST_META_MULTIMEDIA} ${PTESTS_SLOW_META_MULTIMEDIA} ${PTESTS_PROBLEMS_META_MULTIMEDIA}" 12PTESTS_META_MULTIMEDIA = "${PTESTS_FAST_META_MULTIMEDIA} ${PTESTS_SLOW_META_MULTIMEDIA}"
13 13
14do_testimage[noexec] = "1" 14do_testimage[noexec] = "1"
15do_testimage[depends] = "${@' '.join(['meta-multimedia-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}" 15do_testimage[depends] = "${@' '.join(['meta-multimedia-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_MULTIMEDIA').split()])}"
diff --git a/meta-multimedia/recipes-multimedia/juce/projucer.inc b/meta-multimedia/recipes-multimedia/juce/projucer.inc
index b60cba1dd6..999891c232 100644
--- a/meta-multimedia/recipes-multimedia/juce/projucer.inc
+++ b/meta-multimedia/recipes-multimedia/juce/projucer.inc
@@ -21,7 +21,6 @@ SRC_URI = "git://github.com/WeAreROLI/JUCE.git;protocol=https;branch=${BRANCH} \
21 file://0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch \ 21 file://0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch \
22 " 22 "
23 23
24S = "${WORKDIR}/git"
25PV = "6.1.6" 24PV = "6.1.6"
26 25
27JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds" 26JUCE_PROJUCER_BUILD_PATH = "${B}/extras/Projucer/Builds"
diff --git a/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb b/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
index b30f398e87..233b890711 100644
--- a/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://www.xiph.org/ao/"
7LICENSE = "GPL-2.0-only" 7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" 8LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
9 9
10SRC_URI="http://downloads.xiph.org/releases/ao/${BP}.tar.gz" 10SRC_URI = "http://downloads.xiph.org/releases/ao/${BP}.tar.gz"
11SRC_URI[md5sum] = "9f5dd20d7e95fd0dd72df5353829f097" 11SRC_URI[md5sum] = "9f5dd20d7e95fd0dd72df5353829f097"
12SRC_URI[sha256sum] = "03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf" 12SRC_URI[sha256sum] = "03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf"
13 13
diff --git a/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb b/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
index 885758b6a4..9a82cd86bb 100644
--- a/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
+++ b/meta-multimedia/recipes-multimedia/libavif/libavif_1.0.1.bb
@@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c528b75b07425b5c1d2e34de98c397b5"
6 6
7SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=v1.0.x" 7SRC_URI = "git://github.com/AOMediaCodec/libavif.git;protocol=https;branch=v1.0.x"
8 8
9S = "${WORKDIR}/git"
10SRCREV = "d1c26facaf5a8a97919ceee06814d05d10e25622" 9SRCREV = "d1c26facaf5a8a97919ceee06814d05d10e25622"
11 10
12DEPENDS = "dav1d" 11DEPENDS = "dav1d"
diff --git a/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb b/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
index 98f8e5b84d..69d33c9f6a 100644
--- a/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/libavtp/libavtp_0.2.0.bb
@@ -9,7 +9,6 @@ SRC_URI = "git://github.com/Avnu/libavtp.git;branch=master;protocol=https"
9SRC_URI:append:libc-musl = " file://0001-provide-64bit-host-to-network-conversion-macros.patch" 9SRC_URI:append:libc-musl = " file://0001-provide-64bit-host-to-network-conversion-macros.patch"
10SRCREV = "3599a5bf2d18fc3ae89b64f208d8380e6ee3a866" 10SRCREV = "3599a5bf2d18fc3ae89b64f208d8380e6ee3a866"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit meson pkgconfig 13inherit meson pkgconfig
15 14
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch
deleted file mode 100644
index c336e92548..0000000000
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From 11cc6dbd45f0880beea64cdc514f57484b90bc39 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 20 Feb 2024 18:44:23 -0800
4Subject: [PATCH] rpi: Use malloc instead of variable length arrays
5
6Clang-18+ diagnoses this as error
7
8| ../git/src/ipa/rpi/controller/rpi/alsc.cpp:499:10: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension] | 499 | int xLo[X], xHi[X];
9| | ^
10
11Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-February/040529.html]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13
14s
15---
16 src/ipa/rpi/controller/rpi/alsc.cpp | 7 +++++--
17 1 file changed, 5 insertions(+), 2 deletions(-)
18
19diff --git a/src/ipa/rpi/controller/rpi/alsc.cpp b/src/ipa/rpi/controller/rpi/alsc.cpp
20index 8a205c60..a7d42614 100644
21--- a/src/ipa/rpi/controller/rpi/alsc.cpp
22+++ b/src/ipa/rpi/controller/rpi/alsc.cpp
23@@ -496,8 +496,8 @@ void resampleCalTable(const Array2D<double> &calTableIn,
24 * Precalculate and cache the x sampling locations and phases to save
25 * recomputing them on every row.
26 */
27- int xLo[X], xHi[X];
28- double xf[X];
29+ int *xLo = (int*)malloc(X), *xHi = (int*)malloc(X);
30+ double *xf = (double*)malloc(X);
31 double scaleX = cameraMode.sensorWidth /
32 (cameraMode.width * cameraMode.scaleX);
33 double xOff = cameraMode.cropX / (double)cameraMode.sensorWidth;
34@@ -539,6 +539,9 @@ void resampleCalTable(const Array2D<double> &calTableIn,
35 *(out++) = above * (1 - yf) + below * yf;
36 }
37 }
38+ free(xf);
39+ free(xHi);
40+ free(xLo);
41 }
42
43 /* Calculate chrominance statistics (R/G and B/G) for each region. */
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-libcamera-Add-missing-stdint.h-include-to-dma_buf_al.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-libcamera-Add-missing-stdint.h-include-to-dma_buf_al.patch
new file mode 100644
index 0000000000..18ba353de2
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-libcamera-Add-missing-stdint.h-include-to-dma_buf_al.patch
@@ -0,0 +1,38 @@
1From 91de550243121056984e5b9b693b486860655d31 Mon Sep 17 00:00:00 2001
2From: Sergei Trofimovich <slyich@gmail.com>
3Date: Sat, 28 Dec 2024 19:11:19 +0000
4Subject: [PATCH] libcamera: Add missing <stdint.h> include to
5 dma_buf_allocator.h
6
7Without the change the build fails on upcoming `gcc-15` as:
8
9 In file included from ../src/libcamera/dma_buf_allocator.cpp:9:
10 ../include/libcamera/internal/dma_buf_allocator.h:66:19: error: 'uint64_t' has not been declared
11 66 | void sync(uint64_t step);
12 | ^~~~~~~~
13
14Signed-off-by: Sergei Trofimovich <slyich@gmail.com>
15Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
16Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
17Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
18
19Upstream-Status: Backport [https://git.libcamera.org/libcamera/libcamera.git/commit/?id=91de550243121056984e5b9b693b486860655d31]
20---
21 include/libcamera/internal/dma_buf_allocator.h | 1 +
22 1 file changed, 1 insertion(+)
23
24diff --git a/include/libcamera/internal/dma_buf_allocator.h b/include/libcamera/internal/dma_buf_allocator.h
25index d26f8a74..13600915 100644
26--- a/include/libcamera/internal/dma_buf_allocator.h
27+++ b/include/libcamera/internal/dma_buf_allocator.h
28@@ -8,6 +8,7 @@
29 #pragma once
30
31 #include <memory>
32+#include <stdint.h>
33 #include <string>
34 #include <vector>
35
36--
372.34.1
38
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch
deleted file mode 100644
index 473820653e..0000000000
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0002-options-Replace-use-of-VLAs-in-C.patch
+++ /dev/null
@@ -1,128 +0,0 @@
1From 6e4736180fcaffdb06acf52fd3eb50ba5baa3d2a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 31 Jan 2024 21:04:28 -0800
4Subject: [PATCH] options: Replace use of VLAs in C++
5
6Clang++ 18 is fussy about this with new warning checks.
7
8 ../git/src/apps/common/options.cpp:882:20: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
9 882 | char shortOptions[optionsMap_.size() * 3 + 2];
10 | ^~~~~~~~~~~~~~~~~~~~~~~~~~
11
12Therefore replace using VLAs with alloca and malloc/free
13
14Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-February/040381.html]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 src/apps/common/options.cpp | 12 ++++++++++--
18 src/libcamera/ipc_unixsocket.cpp | 13 +++++++++----
19 2 files changed, 19 insertions(+), 6 deletions(-)
20
21diff --git a/src/apps/common/options.cpp b/src/apps/common/options.cpp
22index 4f7e8691..3656f3c1 100644
23--- a/src/apps/common/options.cpp
24+++ b/src/apps/common/options.cpp
25@@ -879,8 +879,8 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
26 * Allocate short and long options arrays large enough to contain all
27 * options.
28 */
29- char shortOptions[optionsMap_.size() * 3 + 2];
30- struct option longOptions[optionsMap_.size() + 1];
31+ char *shortOptions = (char*)malloc(optionsMap_.size() * 3 + 2);
32+ struct option *longOptions = (struct option*)malloc(sizeof(struct option) * (optionsMap_.size() + 1));
33 unsigned int ids = 0;
34 unsigned int idl = 0;
35
36@@ -935,12 +935,16 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
37 std::cerr << argv[optind - 1] << std::endl;
38
39 usage();
40+ free(shortOptions);
41+ free(longOptions);
42 return options;
43 }
44
45 const Option &option = *optionsMap_[c];
46 if (!parseValue(option, optarg, &options)) {
47 usage();
48+ free(shortOptions);
49+ free(longOptions);
50 return options;
51 }
52 }
53@@ -949,10 +953,14 @@ OptionsParser::Options OptionsParser::parse(int argc, char **argv)
54 std::cerr << "Invalid non-option argument '" << argv[optind]
55 << "'" << std::endl;
56 usage();
57+ free(shortOptions);
58+ free(longOptions);
59 return options;
60 }
61
62 options.valid_ = true;
63+ free(shortOptions);
64+ free(longOptions);
65 return options;
66 }
67
68diff --git a/src/libcamera/ipc_unixsocket.cpp b/src/libcamera/ipc_unixsocket.cpp
69index 1980d374..3bd861cb 100644
70--- a/src/libcamera/ipc_unixsocket.cpp
71+++ b/src/libcamera/ipc_unixsocket.cpp
72@@ -8,6 +8,7 @@
73 #include "libcamera/internal/ipc_unixsocket.h"
74
75 #include <array>
76+#include <cstdint>
77 #include <poll.h>
78 #include <string.h>
79 #include <sys/socket.h>
80@@ -247,8 +248,8 @@ int IPCUnixSocket::sendData(const void *buffer, size_t length,
81 iov[0].iov_base = const_cast<void *>(buffer);
82 iov[0].iov_len = length;
83
84- char buf[CMSG_SPACE(num * sizeof(uint32_t))];
85- memset(buf, 0, sizeof(buf));
86+ char *buf = (char*)malloc(CMSG_SPACE(num * sizeof(uint32_t)));
87+ memset((void*)buf, 0, sizeof(buf));
88
89 struct cmsghdr *cmsg = (struct cmsghdr *)buf;
90 cmsg->cmsg_len = CMSG_LEN(num * sizeof(uint32_t));
91@@ -270,9 +271,11 @@ int IPCUnixSocket::sendData(const void *buffer, size_t length,
92 int ret = -errno;
93 LOG(IPCUnixSocket, Error)
94 << "Failed to sendmsg: " << strerror(-ret);
95+ free(buf);
96 return ret;
97 }
98
99+ free(buf);
100 return 0;
101 }
102
103@@ -283,8 +286,8 @@ int IPCUnixSocket::recvData(void *buffer, size_t length,
104 iov[0].iov_base = buffer;
105 iov[0].iov_len = length;
106
107- char buf[CMSG_SPACE(num * sizeof(uint32_t))];
108- memset(buf, 0, sizeof(buf));
109+ char *buf = (char*)malloc(CMSG_SPACE(num * sizeof(uint32_t)));
110+ memset((void*)buf, 0, sizeof(buf));
111
112 struct cmsghdr *cmsg = (struct cmsghdr *)buf;
113 cmsg->cmsg_len = CMSG_LEN(num * sizeof(uint32_t));
114@@ -305,12 +308,14 @@ int IPCUnixSocket::recvData(void *buffer, size_t length,
115 if (ret != -EAGAIN)
116 LOG(IPCUnixSocket, Error)
117 << "Failed to recvmsg: " << strerror(-ret);
118+ free(buf);
119 return ret;
120 }
121
122 if (fds)
123 memcpy(fds, CMSG_DATA(cmsg), num * sizeof(uint32_t));
124
125+ free(buf);
126 return 0;
127 }
128
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.3.0.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.4.0.bb
index 93f29c1612..c7fe631a43 100644
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.3.0.bb
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.4.0.bb
@@ -11,23 +11,23 @@ LIC_FILES_CHKSUM = "\
11SRC_URI = " \ 11SRC_URI = " \
12 git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \ 12 git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master \
13 file://0001-media_device-Add-bool-return-type-to-unlock.patch \ 13 file://0001-media_device-Add-bool-return-type-to-unlock.patch \
14 file://0002-options-Replace-use-of-VLAs-in-C.patch \ 14 file://0002-libcamera-Add-missing-stdint.h-include-to-dma_buf_al.patch \
15 file://0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch \
16" 15"
17 16
18SRCREV = "aee16c06913422a0ac84ee3217f87a9795e3c2d9" 17SRCREV = "35ed4b91291d9f3d08e4b51acfb51163e65df8f8"
19 18
20PE = "1" 19PE = "1"
21 20
22S = "${WORKDIR}/git"
23 21
24DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls chrpath-native libevent libyaml" 22DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls chrpath-native libevent libyaml"
25DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}" 23DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}"
26 24
27PACKAGES =+ "${PN}-gst" 25PACKAGES =+ "${PN}-gst ${PN}-pycamera"
28 26
29PACKAGECONFIG ??= "" 27PACKAGECONFIG ??= ""
28PACKAGECONFIG[dng] = ",,tiff"
30PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" 29PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
30PACKAGECONFIG[pycamera] = "-Dpycamera=enabled,-Dpycamera=disabled,python3 python3-pybind11"
31 31
32LIBCAMERA_PIPELINES ??= "auto" 32LIBCAMERA_PIPELINES ??= "auto"
33 33
@@ -45,7 +45,7 @@ RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayla
45inherit meson pkgconfig python3native 45inherit meson pkgconfig python3native
46 46
47do_configure:prepend() { 47do_configure:prepend() {
48 sed -i -e 's|py_compile=True,||' ${S}/utils/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py 48 sed -i -e 's|py_compile=True,||' ${S}/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
49} 49}
50 50
51do_install:append() { 51do_install:append() {
@@ -71,6 +71,7 @@ do_package_recalculate_ipa_signatures() {
71 71
72FILES:${PN} += " ${libexecdir}/libcamera/v4l2-compat.so" 72FILES:${PN} += " ${libexecdir}/libcamera/v4l2-compat.so"
73FILES:${PN}-gst = "${libdir}/gstreamer-1.0" 73FILES:${PN}-gst = "${libdir}/gstreamer-1.0"
74FILES:${PN}-pycamera = "${PYTHON_SITEPACKAGES_DIR}/libcamera"
74 75
75# libcamera-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to 76# libcamera-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
76# both 32 and 64 bit file APIs. 77# both 32 and 64 bit file APIs.
diff --git a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.15.bb
index 3c9f899491..a509337894 100644
--- a/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.12.bb
+++ b/meta-multimedia/recipes-multimedia/libde265/libde265_1.0.15.bb
@@ -9,13 +9,13 @@ LICENSE_FLAGS = "commercial"
9LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f" 9LIC_FILES_CHKSUM = "file://COPYING;md5=695b556799abb2435c97a113cdca512f"
10 10
11SRC_URI = "git://github.com/strukturag/libde265.git;branch=master;protocol=https" 11SRC_URI = "git://github.com/strukturag/libde265.git;branch=master;protocol=https"
12SRCREV = "a267c84707ab264928fa9b86de2ee749c48c318c" 12SRCREV = "17bb8d9fcea62db8cdeb0fc7ef8d15dbd19a22e4"
13 13
14S = "${WORKDIR}/git"
15 14
16EXTRA_OECONF = "--disable-sherlock265 --disable-dec265" 15inherit cmake pkgconfig
17 16
18inherit autotools-brokensep pkgconfig 17PACKAGECONFIG ?= "libsdl"
18PACKAGECONFIG[libsdl] = "-DENABLE_SDL=ON,-DENABLE_SDL=OFF,virtual/libsdl2"
19 19
20PACKAGES =+ "${PN}-tools" 20FILES:${PN} += "${libdir}/libde265.so"
21FILES:${PN}-tools = "${bindir}/*" 21FILES:${PN}-dev = "${includedir} ${libdir}/cmake ${libdir}/pkgconfig"
diff --git a/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb b/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
index 1e5381bb2c..93bdc63b56 100644
--- a/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
+++ b/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb
@@ -1,6 +1,6 @@
1SUMMARY = "Open implementation of the DVB Common Scrambling Algorithm, encrypt and decrypt " 1SUMMARY = "Open implementation of the DVB Common Scrambling Algorithm, encrypt and decrypt "
2SECTION = "libs/multimedia" 2SECTION = "libs/multimedia"
3LICENSE = "LGPL-2.1-or-later" 3LICENSE = "GPL-2.0-or-later"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" 4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5 5
6SRCREV = "bc6c0b164a87ce05e9925785cc6fb3f54c02b026" 6SRCREV = "bc6c0b164a87ce05e9925785cc6fb3f54c02b026"
@@ -9,7 +9,6 @@ SRC_URI = "git://code.videolan.org/videolan/libdvbcsa.git;protocol=https;branch=
9 file://libdvbcsa.pc \ 9 file://libdvbcsa.pc \
10" 10"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit autotools lib_package pkgconfig 13inherit autotools lib_package pkgconfig
15 14
diff --git a/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.8.bb b/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.8.bb
new file mode 100644
index 0000000000..a3f5f21406
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libheif/libheif_1.19.8.bb
@@ -0,0 +1,26 @@
1SUMMARY = "libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File Format) file format decoder and encoder"
2HOMEPAGE = "https://github.com/strukturag/libheif"
3LICENSE = "LGPL-3.0-only"
4LIC_FILES_CHKSUM = "file://COPYING;md5=9c0edc7369719b2c47d44e80ba74b4b7"
5LICENSE_FLAGS = "commercial"
6
7COMPATIBLE_MACHINE:powerpc64le = "null"
8
9SRC_URI = "git://github.com/strukturag/libheif.git;protocol=https;branch=master"
10
11SRCREV = "5e9deb19fe6b3768af0bb8e9e5e8438b15171bf3"
12
13inherit cmake pkgconfig
14
15DEPENDS += "gdk-pixbuf x265 libde265 tiff zlib libpng libwebp"
16PACKAGECONFIG += "dav1d jpeg jpeg2000 ffmpeg aom openh264"
17PACKAGECONFIG:remove:riscv32 = "openh264"
18PACKAGECONFIG[aom] = "-DWITH_AOM_ENCODER=ON -DWITH_AOM_DECODER=ON,-DWITH_AOM_ENCODER=OFF -DWITH_AOM_DECODER=OFF,aom"
19PACKAGECONFIG[dav1d] = "-DWITH_DAV1D=ON, -DWITH_DAV1D=OFF,dav1d"
20PACKAGECONFIG[svt-av1] = "-DWITH_SvtEnc=ON,-DWITH_SvtEnc=OFF,svt-av1"
21PACKAGECONFIG[jpeg] = "-DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON,-DWITH_JPEG_ENCODER=OFF -DWITH_JPEG_DECODER=OFF,jpeg"
22PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG_DECODER=ON,-DWITH_FFMPEG_DECODER=OFF,ffmpeg"
23PACKAGECONFIG[jpeg2000] = "-DWITH_OpenJPEG_ENCODER=ON -DWITH_OpenJPEG_DECODER=ON,-DWITH_OpenJPEG_ENCODER=OFF -DWITH_OpenJPEG_DECODER=OFF,openjpeg"
24PACKAGECONFIG[openh264] = ",,openh264"
25
26FILES:${PN} += "${libdir}/libheif ${datadir}/thumbnailers ${libdir}/gdk-pixbuf*"
diff --git a/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb b/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
index 7f531efc63..bcf91b5453 100644
--- a/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
+++ b/meta-multimedia/recipes-multimedia/liblc3/liblc3_1.0.4.bb
@@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
5 5
6SRC_URI = "git://github.com/google/liblc3.git;protocol=https;branch=main" 6SRC_URI = "git://github.com/google/liblc3.git;protocol=https;branch=main"
7 7
8S = "${WORKDIR}/git"
9SRCREV = "1a5938ebaca4f13fe79ce074f5dee079783aa29f" 8SRCREV = "1a5938ebaca4f13fe79ce074f5dee079783aa29f"
10 9
11inherit pkgconfig meson 10inherit pkgconfig meson
diff --git a/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb b/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.10.bb
index 8bb49b2f12..613147598a 100644
--- a/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.3.bb
+++ b/meta-multimedia/recipes-multimedia/libopenmpt/libopenmpt_0.7.10.bb
@@ -7,17 +7,16 @@ HOMEPAGE = "https://lib.openmpt.org/libopenmpt/"
7SECTION = "libs" 7SECTION = "libs"
8 8
9LICENSE = "BSD-3-Clause" 9LICENSE = "BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://LICENSE;md5=59f6e21f42e49919617267ff13a0b232" 10LIC_FILES_CHKSUM = "file://LICENSE;md5=829270a66f67187a1d08640df673249a"
11 11
12DEPENDS = "virtual/libiconv" 12DEPENDS = "virtual/libiconv"
13 13
14SRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \ 14SRC_URI = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${PV}+release.autotools.tar.gz \
15 file://run-ptest \ 15 file://run-ptest \
16 " 16 "
17SRC_URI[sha256sum] = "093713c1c1024f4f10c4779a66ceb2af51fb7c908a9e99feb892d04019220ba1"
17 18
18SRC_URI[sha256sum] = "2cf8369b7916b09264f3f14b9fb6cef35a6e9bee0328dec4f49d98211ccfd722" 19S = "${UNPACKDIR}/libopenmpt-${PV}+release.autotools"
19
20S = "${WORKDIR}/libopenmpt-${PV}+release.autotools"
21 20
22inherit autotools pkgconfig ptest 21inherit autotools pkgconfig ptest
23 22
@@ -37,7 +36,7 @@ PACKAGECONFIG[mpg123] = "--with-mpg123,--without-mpg123,mpg123"
37PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg" 36PACKAGECONFIG[ogg] = "--with-ogg,--without-ogg,libogg"
38PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19" 37PACKAGECONFIG[portaudio] = "--with-portaudio,--without-portaudio,portaudio-v19"
39PACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio" 38PACKAGECONFIG[pulseaudio] = "--with-pulseaudio,--without-pulseaudio,pulseaudio"
40PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,libsdl2" 39PACKAGECONFIG[sdl2] = "--with-sdl2,--without-sdl2,virtual/libsdl2"
41PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1" 40PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
42PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis" 41PACKAGECONFIG[vorbis] = "--with-vorbis,--without-vorbis,libvorbis"
43PACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis" 42PACKAGECONFIG[vorbisfile] = "--with-vorbisfile,--without-vorbisfile,libvorbis"
diff --git a/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb b/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
index 3d631ea0b6..d7325abd7a 100644
--- a/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
+++ b/meta-multimedia/recipes-multimedia/libsquish/libsquish_git.bb
@@ -10,7 +10,6 @@ SRC_URI = "git://github.com/OpenELEC/libsquish.git;protocol=https;branch=master
10 file://0001-Add-support-for-variable-libdir.patch \ 10 file://0001-Add-support-for-variable-libdir.patch \
11 " 11 "
12 12
13S = "${WORKDIR}/git"
14 13
15EXTRA_OEMAKE = "INSTALL_DIR=${D}${prefix} LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \ 14EXTRA_OEMAKE = "INSTALL_DIR=${D}${prefix} LIBDIR_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
16 ${@bb.utils.contains('TUNE_FEATURES', 'altivec', 'USE_ALTIVEC=1', '', d)}" 15 ${@bb.utils.contains('TUNE_FEATURES', 'altivec', 'USE_ALTIVEC=1', '', d)}"
diff --git a/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb b/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
index b1572b32ac..10e64e9878 100644
--- a/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
+++ b/meta-multimedia/recipes-multimedia/libuvc/libuvc_0.0.7.bb
@@ -9,6 +9,5 @@ DEPENDS = "libusb jpeg"
9SRC_URI = "git://github.com/libuvc/libuvc.git;branch=master;protocol=https" 9SRC_URI = "git://github.com/libuvc/libuvc.git;branch=master;protocol=https"
10SRCREV = "68d07a00e11d1944e27b7295ee69673239c00b4b" 10SRCREV = "68d07a00e11d1944e27b7295ee69673239c00b4b"
11 11
12S = "${WORKDIR}/git"
13 12
14inherit cmake pkgconfig 13inherit cmake pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb b/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
index 76f51196aa..b9093d19bb 100644
--- a/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
+++ b/meta-multimedia/recipes-multimedia/mimic/mimic_1.3.0.1.bb
@@ -27,6 +27,5 @@ SRC_URI = "git://github.com/MycroftAI/mimic1.git;branch=master;protocol=https \
27 27
28inherit autotools pkgconfig 28inherit autotools pkgconfig
29 29
30S = "${WORKDIR}/git"
31 30
32CPPFLAGS:append = " -Wno-error" 31CPPFLAGS:append = " -Wno-error"
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
index aabf81dce0..cb2a1865e8 100644
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc
@@ -11,17 +11,19 @@ inherit gettext autotools-brokensep update-rc.d systemd
11SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \ 11SRC_URI = "git://git.code.sf.net/p/minidlna/git;branch=master;module=git \
12 file://minidlna-daemon.init.d \ 12 file://minidlna-daemon.init.d \
13 file://minidlna.service \ 13 file://minidlna.service \
14 file://0001-Update-Gettext-version.patch \
15 file://0001-configure-Check-for-clock_gettime-seprately-from-__N.patch \ 14 file://0001-configure-Check-for-clock_gettime-seprately-from-__N.patch \
16 file://0001-configure.ac-drop-non-standard-checks.patch \ 15 file://0001-Add-compatibility-with-FFMPEG-7.0.patch \
17 " 16 "
18 17
19S = "${WORKDIR}/git"
20 18
21# This remove "--exclude=autopoint" option from autoreconf argument to avoid 19# This remove "--exclude=autopoint" option from autoreconf argument to avoid
22# configure.ac:30: error: required file './ABOUT-NLS' not found 20# configure.ac:30: error: required file './ABOUT-NLS' not found
23EXTRA_AUTORECONF = "" 21EXTRA_AUTORECONF = ""
24 22
23# Reproducibility: force os-name and os-version to constants to avoid host
24# related build differences
25EXTRA_OECONF = "--with-os-name='${DISTRO_NAME}' --with-os-version=''"
26
25do_install:append(){ 27do_install:append(){
26 install -d ${D}${sysconfdir} 28 install -d ${D}${sysconfdir}
27 install -m 0755 minidlna.conf ${D}${sysconfdir} 29 install -m 0755 minidlna.conf ${D}${sysconfdir}
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Add-compatibility-with-FFMPEG-7.0.patch b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Add-compatibility-with-FFMPEG-7.0.patch
new file mode 100644
index 0000000000..f9d9c694bc
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Add-compatibility-with-FFMPEG-7.0.patch
@@ -0,0 +1,49 @@
1From 92f8b94c697c225fb31062586f817c4fc3df8c2a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 29 Aug 2024 13:22:33 -0700
4Subject: [PATCH] Add compatibility with FFMPEG 7.0
5
6channel_layout has been replaced with ch_layout
7
8Upstream-Status: Submitted [https://sourceforge.net/p/minidlna/git/merge-requests/59/]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 libav.h | 9 +++++++++
12 1 file changed, 9 insertions(+)
13
14diff --git a/libav.h b/libav.h
15index b69752c..a3153bd 100644
16--- a/libav.h
17+++ b/libav.h
18@@ -58,6 +58,7 @@
19 #endif
20
21 #define USE_CODECPAR LIBAVFORMAT_VERSION_INT >= ((57<<16)+(50<<8)+100)
22+#define USE_CH_LAYOUT (LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(57, 28, 100))
23
24 #ifndef FF_PROFILE_H264_BASELINE
25 #define FF_PROFILE_H264_BASELINE 66
26@@ -174,7 +175,11 @@ lav_get_interlaced(AVStream *s)
27 #define lav_codec_tag(s) s->codecpar->codec_tag
28 #define lav_sample_rate(s) s->codecpar->sample_rate
29 #define lav_bit_rate(s) s->codecpar->bit_rate
30+#if USE_CH_LAYOUT
31+#define lav_channels(s) s->codecpar->ch_layout.nb_channels
32+#else
33 #define lav_channels(s) s->codecpar->channels
34+#endif
35 #define lav_width(s) s->codecpar->width
36 #define lav_height(s) s->codecpar->height
37 #define lav_profile(s) s->codecpar->profile
38@@ -186,7 +191,11 @@ lav_get_interlaced(AVStream *s)
39 #define lav_codec_tag(s) s->codec->codec_tag
40 #define lav_sample_rate(s) s->codec->sample_rate
41 #define lav_bit_rate(s) s->codec->bit_rate
42+#if USE_CH_LAYOUT
43+#define lav_channels(s) s->codec->ch_layout.nb_channels
44+#else
45 #define lav_channels(s) s->codec->channels
46+#endif
47 #define lav_width(s) s->codec->width
48 #define lav_height(s) s->codec->height
49 #define lav_profile(s) s->codec->profile
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
deleted file mode 100644
index 6100da3581..0000000000
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-Update-Gettext-version.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From a4290bf1887f9203288858ca76bdd20b2edf337a Mon Sep 17 00:00:00 2001
2From: Baptiste Durand <baptiste.durand@gmail.com>
3Date: Sun, 9 Sep 2018 20:50:41 +0200
4Subject: [PATCH] Update Gettext version
5
6Upstream-Status: Inappropriate [oe-core specific]
7
8Signed-off-by: Baptiste Durand <baptiste.durand@gmail.com>
9---
10 configure.ac | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13--- a/configure.ac
14+++ b/configure.ac
15@@ -14,7 +14,7 @@
16 # License along with MiniDLNA; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18 # USA.
19-AC_INIT(MiniDLNA,1.1.3,,minidlna)
20+AC_INIT(MiniDLNA,1.2.1,,minidlna)
21 #LT_INIT
22
23 AC_CANONICAL_TARGET
24@@ -28,7 +28,7 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], [AC
25
26 AM_ICONV
27 AM_GNU_GETTEXT([external])
28-AM_GNU_GETTEXT_VERSION(0.18)
29+AM_GNU_GETTEXT_VERSION(0.20)
30
31 # Checks for programs.
32 AC_PROG_AWK
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch b/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch
deleted file mode 100644
index 93334b7dab..0000000000
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna/0001-configure.ac-drop-non-standard-checks.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 83425344b2d7339e8f5b0ad230c51278d330d613 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sat, 22 Jan 2022 11:41:50 +0100
4Subject: [PATCH] configure.ac: drop non-standard checks
5
6Not sure what upstream is trying to do here but it does not work
7with the latest autoconf.
8
9Upstream-Status: Inactive-Upstream
10Signed-off-by: Alexander Kanavin <alex@linutronix.de>
11---
12 configure.ac | 5 -----
13 1 file changed, 5 deletions(-)
14
15diff --git a/configure.ac b/configure.ac
16index aa7dd1c..858db52 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -418,7 +418,6 @@ for dir in "" /usr/local $SEARCH_DIR; do
20 AC_CHECK_LIB([id3tag -lz], [id3_file_open], [LIBID3TAG_LIBS="-lid3tag -lz"], [unset ac_cv_lib_id3tag_id3_file_open; LDFLAGS="$LDFLAGS_SAVE"; continue])
21 break
22 done
23-test x"$ac_cv_lib_id3tag__lz___id3_file_open" = x"yes" || AC_MSG_ERROR([Could not find libid3tag])
24 AC_SUBST(LIBID3TAG_LIBS)
25
26 LDFLAGS_SAVE="$LDFLAGS"
27@@ -444,10 +443,6 @@ for dir in "" /usr/local $SEARCH_DIR; do
28 [unset ac_cv_lib_avformat_av_open_input_file; unset ac_cv_lib_avformat_avformat_open_input; LDFLAGS="$LDFLAGS_SAVE"; continue])])
29 break
30 done
31-if test x"$ac_cv_lib_avformat__lavcodec__lavutil__lz___av_open_input_file" != x"yes" &&
32- test x"$ac_cv_lib_avformat__lavcodec__lavutil__lz___avformat_open_input" != x"yes"; then
33- AC_MSG_ERROR([Could not find libavformat - part of ffmpeg])
34-fi
35 AC_SUBST(LIBAVFORMAT_LIBS)
36
37 AC_CHECK_LIB(pthread, pthread_create)
diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.0.bb b/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.3.bb
index 4238918c97..da0d90a993 100644
--- a/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.0.bb
+++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna_1.3.3.bb
@@ -1,4 +1,4 @@
1require ${BPN}.inc 1require ${BPN}.inc
2 2
3SRCREV = "109d63cb11ac207c18a784556834eb054b34b00b" 3SRCREV = "1a9b32ee7a1c89e54e9f148199b73f9b33ad45ba"
4LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b" 4LIC_FILES_CHKSUM = "file://LICENCE.miniupnpd;md5=b0dabf9d8e0f871554e309d62ead8d2b"
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index 2b373d31e5..1ae43e8aef 100644
--- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -12,7 +12,6 @@ SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol
12 file://0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch \ 12 file://0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch \
13 " 13 "
14 14
15S = "${WORKDIR}/git"
16 15
17inherit cmake pkgconfig 16inherit cmake pkgconfig
18 17
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
index 3a4b3aa1a0..5abfacc24b 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Music Player Daemon library" 1SUMMARY = "Music Player Daemon library"
2LICENSE = "GPL-2.0-only" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" 3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4HOMEPAGE ="http://sourceforge.net/projects/musicpd" 4HOMEPAGE = "http://sourceforge.net/projects/musicpd"
5DEPENDS = "glib-2.0" 5DEPENDS = "glib-2.0"
6 6
7SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \ 7SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \
diff --git a/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.20.bb b/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.22.bb
index 2746c6bb80..a9dae6073a 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.20.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/libmpdclient_2.22.bb
@@ -9,7 +9,6 @@ SRC_URI = " \
9 git://github.com/MusicPlayerDaemon/libmpdclient;branch=master;protocol=https \ 9 git://github.com/MusicPlayerDaemon/libmpdclient;branch=master;protocol=https \
10" 10"
11SRCREV = "7124a0ad4841a44db084bb785a6e7120bc8f0139" 11SRCREV = "7124a0ad4841a44db084bb785a6e7120bc8f0139"
12S = "${WORKDIR}/git"
13 12
14PACKAGECONFIG ??= "tcp" 13PACKAGECONFIG ??= "tcp"
15PACKAGECONFIG[tcp] = "-Dtcp=true,-Dtcp=false" 14PACKAGECONFIG[tcp] = "-Dtcp=true,-Dtcp=false"
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpc_0.34.bb b/meta-multimedia/recipes-multimedia/musicpd/mpc_0.35.bb
index 93df25ee2f..6f337febb3 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/mpc_0.34.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpc_0.35.bb
@@ -10,4 +10,3 @@ DEPENDS += "libmpdclient"
10SRC_URI = "git://github.com/MusicPlayerDaemon/mpc;branch=master;protocol=https" 10SRC_URI = "git://github.com/MusicPlayerDaemon/mpc;branch=master;protocol=https"
11SRCREV = "31c900b79b3a1cd7f2944e92f24223d12589fdaa" 11SRCREV = "31c900b79b3a1cd7f2944e92f24223d12589fdaa"
12 12
13S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch b/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch
deleted file mode 100644
index b2dea331ef..0000000000
--- a/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From e62fd0eefe8b475e70d87a673a7216aac3bb622f Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Mon, 20 Nov 2023 17:49:59 +0100
4Subject: [PATCH] patch src_decoder_plugins_FfmpegIo.cxx
5
6Signed-off-by: Markus Volk <f_l_k@t-online.de>
7Upstream-Status: Pending [https://github.com/MusicPlayerDaemon/MPD/issues/1898]
8---
9 src/decoder/plugins/FfmpegIo.cxx | 1 +
10 1 file changed, 1 insertion(+)
11
12diff --git a/src/decoder/plugins/FfmpegIo.cxx b/src/decoder/plugins/FfmpegIo.cxx
13index 572f1a86a..3e2347fec 100644
14--- a/src/decoder/plugins/FfmpegIo.cxx
15+++ b/src/decoder/plugins/FfmpegIo.cxx
16@@ -25,6 +25,7 @@
17 #include "input/InputStream.hxx"
18
19 extern "C" {
20+#include <libavutil/error.h>
21 #include <libavutil/mem.h>
22 }
23
24--
252.42.0
26
diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.3.bb
index 33155da7d2..d1dd4d7442 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.24.3.bb
@@ -2,12 +2,13 @@ SUMMARY = "Music Player Daemon"
2LICENSE = "GPL-2.0-only" 2LICENSE = "GPL-2.0-only"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" 3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4 4
5HOMEPAGE ="http://www.musicpd.org" 5HOMEPAGE = "http://www.musicpd.org"
6 6
7inherit meson useradd systemd pkgconfig 7inherit meson useradd systemd pkgconfig
8 8
9DEPENDS += " \ 9DEPENDS += " \
10 curl \ 10 curl \
11 fmt \
11 sqlite3 \ 12 sqlite3 \
12 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ 13 ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \
13 yajl \ 14 yajl \
@@ -15,17 +16,20 @@ DEPENDS += " \
15 icu \ 16 icu \
16 dbus \ 17 dbus \
17 expat \ 18 expat \
18 fmt \
19" 19"
20 20
21SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \ 21SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \
22 file://0001-patch-src_decoder_plugins_FfmpegIo.cxx.patch \
23 file://mpd.conf.in \ 22 file://mpd.conf.in \
24 " 23 "
25SRCREV = "feac1a3f56591ccfb00870aba66c9ac3abac4773" 24SRCREV = "063abb31a68f7ee92a246256eec4234ab8b7ed8b"
26S = "${WORKDIR}/git"
27 25
28EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}" 26
27EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)} \
28 -Dadplug=disabled \
29 -Dsndio=disabled \
30 -Dshine=disabled \
31 -Dtremor=disabled \
32"
29 33
30PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \ 34PACKAGECONFIG ??= "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "aac", "", d)} \
31 alsa ao bzip2 daemon \ 35 alsa ao bzip2 daemon \
diff --git a/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb b/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
index d93c054f45..626897aa3b 100644
--- a/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
+++ b/meta-multimedia/recipes-multimedia/musicpd/ncmpc_0.49.bb
@@ -34,4 +34,3 @@ PACKAGECONFIG[chat_screen] = "-Dchat_screen=true,-Dchat_screen=false"
34 34
35SRC_URI = "git://github.com/MusicPlayerDaemon/ncmpc;branch=master;protocol=https" 35SRC_URI = "git://github.com/MusicPlayerDaemon/ncmpc;branch=master;protocol=https"
36SRCREV = "f81f875fc5785383d24f54fb9bd3cf06efd915a4" 36SRCREV = "f81f875fc5785383d24f54fb9bd3cf06efd915a4"
37S = "${WORKDIR}/git"
diff --git a/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
index 8bedc693ba..bdc4d7280c 100644
--- a/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
+++ b/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb
@@ -20,7 +20,6 @@ SRC_URI = "git://github.com/MycroftAI/mycroft-core.git;branch=master;protocol=ht
20 file://mycroft.service \ 20 file://mycroft.service \
21 " 21 "
22 22
23S = "${WORKDIR}/git"
24 23
25inherit systemd features_check 24inherit systemd features_check
26 25
diff --git a/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb b/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
index 36885f29e2..6ac74748be 100644
--- a/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
+++ b/meta-multimedia/recipes-multimedia/nv-codec-headers/nv-codec-headers_12.1.14.0.bb
@@ -8,7 +8,6 @@ SRC_URI = " \
8 file://0001-Makefile-add-clean-target.patch \ 8 file://0001-Makefile-add-clean-target.patch \
9" 9"
10SRCREV = "1889e62e2d35ff7aa9baca2bceb14f053785e6f1" 10SRCREV = "1889e62e2d35ff7aa9baca2bceb14f053785e6f1"
11S = "${WORKDIR}/git"
12 11
13EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} LIBDIR=${baselib}" 12EXTRA_OEMAKE = "PREFIX=${prefix} DESTDIR=${D} LIBDIR=${baselib}"
14 13
diff --git a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.24.3.bb
index 83745703f5..4204017c20 100644
--- a/meta-multimedia/recipes-multimedia/openal/openal-soft_1.23.1.bb
+++ b/meta-multimedia/recipes-multimedia/openal/openal-soft_1.24.3.bb
@@ -7,10 +7,9 @@ inherit cmake pkgconfig
7 7
8DEPENDS = "zlib libsndfile1" 8DEPENDS = "zlib libsndfile1"
9 9
10SRCREV = "d3875f333fb6abe2f39d82caca329414871ae53b" 10SRCREV = "dc7d7054a5b4f3bec1dc23a42fd616a0847af948"
11SRC_URI = "git://github.com/kcat/openal-soft.git;protocol=https;branch=master" 11SRC_URI = "git://github.com/kcat/openal-soft.git;protocol=https;branch=master"
12 12
13S = "${WORKDIR}/git"
14 13
15PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pipewire pulseaudio', d)}" 14PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pipewire pulseaudio', d)}"
16PACKAGECONFIG[alsa] = "-DALSOFT_BACKEND_ALSA=ON,-DALSOFT_BACKEND_ALSA=OFF,alsa-lib" 15PACKAGECONFIG[alsa] = "-DALSOFT_BACKEND_ALSA=ON,-DALSOFT_BACKEND_ALSA=OFF,alsa-lib"
@@ -18,6 +17,6 @@ PACKAGECONFIG[oss] = "-DALSOFT_BACKEND_OSS=ON,-DALSOFT_BACKEND_OSS=OFF"
18PACKAGECONFIG[pulseaudio] = "-DALSOFT_BACKEND_PULSEAUDIO=ON,-DALSOFT_BACKEND_PULSEAUDIO=OFF,pulseaudio" 17PACKAGECONFIG[pulseaudio] = "-DALSOFT_BACKEND_PULSEAUDIO=ON,-DALSOFT_BACKEND_PULSEAUDIO=OFF,pulseaudio"
19PACKAGECONFIG[pipewire] = "-DALSOFT_BACKEND_PIPEWIRE=ON,-DALSOFT_BACKEND_PIPEWIRE=OFF,pipewire" 18PACKAGECONFIG[pipewire] = "-DALSOFT_BACKEND_PIPEWIRE=ON,-DALSOFT_BACKEND_PIPEWIRE=OFF,pipewire"
20PACKAGECONFIG[examples] = "-DALSOFT_EXAMPLES=ON,-DALSOFT_EXAMPLES=OFF" 19PACKAGECONFIG[examples] = "-DALSOFT_EXAMPLES=ON,-DALSOFT_EXAMPLES=OFF"
21PACKAGECONFIG[sdl2] = "-DALSOFT_BACKEND_SDL2=ON,-DALSOFT_BACKEND_SDL2=OFF,libsdl2 ffmpeg" 20PACKAGECONFIG[sdl2] = "-DALSOFT_BACKEND_SDL2=ON,-DALSOFT_BACKEND_SDL2=OFF,virtual/libsdl2 ffmpeg"
22 21
23FILES:${PN} += "${datadir}" 22FILES:${PN} += "${datadir}"
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch b/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch
deleted file mode 100644
index 92f32948b2..0000000000
--- a/meta-multimedia/recipes-multimedia/openh264/openh264/0001-Makefile-Use-cp-options-to-preserve-file-mode.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 1c3bda45c55d2334af384caf9e7f240b7aaf2eb5 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 3 Mar 2020 22:28:25 -0800
4Subject: [PATCH] Makefile: Use cp options to preserve file mode
5
6This fixes packaging issues e.g.
7openh264: /usr/lib/libopenh264.so is owned by uid 1000, which is the same as the user running bitbake
8
9Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3245]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 Makefile | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/Makefile b/Makefile
16index 74ff029d..ac643412 100644
17--- a/Makefile
18+++ b/Makefile
19@@ -306,8 +306,8 @@ install-shared: $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) install-headers $
20 mkdir -p $(DESTDIR)$(SHAREDLIB_DIR)
21 install -m 755 $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXFULLVER) $(DESTDIR)$(SHAREDLIB_DIR)
22 if [ "$(SHAREDLIBSUFFIXFULLVER)" != "$(SHAREDLIBSUFFIX)" ]; then \
23- cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \
24- cp -a $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \
25+ cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIXMAJORVER) $(DESTDIR)$(SHAREDLIB_DIR) ; \
26+ cp -R --no-dereference --preserve=mode,links $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX) $(DESTDIR)$(SHAREDLIB_DIR) ; \
27 fi
28 mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig
29 install -m 644 $(PROJECT_NAME).pc $(DESTDIR)$(PREFIX)/$(LIBDIR_NAME)/pkgconfig
30--
312.25.1
32
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch b/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch
deleted file mode 100644
index 298ac1c013..0000000000
--- a/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch
+++ /dev/null
@@ -1,103 +0,0 @@
1From bc3a3baeaccfe9c1286848b348baf92dfbd05346 Mon Sep 17 00:00:00 2001
2From: Benjamin Bara <benjamin.bara@skidata.com>
3Date: Thu, 31 Aug 2023 09:27:31 +0200
4Subject: [PATCH 2/2] Makefile: add possibility to disable NEON extension
5
6README states that the NEON extension is optional. However, currently it
7cannot be turned off, therefore add an option to disable it.
8
9Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3679]
10Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
11---
12 Makefile | 1 +
13 build/arch.mk | 4 ++++
14 build/msvc-common.mk | 10 ++++++++--
15 build/platform-mingw_nt.mk | 5 ++++-
16 4 files changed, 17 insertions(+), 3 deletions(-)
17
18diff --git a/Makefile b/Makefile
19index baed53a7..cc22c4aa 100644
20--- a/Makefile
21+++ b/Makefile
22@@ -35,6 +35,7 @@ CCASFLAGS=$(CFLAGS)
23 STATIC_LDFLAGS=-lstdc++
24 STRIP ?= strip
25 USE_STACK_PROTECTOR = Yes
26+USE_NEON=Yes
27
28 SHAREDLIB_MAJORVERSION=7
29 FULL_VERSION := 2.3.1
30diff --git a/build/arch.mk b/build/arch.mk
31index 4e1538c4..fd6a81e4 100644
32--- a/build/arch.mk
33+++ b/build/arch.mk
34@@ -17,18 +17,22 @@ ifneq ($(filter-out arm64 arm64e, $(filter arm%, $(ARCH))),)
35 ifeq ($(USE_ASM), Yes)
36 ASM_ARCH = arm
37 ASMFLAGS += -I$(SRC_PATH)codec/common/arm/
38+ifeq ($(USE_NEON), Yes)
39 CFLAGS += -DHAVE_NEON
40 endif
41 endif
42+endif
43
44 #for arm64
45 ifneq ($(filter arm64 aarch64 arm64e, $(ARCH)),)
46 ifeq ($(USE_ASM), Yes)
47 ASM_ARCH = arm64
48 ASMFLAGS += -I$(SRC_PATH)codec/common/arm64/
49+ifeq ($(USE_NEON), Yes)
50 CFLAGS += -DHAVE_NEON_AARCH64
51 endif
52 endif
53+endif
54
55 #for mips
56 ifneq ($(filter mips mips64, $(ARCH)),)
57diff --git a/build/msvc-common.mk b/build/msvc-common.mk
58index 5891ea4e..5a1e2582 100644
59--- a/build/msvc-common.mk
60+++ b/build/msvc-common.mk
61@@ -10,7 +10,10 @@ else
62 endif
63 ifeq ($(ASM_ARCH), arm)
64 CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
65-CCASFLAGS = -nologo -DHAVE_NEON -ignore 4509
66+CCASFLAGS = -nologo -ignore 4509
67+ifeq ($(USE_NEON), Yes)
68+CCASFLAGS += -DHAVE_NEON
69+endif
70 endif
71
72 CC=cl
73@@ -20,7 +23,10 @@ CXX_O=-Fo$@
74
75 ifeq ($(ASM_ARCH), arm64)
76 CCAS = clang-cl
77-CCASFLAGS = -nologo -DHAVE_NEON_AARCH64 --target=arm64-windows
78+CCASFLAGS = -nologo --target=arm64-windows
79+ifeq ($(USE_NEON), Yes)
80+CCASFLAGS += -DHAVE_NEON_AARCH64
81+endif
82 endif
83
84
85diff --git a/build/platform-mingw_nt.mk b/build/platform-mingw_nt.mk
86index b7a5495d..d73e362a 100644
87--- a/build/platform-mingw_nt.mk
88+++ b/build/platform-mingw_nt.mk
89@@ -17,7 +17,10 @@ endif
90 endif
91 ifeq ($(ASM_ARCH), arm)
92 CCAS = gas-preprocessor.pl -as-type clang -force-thumb -- $(CC)
93-CCASFLAGS = -DHAVE_NEON -mimplicit-it=always
94+CCASFLAGS = -mimplicit-it=always
95+ifeq ($(USE_NEON), Yes)
96+CCASFLAGS += -DHAVE_NEON
97+endif
98 endif
99 EXEEXT = .exe
100
101--
1022.34.1
103
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
deleted file mode 100644
index 6dfd759355..0000000000
--- a/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
+++ /dev/null
@@ -1,55 +0,0 @@
1SUMMARY = "Open Source H.264 Codec"
2DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
3decoding. It is suitable for use in real time applications such as WebRTC."
4HOMEPAGE = "http://www.openh264.org/"
5SECTION = "libs/multimedia"
6
7DEPENDS:append:x86 = " nasm-native"
8DEPENDS:append:x86-64 = " nasm-native"
9
10LICENSE = "BSD-2-Clause"
11LICENSE_FLAGS = "commercial"
12LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
13
14S = "${WORKDIR}/git"
15SRCREV = "0a48f4d2e9be2abb4fb01b4c3be83cf44ce91a6e"
16BRANCH = "openh264v${PV}"
17SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
18 file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
19 file://0002-Makefile-add-possibility-to-disable-NEON-extension.patch \
20 "
21
22COMPATIBLE_MACHINE:armv7a = "(.*)"
23COMPATIBLE_MACHINE:aarch64 = "(.*)"
24COMPATIBLE_MACHINE:x86 = "(.*)"
25COMPATIBLE_MACHINE:x86-64 = "(.*)"
26COMPATIBLE_MACHINE:mips = "(.*)"
27COMPATIBLE_MACHINE:mips64 = "(.*)"
28COMPATIBLE_MACHINE:powerpc64le = "null"
29
30EXTRA_OEMAKE:armv7a = "ARCH=arm"
31EXTRA_OEMAKE:armv7ve = "ARCH=arm"
32EXTRA_OEMAKE:aarch64 = "ARCH=arm64"
33EXTRA_OEMAKE:x86 = "ARCH=i386"
34EXTRA_OEMAKE:x86-64 = "ARCH=x86_64"
35EXTRA_OEMAKE:mips = "ARCH=mips"
36EXTRA_OEMAKE:mips64 = "ARCH=mips64"
37EXTRA_OEMAKE:riscv64 = "ARCH=riscv64"
38
39EXTRA_OEMAKE:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
40EXTRA_OEMAKE:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
41
42EXTRA_OEMAKE:append = " ENABLEPIC=Yes"
43do_configure() {
44 :
45}
46
47do_compile() {
48 oe_runmake
49}
50
51do_install() {
52 oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIBDIR_NAME=${baselib} SHAREDLIB_DIR=${libdir}
53}
54
55CLEANBROKEN = "1"
diff --git a/meta-multimedia/recipes-multimedia/openh264/openh264_2.6.0.bb b/meta-multimedia/recipes-multimedia/openh264/openh264_2.6.0.bb
new file mode 100644
index 0000000000..b210454efd
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/openh264/openh264_2.6.0.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Open Source H.264 Codec"
2DESCRIPTION = "OpenH264 is a codec library which supports H.264 encoding and \
3decoding. It is suitable for use in real time applications such as WebRTC."
4HOMEPAGE = "http://www.openh264.org/"
5SECTION = "libs/multimedia"
6LICENSE = "BSD-2-Clause"
7LICENSE_FLAGS = "commercial"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf"
9
10DEPENDS = " nasm-native"
11
12inherit meson pkgconfig
13
14SRCREV = "19120fcb8f89b16126e9cfee096b2f0751554fdc"
15BRANCH = "openh264v${PV}"
16SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
17 "
18
19COMPATIBLE_MACHINE:powerpc64le = "null"
20COMPATIBLE_MACHINE:riscv32 = "null"
diff --git a/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb b/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb
index b76c5ba01d..92df308ce0 100644
--- a/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb
+++ b/meta-multimedia/recipes-multimedia/opus-tools/opus-tools_0.2.bb
@@ -8,7 +8,7 @@ SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz"
8SRC_URI[md5sum] = "ff2d0536e960cabbfb8ca7c8c1759b6c" 8SRC_URI[md5sum] = "ff2d0536e960cabbfb8ca7c8c1759b6c"
9SRC_URI[sha256sum] = "b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86" 9SRC_URI[sha256sum] = "b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86"
10 10
11S = "${WORKDIR}/opus-tools-${PV}" 11S = "${UNPACKDIR}/opus-tools-${PV}"
12 12
13DEPENDS = "libopus libopusenc flac opusfile" 13DEPENDS = "libopus libopusenc flac opusfile"
14 14
diff --git a/meta-multimedia/recipes-multimedia/opusfile/opusfile/CVE-2022-47021.patch b/meta-multimedia/recipes-multimedia/opusfile/opusfile/CVE-2022-47021.patch
new file mode 100644
index 0000000000..48a7cab3f5
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/opusfile/opusfile/CVE-2022-47021.patch
@@ -0,0 +1,44 @@
1From 0a4cd796df5b030cb866f3f4a5e41a4b92caddf5 Mon Sep 17 00:00:00 2001
2From: Ralph Giles <giles@thaumas.net>
3Date: Tue, 6 Sep 2022 19:04:31 -0700
4Subject: [PATCH] Propagate allocation failure from ogg_sync_buffer.
5
6Instead of segfault, report OP_EFAULT if ogg_sync_buffer returns
7a null pointer. This allows more graceful recovery by the caller
8in the unlikely event of a fallible ogg_malloc call.
9
10We do check the return value elsewhere in the code, so the new
11checks make the code more consistent.
12
13Thanks to https://github.com/xiph/opusfile/issues/36 for reporting.
14
15Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
16Signed-off-by: Mark Harris <mark.hsj@gmail.com>
17
18CVE: CVE-2022-47021
19Upstream-Status: Backport [https://github.com/xiph/opusfile/commit/0a4cd796df5b030cb866f3f4a5e41a4b92caddf5]
20Signed-off-by: Peter Marko <peter.marko@siemens.com>
21---
22 src/opusfile.c | 2 ++
23 1 file changed, 2 insertions(+)
24
25diff --git a/src/opusfile.c b/src/opusfile.c
26index ca219b2..3c3c81e 100644
27--- a/src/opusfile.c
28+++ b/src/opusfile.c
29@@ -148,6 +148,7 @@ static int op_get_data(OggOpusFile *_of,int _nbytes){
30 int nbytes;
31 OP_ASSERT(_nbytes>0);
32 buffer=(unsigned char *)ogg_sync_buffer(&_of->oy,_nbytes);
33+ if(OP_UNLIKELY(buffer==NULL))return OP_EFAULT;
34 nbytes=(int)(*_of->callbacks.read)(_of->stream,buffer,_nbytes);
35 OP_ASSERT(nbytes<=_nbytes);
36 if(OP_LIKELY(nbytes>0))ogg_sync_wrote(&_of->oy,nbytes);
37@@ -1527,6 +1528,7 @@ static int op_open1(OggOpusFile *_of,
38 if(_initial_bytes>0){
39 char *buffer;
40 buffer=ogg_sync_buffer(&_of->oy,(long)_initial_bytes);
41+ if(OP_UNLIKELY(buffer==NULL))return OP_EFAULT;
42 memcpy(buffer,_initial_data,_initial_bytes*sizeof(*buffer));
43 ogg_sync_wrote(&_of->oy,(long)_initial_bytes);
44 }
diff --git a/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.12.bb b/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.12.bb
index c775cef5a1..9e1d80e8dd 100644
--- a/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.12.bb
+++ b/meta-multimedia/recipes-multimedia/opusfile/opusfile_0.12.bb
@@ -11,4 +11,6 @@ SRC_URI = "https://downloads.xiph.org/releases/opus/${BP}.tar.gz"
11SRC_URI[md5sum] = "45e8c62f6cd413395223c82f06bfa8ec" 11SRC_URI[md5sum] = "45e8c62f6cd413395223c82f06bfa8ec"
12SRC_URI[sha256sum] = "118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b" 12SRC_URI[sha256sum] = "118d8601c12dd6a44f52423e68ca9083cc9f2bfe72da7a8c1acb22a80ae3550b"
13 13
14SRC_URI += "file://CVE-2022-47021.patch"
15
14inherit autotools pkgconfig 16inherit autotools pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb b/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
index 672c8abc9a..4da9de3ff9 100644
--- a/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
+++ b/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb
@@ -51,10 +51,9 @@ RDEPENDS:packagegroup-meta-multimedia = "\
51 openal-soft \ 51 openal-soft \
52 opusfile \ 52 opusfile \
53 opus-tools \ 53 opus-tools \
54 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", bb.utils.contains("DISTRO_FEATURES", "x11", "vlc", "", d), "", d)} \
55 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "sox streamripper", "", d)} \ 54 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "sox streamripper", "", d)} \
56 tinyalsa \ 55 tinyalsa \
57 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", bb.utils.contains_any("TRANSLATED_TARGET_ARCH", "i586 i686 x86-64", "x265", "", d), "", d)} \ 56 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "x265", "", d)} \
58" 57"
59RDEPENDS:packagegroup-meta-multimedia:remove:libc-musl = "projucer" 58RDEPENDS:packagegroup-meta-multimedia:remove:libc-musl = "projucer"
60 59
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch
deleted file mode 100644
index ce381a78b3..0000000000
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From b1d911fdab4a583f276d18395037d90bfc305109 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 20 May 2024 18:12:23 -0700
4Subject: [PATCH] module-suspend-on-idle: Include time.h for struct timespec
5 decl
6
7This is flagged as error with gcc-14 on musl targets
8
9In file included from ../git/src/pipewire/loop.h:27,
10 from ../git/src/pipewire/core.h:44,
11 from ../git/src/modules/module-suspend-on-idle.c:26:
12../git/spa/include/spa/support/loop.h:184:37: warning: 'struct timespec' declared inside parameter list will not be visible outside of this definition or declaration
13 184 | struct timespec *value,
14 | ^~~~~~~~
15../git/src/modules/module-suspend-on-idle.c: In function 'node_state_changed':
16../git/src/modules/module-suspend-on-idle.c:110:69: error: passing argument 2 of 'main_loop->utils->update_timer' from incompatible pointer type [-Wincompatible-pointer-types]
17 110 | pw_loop_update_timer(main_loop, info->idle_timeout, &value, NULL, false);
18 | ^~~~~~
19 | |
20 | struct timespec *
21
22Upstream-Status: Inappropriate [Fixed in latest pipewire differently]
23
24Signed-off-by: Khem Raj <raj.khem@gmail.com>
25---
26 src/modules/module-suspend-on-idle.c | 1 +
27 1 file changed, 1 insertion(+)
28
29diff --git a/src/modules/module-suspend-on-idle.c b/src/modules/module-suspend-on-idle.c
30index e5c1fcb30..4dba3be71 100644
31--- a/src/modules/module-suspend-on-idle.c
32+++ b/src/modules/module-suspend-on-idle.c
33@@ -20,6 +20,7 @@
34 #include <string.h>
35 #include <stdio.h>
36 #include <errno.h>
37+#include <time.h>
38
39 #include "config.h"
40
41--
422.45.1
43
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
deleted file mode 100644
index 7c8afd3d51..0000000000
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb
+++ /dev/null
@@ -1,66 +0,0 @@
1SUMMARY = "Multimedia processing server for Linux"
2HOMEPAGE = "https://pipewire.org"
3SECTION = "multimedia"
4LICENSE = "LGPL-2.1-only"
5LIC_FILES_CHKSUM = " \
6 file://LICENSE;md5=d8153c6e65986f862a0550ca74a3ed73 \
7 file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
8"
9DEPENDS = "alsa-lib dbus udev"
10SRCREV = "14c11c0fe4d366bad4cfecdee97b6652ff9ed63d"
11PV = "0.2.7"
12
13SRC_URI = "git://github.com/PipeWire/pipewire;branch=master;protocol=https \
14 file://0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch \
15 "
16
17S = "${WORKDIR}/git"
18
19inherit meson pkgconfig systemd manpages
20
21PACKAGECONFIG ??= "\
22 ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
23 gstreamer \
24"
25
26PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
27PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
28PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxml-parser-perl-native"
29
30PACKAGES =+ "\
31 ${PN}-spa-plugins \
32 ${PN}-alsa \
33 ${PN}-config \
34 gstreamer1.0-${PN} \
35 lib${PN} \
36 lib${PN}-modules \
37"
38
39RDEPENDS:lib${PN} += "lib${PN}-modules ${PN}-spa-plugins"
40
41FILES:${PN} = "\
42 ${sysconfdir}/pipewire/pipewire.conf \
43 ${bindir}/pipewire* \
44 ${systemd_user_unitdir}/* \
45"
46FILES:lib${PN} = "\
47 ${libdir}/libpipewire-*.so.* \
48"
49FILES:lib${PN}-modules = "\
50 ${libdir}/pipewire-*/* \
51"
52FILES:${PN}-spa-plugins = "\
53 ${bindir}/spa-* \
54 ${libdir}/spa/* \
55"
56FILES:${PN}-alsa = "\
57 ${libdir}/alsa-lib/* \
58 ${datadir}/alsa/alsa.conf.d/50-pipewire.conf \
59"
60FILES:gstreamer1.0-${PN} = "\
61 ${libdir}/gstreamer-1.0/* \
62"
63
64CONFFILES:${PN} = "\
65 ${sysconfdir}/pipewire/pipewire.conf \
66"
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch
new file mode 100644
index 0000000000..e7a3e52617
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session/0001-pass-right-types-to-methods.patch
@@ -0,0 +1,53 @@
1From 97e0d7646c873ea3badfa604b3f084ed6208af97 Mon Sep 17 00:00:00 2001
2From: Wim Taymans <wtaymans@redhat.com>
3Date: Tue, 26 Nov 2024 13:37:06 +0100
4Subject: [PATCH] pass right types to methods
5
6
7Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/media-session/-/commit/e6243381cf2b7d0d33707627b4186f5580908752]
8Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
9---
10 src/access-flatpak.c | 2 +-
11 src/access-portal.c | 2 +-
12 src/default-routes.c | 2 +-
13 3 files changed, 3 insertions(+), 3 deletions(-)
14
15diff --git a/src/access-flatpak.c b/src/access-flatpak.c
16index afe780b2d..dd802d6eb 100644
17--- a/src/access-flatpak.c
18+++ b/src/access-flatpak.c
19@@ -114,7 +114,7 @@ static void object_update(void *data)
20 pw_log_info("%p: flatpak client %d granted 0x%08x permissions"
21 , impl, client->id, perms);
22 permissions[0] = PW_PERMISSION_INIT(PW_ID_ANY, perms);
23- pw_client_update_permissions(client->obj->obj.proxy,
24+ pw_client_update_permissions((struct pw_client*)client->obj->obj.proxy,
25 1, permissions);
26 client->active = true;
27 }
28diff --git a/src/access-portal.c b/src/access-portal.c
29index 92d95a26b..4e3a9f52a 100644
30--- a/src/access-portal.c
31+++ b/src/access-portal.c
32@@ -265,7 +265,7 @@ set_global_permissions(void *data, struct sm_object *object)
33 permissions[n_permissions++] =
34 PW_PERMISSION_INIT(object->id, allowed ? PW_PERM_ALL : 0);
35 pw_log_info("%p: object %d allowed:%d", impl, object->id, allowed);
36- pw_client_update_permissions(client->obj->obj.proxy,
37+ pw_client_update_permissions((struct pw_client*)client->obj->obj.proxy,
38 n_permissions, permissions);
39 }
40 return 0;
41diff --git a/src/default-routes.c b/src/default-routes.c
42index 5a842faf7..86f9e217b 100644
43--- a/src/default-routes.c
44+++ b/src/default-routes.c
45@@ -479,7 +479,7 @@ static int restore_route_params(struct device *dev, const char *val, const struc
46 if (pw_log_level_enabled(SPA_LOG_LEVEL_DEBUG))
47 spa_debug_pod(2, NULL, param);
48
49- pw_device_set_param((struct pw_node*)dev->obj->obj.proxy,
50+ pw_device_set_param((struct pw_device*)dev->obj->obj.proxy,
51 SPA_PARAM_Route, 0, param);
52
53 sm_media_session_schedule_rescan(dev->impl->session);
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb
index 8ae0624135..dde0039584 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.2.bb
@@ -10,9 +10,10 @@ DEPENDS = " \
10 dbus \ 10 dbus \
11" 11"
12 12
13SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master" 13SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master \
14 file://0001-pass-right-types-to-methods.patch \
15 "
14 16
15S = "${WORKDIR}/git"
16SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c" 17SRCREV = "80dae7e24bec02b2befe09a72fbac6e2b38ccb5c"
17 18
18inherit meson pkgconfig 19inherit meson pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.7.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.5.bb
index 0c68cc4d28..e41cfd221c 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.7.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.5.bb
@@ -12,10 +12,10 @@ LIC_FILES_CHKSUM = " \
12 12
13DEPENDS = "dbus ncurses" 13DEPENDS = "dbus ncurses"
14 14
15SRCREV = "59fe89d41a67f6daad086f8f3fe522935be77a3f" 15SRCREV = "83ada1e086f8fa49bf9652df2edd9ccee5efa48b"
16SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=1.0;protocol=https" 16BRANCH = "${@oe.utils.trim_version('${PV}', 2)}"
17SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https"
17 18
18S = "${WORKDIR}/git"
19 19
20inherit meson pkgconfig systemd gettext useradd 20inherit meson pkgconfig systemd gettext useradd
21 21
@@ -72,6 +72,9 @@ EXTRA_OEMESON += " \
72# mode but it looks like clang still does 72# mode but it looks like clang still does
73CFLAGS:append = " -Wno-typedef-redefinition" 73CFLAGS:append = " -Wno-typedef-redefinition"
74 74
75# Specify linking with -latomic on architectures missing 64bit atomics.
76LDFLAGS += "${@bb.utils.contains_any('TUNE_FEATURES', 'riscv32 armv5 mips ppc32 m32', '-latomic', '', d)}"
77
75# According to wireplumber documentation only one session manager should be installed at a time 78# According to wireplumber documentation only one session manager should be installed at a time
76# Possible options are media-session, which has fewer dependencies but is very simple, 79# Possible options are media-session, which has fewer dependencies but is very simple,
77# or wireplumber, which is more powerful. 80# or wireplumber, which is more powerful.
@@ -96,7 +99,7 @@ PACKAGECONFIG:class-target ??= " \
96# as being in conflict. 99# as being in conflict.
97PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile" 100PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile"
98PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" 101PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
99PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" 102PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc glib-2.0-native"
100PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac" 103PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac"
101PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus" 104PACKAGECONFIG[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus"
102PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3" 105PACKAGECONFIG[bluez-lc3] = "-Dbluez5-codec-lc3=enabled,-Dbluez5-codec-lc3=disabled,liblc3"
@@ -122,7 +125,7 @@ PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl"
122# Starting with version 0.3.60, readline usage can be turned off in pw-cli. 125# Starting with version 0.3.60, readline usage can be turned off in pw-cli.
123# If it is disabled, getline() is used as a fallback. 126# If it is disabled, getline() is used as a fallback.
124PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline" 127PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline"
125PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2" 128PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,virtual/libsdl2"
126PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" 129PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
127PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" 130PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
128PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd" 131PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsystemd-system-service=disabled,systemd"
@@ -135,7 +138,7 @@ PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
135PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" 138PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev"
136PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled" 139PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled"
137PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader" 140PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader"
138PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-1" 141PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing-2"
139PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session" 142PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session"
140 143
141PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " 144PACKAGESPLITFUNCS:prepend = " split_dynamic_packages "
@@ -157,6 +160,14 @@ remove_unused_installed_files() {
157 rm -f "${D}${datadir}/pipewire/minimal.conf" 160 rm -f "${D}${datadir}/pipewire/minimal.conf"
158} 161}
159 162
163do_install:append:class-target() {
164 # The pipewire-alsa plugin needs the following files in /etc/alsa/conf.d/ to
165 # be picked up by alsa.
166 install -d ${D}${sysconfdir}/alsa/conf.d
167 ln -sf ${datadir}/alsa/alsa.conf.d/50-pipewire.conf ${D}${sysconfdir}/alsa/conf.d/50-pipewire.conf
168 ln -sf ${datadir}/alsa/alsa.conf.d/99-pipewire-default.conf ${D}${sysconfdir}/alsa/conf.d/99-pipewire-default.conf
169}
170
160do_install[postfuncs] += "remove_unused_installed_files" 171do_install[postfuncs] += "remove_unused_installed_files"
161 172
162python split_dynamic_packages () { 173python split_dynamic_packages () {
@@ -279,6 +290,7 @@ CONFFILES:libpipewire += "${datadir}/pipewire/client.conf"
279FILES:libpipewire = " \ 290FILES:libpipewire = " \
280 ${datadir}/pipewire/client.conf \ 291 ${datadir}/pipewire/client.conf \
281 ${libdir}/libpipewire-*.so.* \ 292 ${libdir}/libpipewire-*.so.* \
293 ${libdir}/${SPA_SUBDIR}/libspa.so \
282" 294"
283# Add the bare minimum modules and plugins required to be able 295# Add the bare minimum modules and plugins required to be able
284# to use libpipewire. Without these, it is essentially unusable. 296# to use libpipewire. Without these, it is essentially unusable.
@@ -292,6 +304,7 @@ FILES:${PN}-tools = " \
292 ${bindir}/pw-cat \ 304 ${bindir}/pw-cat \
293 ${bindir}/pw-cli \ 305 ${bindir}/pw-cli \
294 ${bindir}/pw-config \ 306 ${bindir}/pw-config \
307 ${bindir}/pw-container \
295 ${bindir}/pw-dot \ 308 ${bindir}/pw-dot \
296 ${bindir}/pw-dsdplay \ 309 ${bindir}/pw-dsdplay \
297 ${bindir}/pw-dump \ 310 ${bindir}/pw-dump \
@@ -320,7 +333,9 @@ FILES:${PN}-pulse = " \
320 ${systemd_user_unitdir}/pipewire-pulse.* \ 333 ${systemd_user_unitdir}/pipewire-pulse.* \
321 ${bindir}/pipewire-pulse \ 334 ${bindir}/pipewire-pulse \
322" 335"
323RDEPENDS:${PN}-pulse += " \ 336# This uses :append:class-target rather than += to avoid a dependency from
337# pipewire-native to pipewire.
338RDEPENDS:${PN}-pulse:append:class-target = " \
324 ${PN}-modules-protocol-pulse \ 339 ${PN}-modules-protocol-pulse \
325" 340"
326 341
@@ -328,6 +343,8 @@ RDEPENDS:${PN}-pulse += " \
328FILES:${PN}-alsa = "\ 343FILES:${PN}-alsa = "\
329 ${libdir}/alsa-lib/* \ 344 ${libdir}/alsa-lib/* \
330 ${datadir}/alsa/alsa.conf.d/* \ 345 ${datadir}/alsa/alsa.conf.d/* \
346 ${sysconfdir}/alsa/conf.d/50-pipewire.conf \
347 ${sysconfdir}/alsa/conf.d/99-pipewire-default.conf \
331" 348"
332 349
333# JACK drop-in libraries to redirect audio to pipewire. 350# JACK drop-in libraries to redirect audio to pipewire.
@@ -386,3 +403,9 @@ FILES:gstreamer1.0-pipewire = " \
386" 403"
387 404
388BBCLASSEXTEND = "native nativesdk" 405BBCLASSEXTEND = "native nativesdk"
406
407do_install:append() {
408 if ls ${D}${datadir}/doc/pipewire/html/dir_*html; then
409 sed -i "s,${WORKDIR},,g" ${D}${datadir}/doc/pipewire/html/dir_*html
410 fi
411}
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
deleted file mode 100644
index 6e11c9752e..0000000000
--- a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump/fix-racing-build-issue.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1Make sure libdir (SODIR) is created when running parallel make.
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
6
7Index: git/librtmp/Makefile
8===================================================================
9--- git.orig/librtmp/Makefile
10+++ git/librtmp/Makefile
11@@ -115,6 +115,7 @@ install_base: librtmp.a librtmp.pc
12 cp librtmp.3 $(MANDIR)/man3
13
14 install_so: librtmp$(SO_EXT)
15+ -mkdir -p $(SODIR)
16 cp librtmp$(SO_EXT) $(SODIR)
17 $(INSTALL_IMPLIB)
18 cd $(SODIR); ln -sf librtmp$(SO_EXT) librtmp.$(SOX)
diff --git a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.6.bb
index aa92c58808..c02b45054f 100644
--- a/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.4.bb
+++ b/meta-multimedia/recipes-multimedia/rtmpdump/rtmpdump_2.6.bb
@@ -7,16 +7,29 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
7 7
8DEPENDS = "gnutls zlib" 8DEPENDS = "gnutls zlib"
9 9
10SRCREV = "fa8646daeb19dfd12c181f7d19de708d623704c0" 10PV .= "+git"
11SRCREV = "6f6bb1353fc84f4cc37138baa99f586750028a01"
11SRC_URI = " \ 12SRC_URI = " \
12 git://git.ffmpeg.org/rtmpdump;branch=master \ 13 git://git.ffmpeg.org/rtmpdump;branch=master \
13 file://fix-racing-build-issue.patch" 14"
14 15
15S = "${WORKDIR}/git"
16 16
17inherit autotools-brokensep 17CVE_STATUS_GROUPS += "CVES_2015"
18CVES_2015 = "CVE-2015-8270 CVE-2015-8271 CVE-2015-8272"
19CVES_2015[status] = "fixed-version: patched in current git hash"
18 20
19EXTRA_OEMAKE = " \ 21EXTRA_OEMAKE = " \
20 CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' XCFLAGS='${CFLAGS}' XLDFLAGS='${LDFLAGS}' \ 22 CC='${CC}' LD='${LD} ${STAGING_LIBDIR}' XCFLAGS='${CFLAGS}' XLDFLAGS='${LDFLAGS}' \
21 SYS=posix INC=-I=/usr/include DESTDIR=${D} CRYPTO=GNUTLS \ 23 SYS=posix INC=-I${STAGING_INCDIR} DESTDIR=${D} CRYPTO=GNUTLS \
22 prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}" 24 prefix=${prefix} libdir=${libdir} incdir=${includedir}/librtmp bindir=${bindir} mandir=${mandir}"
25
26do_configure() {
27}
28
29do_compile() {
30 oe_runmake
31}
32
33do_install() {
34 oe_runmake install
35}
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
index 5eba4da207..e650007f73 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb
@@ -9,8 +9,7 @@ SRC_URI[sha256sum] = "69fe2cfe7154a6e752688e3a0d7d6b07b1605bbaf75b56f6470dc7b4c2
9 9
10inherit allarch 10inherit allarch
11 11
12S = "${WORKDIR}/sources" 12S = "${UNPACKDIR}"
13UNPACKDIR = "${S}"
14 13
15do_install() { 14do_install() {
16 install -d ${D}${datadir}/movies 15 install -d ${D}${datadir}/movies
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
index 29e60cb0a8..945a27b233 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb
@@ -9,8 +9,7 @@ SRC_URI[sha256sum] = "40d1cf5bc8e1b0e55dac7bb2e3fbc2aea05b6679444864781299b24db0
9 9
10inherit allarch 10inherit allarch
11 11
12S = "${WORKDIR}/sources" 12S = "${UNPACKDIR}"
13UNPACKDIR = "${S}"
14 13
15do_install() { 14do_install() {
16 install -d ${D}${datadir}/movies 15 install -d ${D}${datadir}/movies
diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
index 50ea2e3c88..94787142b9 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb
@@ -9,8 +9,7 @@ SRC_URI[sha256sum] = "b957d6e6212638441b52d3b620af157cc8d40c2a0342669294854a06ed
9 9
10inherit allarch 10inherit allarch
11 11
12S = "${WORKDIR}/sources" 12S = "${UNPACKDIR}"
13UNPACKDIR = "${S}"
14 13
15do_install() { 14do_install() {
16 install -d ${D}${datadir}/movies 15 install -d ${D}${datadir}/movies
diff --git a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
index ed3ff75ac0..293c73135d 100644
--- a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
+++ b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb
@@ -8,8 +8,7 @@ SRC_URI[sha256sum] = "bd2b5bc6c16d4085034f47ef7e4b3938afe86b4eec4ac3cf2685367d3b
8 8
9inherit allarch 9inherit allarch
10 10
11S = "${WORKDIR}/sources" 11S = "${UNPACKDIR}"
12UNPACKDIR = "${S}"
13 12
14do_install() { 13do_install() {
15 install -d ${D}${datadir}/movies 14 install -d ${D}${datadir}/movies
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch
deleted file mode 100644
index 44c6b19be0..0000000000
--- a/meta-multimedia/recipes-multimedia/sox/sox/0001-Update-exported-symbol-list.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From b1809d82031aa7c5bcaad58bcb4b59e082e0446e Mon Sep 17 00:00:00 2001
2From: Mans Rullgard <mans@mansr.com>
3Date: Sun, 5 Nov 2017 15:40:16 +0000
4Subject: [PATCH] Update exported symbol list
5
6commit 5c58413544 ("Don't export (most) internal libsox symbols")
7breaks dynamic flac builds as flac.c references lsx.error, so add it
8to the list of exceptions.
9
10| .libs/flac.o: In function `decoder_read_callback':
11| /usr/src/debug/sox/14.4.2-r0/sox-14.4.2/src/flac.c:63: undefined reference to `lsx_error'
12
13Upstream-Status: Backport [https://bogomips.org/sox.git ("pu" branch)]
14
15---
16 src/Makefile.am | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/src/Makefile.am b/src/Makefile.am
20index 7cceaafd..a3a04ed1 100644
21--- a/src/Makefile.am
22+++ b/src/Makefile.am
23@@ -95,7 +95,7 @@ libsox_la_LIBADD += @GOMP_LIBS@
24
25 libsox_la_CFLAGS = @WARN_CFLAGS@
26 libsox_la_LDFLAGS = @APP_LDFLAGS@ -version-info @SHLIB_VERSION@ \
27- -export-symbols-regex '^(sox_.*|lsx_(check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|fail_errno|filelength|find_(enum_(text|value)|file_extension)|getopt(_init)?|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|realloc|rewind|seeki|sigfigs3p?|strcasecmp|tell|unreadb|write(b|_b_buf|buf|s)))$$'
28+ -export-symbols-regex '^(sox_.*|lsx_(([cm]|re)alloc|check_read_params|(close|open)_dllibrary|(debug(_more|_most)?|fail|report|warn)_impl|eof|error|fail_errno|filelength|find_(enum_(text|value)|file_extension)|flush|getopt(_init)?|id3_read_tag|lpc10_(create_(de|en)coder_state|(de|en)code)|raw(read|write)|read(_b_buf|buf|chars)|rewind|seeki|sigfigs3p?|strcasecmp|strdup|tell|unreadb|write(b|_b_buf|buf|s)))$$'
29
30 if HAVE_WIN32_LTDL
31 libsox_la_SOURCES += win32-ltdl.c win32-ltdl.h
32--
332.16.2
34
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
index 3085bd495c..15c429e515 100644
--- a/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
+++ b/meta-multimedia/recipes-multimedia/sox/sox/0001-remove-the-error-line-and-live-without-file-type-det.patch
@@ -15,7 +15,7 @@ diff --git a/src/formats.c b/src/formats.c
15index 724a4cda..f683a922 100644 15index 724a4cda..f683a922 100644
16--- a/src/formats.c 16--- a/src/formats.c
17+++ b/src/formats.c 17+++ b/src/formats.c
18@@ -422,7 +422,6 @@ static void UNUSED rewind_pipe(FILE * fp) 18@@ -477,7 +477,6 @@ static void UNUSED rewind_pipe(FILE * fp)
19 /* To fix this #error, either simply remove the #error line and live without 19 /* To fix this #error, either simply remove the #error line and live without
20 * file-type detection with pipes, or add support for your compiler in the 20 * file-type detection with pipes, or add support for your compiler in the
21 * lines above. Test with cat monkey.wav | ./sox --info - */ 21 * lines above. Test with cat monkey.wav | ./sox --info - */
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch
deleted file mode 100644
index 5f9135a0ee..0000000000
--- a/meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From afe336ab63ff9b64ef759255de6b03b897dc4453 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 19 May 2024 09:09:46 -0700
4Subject: [PATCH] tests: Include math.h for fabs() definition
5
6Fixes build with gcc-14
7
8../../sox-14.4.2/src/sox_sample_test.h:190:3: error: implicit declaration of function 'fabs' [-Wimplicit-function-declaration]
9 190 | assert(fabs(d - 1) < 1e-9 && clips == 0);
10 | ^~~~~~
11 ../../sox-14.4.2/src/sox_sample_test.h:23:1: note: include '<math.h>' or provide a declaration of 'fabs'
12
13Upstream-Status: Pending
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/sox_sample_test.h | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/src/sox_sample_test.h b/src/sox_sample_test.h
20index 62b55e4..17f0069 100644
21--- a/src/sox_sample_test.h
22+++ b/src/sox_sample_test.h
23@@ -19,6 +19,7 @@
24 #undef NDEBUG /* Must undef above assert.h or other that might include it. */
25 #endif
26 #include <assert.h>
27+#include <math.h>
28 #include "sox.h"
29
30 #define TEST_UINT(bits) \
31--
322.45.1
33
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-23159_CVE-2021-2317.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-23159_CVE-2021-2317.patch
new file mode 100644
index 0000000000..df27cbcd65
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-23159_CVE-2021-2317.patch
@@ -0,0 +1,32 @@
1From 8eb3afb37f80d7231a998e3074e6fc5f7bdfe4d5 Mon Sep 17 00:00:00 2001
2From: Helmut Grohne <helmut@subdivi.de>
3Date: Sun, 16 Mar 2025 20:28:15 +0100
4Subject: [PATCH] hcom: validate dictsize
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/CVE-2021-23159.patch
7
8CVE: CVE-2021-23159
9CVE: CVE-2021-23172
10CVE: CVE-2023-34432
11Upstream-Status: Inactive-Upstream [lastrelease: 2015]
12Signed-off-by: Peter Marko <peter.marko@siemens.com>
13---
14 src/hcom.c | 5 +++++
15 1 file changed, 5 insertions(+)
16
17diff --git a/src/hcom.c b/src/hcom.c
18index 594c8706..9e8b03c6 100644
19--- a/src/hcom.c
20+++ b/src/hcom.c
21@@ -141,6 +141,11 @@ static int startread(sox_format_t * ft)
22 return (SOX_EOF);
23 }
24 lsx_readw(ft, &dictsize);
25+ if (dictsize == 0 || dictsize > 511)
26+ {
27+ lsx_fail_errno(ft, SOX_EHDR, "Implausible dictionary size in HCOM header");
28+ return SOX_EOF;
29+ }
30
31 /* Translate to sox parameters */
32 ft->encoding.encoding = SOX_ENCODING_HCOM;
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-33844.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-33844.patch
new file mode 100644
index 0000000000..02c3edb35d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-33844.patch
@@ -0,0 +1,40 @@
1From f2597e433afeee8ab00cf6368ec8519df34aa031 Mon Sep 17 00:00:00 2001
2From: Helmut Grohne <helmut@subdivi.de>
3Date: Sun, 16 Mar 2025 23:19:43 +0100
4Subject: [PATCH] wav: reject 0 bits per sample to avoid division by zero
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/CVE-2021-33844.patch
7
8CVE: CVE-2021-33844
9Upstream-Status: Inactive-Upstream [lastrelease: 2015]
10Signed-off-by: Peter Marko <peter.marko@siemens.com>
11---
12 src/testall.sh | 1 +
13 src/wav.c | 5 +++++
14 2 files changed, 6 insertions(+)
15
16diff --git a/src/testall.sh b/src/testall.sh
17index e7398377..e1454c21 100755
18--- a/src/testall.sh
19+++ b/src/testall.sh
20@@ -67,3 +67,4 @@ t voc
21 t vox -r 8130
22 t wav
23 t wve
24+t wav -e gsm-full-rate
25diff --git a/src/wav.c b/src/wav.c
26index 3f6beb45..16f0bff8 100644
27--- a/src/wav.c
28+++ b/src/wav.c
29@@ -963,6 +963,11 @@ static int startread(sox_format_t *ft)
30 #endif
31 }
32
33+ if (ft->encoding.bits_per_sample == 0)
34+ {
35+ lsx_fail_errno(ft, SOX_EHDR, "WAV file bits per sample is zero");
36+ return SOX_EOF;
37+ }
38 if (!wav->numSamples)
39 wav->numSamples = div_bits(qwDataLength, ft->encoding.bits_per_sample)
40 / ft->signal.channels;
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-3643_CVE-2021-23210.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-3643_CVE-2021-23210.patch
new file mode 100644
index 0000000000..f58d2fd774
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-3643_CVE-2021-23210.patch
@@ -0,0 +1,30 @@
1From 5b9a7c0fc7054b4f16a5058eef721470e9adcfcc Mon Sep 17 00:00:00 2001
2From: Helmut Grohne <helmut@subdivi.de>
3Date: Sun, 16 Mar 2025 21:16:40 +0100
4Subject: [PATCH] voc: word width should never be 0 to avoid division by zero
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/CVE-2021-3643.patch
7
8CVE: CVE-2021-3643
9CVE: CVE-2021-23210
10Upstream-Status: Inactive-Upstream [lastrelease: 2015]
11Signed-off-by: Peter Marko <peter.marko@siemens.com>
12---
13 src/voc.c | 4 ++++
14 1 file changed, 4 insertions(+)
15
16diff --git a/src/voc.c b/src/voc.c
17index a75639e9..0ca07f94 100644
18--- a/src/voc.c
19+++ b/src/voc.c
20@@ -625,6 +625,10 @@ static int getblock(sox_format_t * ft)
21 v->rate = new_rate_32;
22 ft->signal.rate = new_rate_32;
23 lsx_readb(ft, &uc);
24+ if (uc <= 1) {
25+ lsx_fail_errno(ft, SOX_EFMT, "2 bits per word required");
26+ return (SOX_EOF);
27+ }
28 v->size = uc;
29 lsx_readb(ft, &uc);
30 if (v->channels != -1 && uc != v->channels) {
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-40426.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-40426.patch
new file mode 100644
index 0000000000..9e505a03a7
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2021-40426.patch
@@ -0,0 +1,38 @@
1From 25f686e0da423326a74fe16c603b6b6b75857fa4 Mon Sep 17 00:00:00 2001
2From: Helmut Grohne <helmut@subdivi.de>
3Date: Sun, 16 Mar 2025 20:07:19 +0100
4Subject: [PATCH] sphere: avoid integer underflow
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/CVE-2021-40426.patch
7
8CVE: CVE-2021-40426
9Upstream-Status: Inactive-Upstream [lastrelease: 2015]
10Signed-off-by: Peter Marko <peter.marko@siemens.com>
11---
12 src/sphere.c | 6 ++++--
13 1 file changed, 4 insertions(+), 2 deletions(-)
14
15diff --git a/src/sphere.c b/src/sphere.c
16index a3fd1c64..9544d160 100644
17--- a/src/sphere.c
18+++ b/src/sphere.c
19@@ -63,7 +63,8 @@ static int start_read(sox_format_t * ft)
20 return (SOX_EOF);
21 }
22
23- header_size -= (strlen(buf) + 1);
24+ bytes_read = strlen(buf);
25+ header_size -= bytes_read >= header_size ? header_size : bytes_read + 1;
26
27 while (strncmp(buf, "end_head", (size_t)8) != 0) {
28 if (strncmp(buf, "sample_n_bytes", (size_t)14) == 0)
29@@ -105,7 +106,8 @@ static int start_read(sox_format_t * ft)
30 return (SOX_EOF);
31 }
32
33- header_size -= (strlen(buf) + 1);
34+ bytes_read = strlen(buf);
35+ header_size -= bytes_read >= header_size ? header_size : bytes_read + 1;
36 }
37
38 if (!bytes_per_sample)
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31650.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31650.patch
new file mode 100644
index 0000000000..41baad0e27
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31650.patch
@@ -0,0 +1,60 @@
1From 3a8e783c58499bb52052c671b9161c43e011a508 Mon Sep 17 00:00:00 2001
2From: Helmut Grohne <helmut@subdivi.de>
3Date: Sun, 16 Mar 2025 20:08:04 +0100
4Subject: [PATCH] formats+aiff: reject implausibly large number of channels
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/CVE-2022-31650.patch
7
8CVE: CVE-2022-31650
9Upstream-Status: Inactive-Upstream [lastrelease: 2015]
10Signed-off-by: Peter Marko <peter.marko@siemens.com>
11---
12 src/aiff.c | 5 +++++
13 src/formats_i.c | 10 ++++++++--
14 2 files changed, 13 insertions(+), 2 deletions(-)
15
16diff --git a/src/aiff.c b/src/aiff.c
17index 3a152c58..6de94f32 100644
18--- a/src/aiff.c
19+++ b/src/aiff.c
20@@ -619,6 +619,11 @@ int lsx_aiffstartwrite(sox_format_t * ft)
21 At 48 kHz, 16 bits stereo, this gives ~3 hours of audio.
22 Sorry, the AIFF format does not provide for an indefinite
23 number of samples. */
24+ if (ft->signal.channels >= (0x7f000000 / (ft->encoding.bits_per_sample >> 3)))
25+ {
26+ lsx_fail_errno(ft, SOX_EOF, "too many channels for AIFF header");
27+ return SOX_EOF;
28+ }
29 return(aiffwriteheader(ft, (uint64_t) 0x7f000000 / ((ft->encoding.bits_per_sample>>3)*ft->signal.channels)));
30 }
31
32diff --git a/src/formats_i.c b/src/formats_i.c
33index 7048040d..6a7c27e3 100644
34--- a/src/formats_i.c
35+++ b/src/formats_i.c
36@@ -19,6 +19,7 @@
37 */
38
39 #include "sox_i.h"
40+#include <limits.h>
41 #include <string.h>
42 #include <sys/stat.h>
43 #include <stdarg.h>
44@@ -60,9 +61,14 @@ int lsx_check_read_params(sox_format_t * ft, unsigned channels,
45 if (ft->seekable)
46 ft->data_start = lsx_tell(ft);
47
48- if (channels && ft->signal.channels && ft->signal.channels != channels)
49+ if (channels && ft->signal.channels && ft->signal.channels != channels) {
50 lsx_warn("`%s': overriding number of channels", ft->filename);
51- else ft->signal.channels = channels;
52+ } else if (channels > SHRT_MAX) {
53+ lsx_fail_errno(ft, EINVAL, "implausibly large number of channels");
54+ return SOX_EOF;
55+ } else {
56+ ft->signal.channels = channels;
57+ }
58
59 if (rate && ft->signal.rate && ft->signal.rate != rate)
60 lsx_warn("`%s': overriding sample rate", ft->filename);
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31651.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31651.patch
new file mode 100644
index 0000000000..853a69d210
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2022-31651.patch
@@ -0,0 +1,36 @@
1From db9641ce748bdfb465fdfa9b7794de2f8da0a249 Mon Sep 17 00:00:00 2001
2From: Helmut Grohne <helmut@subdivi.de>
3Date: Sun, 16 Mar 2025 20:08:13 +0100
4Subject: [PATCH] formats: reject implausible rate
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/CVE-2022-31651.patch
7
8CVE: CVE-2022-31651
9Upstream-Status: Inactive-Upstream [lastrelease: 2015]
10Signed-off-by: Peter Marko <peter.marko@siemens.com>
11---
12 src/formats_i.c | 10 ++++++++--
13 1 file changed, 8 insertions(+), 2 deletions(-)
14
15diff --git a/src/formats_i.c b/src/formats_i.c
16index 6a7c27e3..5f5ef979 100644
17--- a/src/formats_i.c
18+++ b/src/formats_i.c
19@@ -70,9 +70,15 @@ int lsx_check_read_params(sox_format_t * ft, unsigned channels,
20 ft->signal.channels = channels;
21 }
22
23- if (rate && ft->signal.rate && ft->signal.rate != rate)
24+ if (rate && ft->signal.rate && ft->signal.rate != rate) {
25 lsx_warn("`%s': overriding sample rate", ft->filename);
26- else ft->signal.rate = rate;
27+ /* Since NaN comparisons yield false, the negation rejects them. */
28+ } else if (!(rate > 0)) {
29+ lsx_fail_errno(ft, EINVAL, "invalid rate value");
30+ return SOX_EOF;
31+ } else {
32+ ft->signal.rate = rate;
33+ }
34
35 if (encoding && ft->encoding.encoding && ft->encoding.encoding != encoding)
36 lsx_warn("`%s': overriding encoding type", ft->filename);
diff --git a/meta-multimedia/recipes-multimedia/sox/sox/CVE-2023-32627.patch b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2023-32627.patch
new file mode 100644
index 0000000000..b4e9994eab
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/sox/sox/CVE-2023-32627.patch
@@ -0,0 +1,30 @@
1From b0b7e7fa7a48485c4d6b0ae64bfddedd519716f5 Mon Sep 17 00:00:00 2001
2From: =?utf-8?q?Bastien_Roucari=C3=A8s?= <rouca@debian.org>
3Date: Sun, 16 Mar 2025 23:25:15 +0100
4Subject: [PATCH] CVE-2023-32627 Filter null sampling rate in VOC coder
5
6Source: https://salsa.debian.org/lts-team/packages/sox/-/blob/debian/14.4.2+git20190427-1+deb10u3/debian/patches/0028-CVE-2023-32627-Filter-null-sampling-rate-in-VOC-code.patch
7
8CVE: CVE-2023-32627
9Upstream-Status: Inactive-Upstream [lastrelease: 2015]
10Signed-off-by: Peter Marko <peter.marko@siemens.com>
11---
12 src/voc.c | 5 +++++
13 1 file changed, 5 insertions(+)
14
15diff --git a/src/voc.c b/src/voc.c
16index 0ca07f94..d8b982c5 100644
17--- a/src/voc.c
18+++ b/src/voc.c
19@@ -353,6 +353,11 @@ static size_t read_samples(sox_format_t * ft, sox_sample_t * buf,
20 v->block_remaining = 0;
21 return done;
22 }
23+ if(uc == 0) {
24+ lsx_fail_errno(ft, EINVAL, "invalid rate value");
25+ v->block_remaining = 0;
26+ return done;
27+ }
28 *buf = SOX_UNSIGNED_8BIT_TO_SAMPLE(uc,);
29 lsx_adpcm_init(&v->adpcm, 6 - v->size, SOX_SAMPLE_TO_SIGNED_16BIT(*buf, ft->clips));
30 ++buf;
diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
index 800fcad2c9..90a7a85df8 100644
--- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
+++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb
@@ -1,39 +1,56 @@
1DESCRIPTION="SoX is the Swiss Army knife of sound processing tools. \ 1DESCRIPTION = "SoX is the Swiss Army knife of sound processing tools. \
2It converts audio files among various standard audio file formats \ 2It converts audio files among various standard audio file formats \
3and can apply different effects and filters to the audio data." 3and can apply different effects and filters to the audio data."
4HOMEPAGE = "http://sox.sourceforge.net" 4HOMEPAGE = "http://sox.sourceforge.net"
5SECTION = "audio" 5SECTION = "audio"
6 6
7DEPENDS = "libpng libsndfile1 libtool" 7DEPENDS = "autoconf-archive-native libpng libsndfile1 libtool"
8 8
9PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ 9PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
10 magic \ 10 magic \
11" 11"
12PACKAGECONFIG[pulseaudio] = "--with-pulseaudio=dyn,--with-pulseaudio=no,pulseaudio," 12PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio=dyn,--disable-pulseaudio,pulseaudio,"
13PACKAGECONFIG[alsa] = "--with-alsa=dyn,--with-alsa=no,alsa-lib," 13PACKAGECONFIG[alsa] = "--enable-alsa=dyn,--disable-alsa,alsa-lib,"
14PACKAGECONFIG[wavpack] = "--with-wavpack=dyn,--with-wavpack=no,wavpack," 14PACKAGECONFIG[wavpack] = "--enable-wavpack=dyn,--disable-wavpack,wavpack,"
15PACKAGECONFIG[flac] = "--with-flac=dyn,--with-flac=no,flac," 15PACKAGECONFIG[flac] = "--enable-flac=dyn,--disable-flac,flac,"
16PACKAGECONFIG[amrwb] = "--with-amrwb=dyn,--with-amrwb=no,opencore-amr," 16PACKAGECONFIG[amrwb] = "--enable-amrwb=dyn,--disable-amrwb,opencore-amr,"
17PACKAGECONFIG[amrnb] = "--with-amrnb=dyn,--with-amrnb=no,opencore-amr," 17PACKAGECONFIG[amrnb] = "--enable-amrnb=dyn,--disable-amrnb,opencore-amr,"
18PACKAGECONFIG[oggvorbis] = "--with-oggvorbis=dyn,--with-oggvorbis=no,libvorbis" 18PACKAGECONFIG[oggvorbis] = "--enable-oggvorbis=dyn,--disable-oggvorbis,libvorbis"
19PACKAGECONFIG[opus] = "--with-opus=dyn,--with-opus=no,opusfile" 19PACKAGECONFIG[opus] = "--enable-opus=dyn,--disable-opus,opusfile"
20PACKAGECONFIG[magic] = "--with-magic,--without-magic,file," 20PACKAGECONFIG[magic] = "--with-magic,--without-magic,file,"
21PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad," 21PACKAGECONFIG[mad] = "--with-mad,--without-mad,libmad,"
22PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag," 22PACKAGECONFIG[id3tag] = "--with-id3tag,--without-id3tag,libid3tag,"
23PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame," 23PACKAGECONFIG[lame] = "--with-lame,--without-lame,lame,"
24PACKAGECONFIG[ao] = "--with-ao,--without-ao,libao," 24PACKAGECONFIG[ao] = "--enable-ao,--disable-ao,libao,"
25 25
26LICENSE = "GPL-2.0-only & LGPL-2.1-only" 26LICENSE = "GPL-2.0-only & LGPL-2.1-only"
27LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ 27LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \
28 file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24" 28 file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24"
29 29
30SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \ 30SRC_URI = "git://git.code.sf.net/p/sox/code;protocol=https;branch=master \
31 file://0001-remove-the-error-line-and-live-without-file-type-det.patch \ 31 file://0001-remove-the-error-line-and-live-without-file-type-det.patch \
32 file://0001-Update-exported-symbol-list.patch \ 32 file://CVE-2021-3643_CVE-2021-23210.patch \
33 file://0001-tests-Include-math.h-for-fabs-definition.patch \ 33 file://CVE-2021-23159_CVE-2021-2317.patch \
34 file://CVE-2021-33844.patch \
35 file://CVE-2021-40426.patch \
36 file://CVE-2022-31650.patch \
37 file://CVE-2022-31651.patch \
38 file://CVE-2023-32627.patch \
34 " 39 "
35SRC_URI[md5sum] = "d04fba2d9245e661f245de0577f48a33" 40
36SRC_URI[sha256sum] = "b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c" 41# last release was in 2015, use latest hash from 2024-05-30
42PV .= "+git"
43SRCREV = "f3094754a7c2a7e55c35621d20fa9945736e72df"
44
45CVE_PRODUCT:append = " libsox_project:libsox sound_exchange_project:sound_exchange"
46
47CVE_STATUS_GROUPS += "CVE_STATUS_HASH_UPDATE"
48CVE_STATUS_HASH_UPDATE = " \
49 CVE-2017-11332 CVE-2017-11358 CVE-2017-11359 CVE-2017-15370 CVE-2017-15371 \
50 CVE-2017-15372 CVE-2017-15642 CVE-2017-18189 CVE-2019-13590 CVE-2019-8354 \
51 CVE-2019-8355 CVE-2019-8356 CVE-2019-8357 CVE-2019-1010004 \
52"
53CVE_STATUS_HASH_UPDATE[status] = "fixed-version: patched in current git hash"
37 54
38inherit autotools pkgconfig 55inherit autotools pkgconfig
39 56
diff --git a/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb b/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb
index f115553fd1..9993837f19 100644
--- a/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb
+++ b/meta-multimedia/recipes-multimedia/spandsp/spandsp_git.bb
@@ -28,7 +28,6 @@ SRC_URI = "\
28# https://lists.openembedded.org/g/openembedded-devel/message/109325 28# https://lists.openembedded.org/g/openembedded-devel/message/109325
29SRCREV = "df1282eb9af538ab1aadb6d66146e258451d4fe4" 29SRCREV = "df1282eb9af538ab1aadb6d66146e258451d4fe4"
30 30
31S = "${WORKDIR}/git"
32 31
33inherit autotools 32inherit autotools
34 33
diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch
deleted file mode 100644
index 64ebdb19c9..0000000000
--- a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa/0001-fixed-compilation-error-caused-by-strncpy.patch
+++ /dev/null
@@ -1,69 +0,0 @@
1From 639650dd64e483074dd7c3c7ea6dc1b1bd542743 Mon Sep 17 00:00:00 2001
2From: alperak <alperyasinak1@gmail.com>
3Date: Sun, 12 Nov 2023 20:16:55 +0300
4Subject: [PATCH] fixed compilation error caused by strncpy
5
6Issue:
7 https://github.com/tinyalsa/tinyalsa/issues/219
8
9Fix:
10 https://github.com/tinyalsa/tinyalsa/pull/220
11 https://github.com/tinyalsa/tinyalsa/pull/221
12
13Upstream-Status: Submitted
14
15Signed-off-by: alperak <alperyasinak1@gmail.com>
16---
17 src/mixer_plugin.c | 8 +++++---
18 src/pcm_plugin.c | 9 ++++++---
19 2 files changed, 11 insertions(+), 6 deletions(-)
20
21diff --git a/src/mixer_plugin.c b/src/mixer_plugin.c
22index 34117a9..f608563 100644
23--- a/src/mixer_plugin.c
24+++ b/src/mixer_plugin.c
25@@ -82,7 +82,8 @@ static int mixer_plug_get_elem_id(struct mixer_plug_data *plug_data,
26 id->iface = ctl->iface;
27
28 strncpy((char *)id->name, (char *)ctl->name,
29- sizeof(id->name));
30+ sizeof(id->name) - 1);
31+ ((char *)id->name)[sizeof(id->name) - 1] = '\0';
32
33 return 0;
34 }
35@@ -100,8 +101,9 @@ static int mixer_plug_info_enum(struct snd_control *ctl,
36
37 strncpy(einfo->value.enumerated.name,
38 val->texts[einfo->value.enumerated.item],
39- sizeof(einfo->value.enumerated.name));
40-
41+ sizeof(einfo->value.enumerated.name) - 1);
42+ einfo->value.enumerated.name[sizeof(einfo->value.enumerated.name) - 1] = '\0';
43+
44 return 0;
45 }
46
47diff --git a/src/pcm_plugin.c b/src/pcm_plugin.c
48index 15bfc80..47bf4a5 100644
49--- a/src/pcm_plugin.c
50+++ b/src/pcm_plugin.c
51@@ -153,9 +153,12 @@ static int pcm_plug_info(struct pcm_plug_data *plug_data,
52 return ret;
53 }
54
55- strncpy((char *)info->id, name, sizeof(info->id));
56- strncpy((char *)info->name, name, sizeof(info->name));
57- strncpy((char *)info->subname, name, sizeof(info->subname));
58+ strncpy((char *)info->id, name, sizeof(info->id) - 1);
59+ ((char *)info->id)[sizeof(info->id) - 1] = '\0';
60+ strncpy((char *)info->name, name, sizeof(info->name) - 1);
61+ ((char *)info->name)[sizeof(info->name) - 1] = '\0';
62+ strncpy((char *)info->subname, name, sizeof(info->subname) - 1);
63+ ((char *)info->subname)[sizeof(info->subname) - 1] = '\0';
64
65 info->subdevices_count = 1;
66
67--
682.25.1
69
diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
index b513e959d3..8965c8ee75 100644
--- a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
+++ b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb
@@ -10,7 +10,6 @@ PV .= "+git"
10SRCREV = "f78ed25aced2dfea743867b8205a787bfb091340" 10SRCREV = "f78ed25aced2dfea743867b8205a787bfb091340"
11SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https" 11SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https"
12 12
13S = "${WORKDIR}/git"
14 13
15inherit meson 14inherit meson
16 15
diff --git a/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb b/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
index f8ab1bf680..f195a4a654 100644
--- a/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
+++ b/meta-multimedia/recipes-multimedia/tremor/tremor_20180319.bb
@@ -12,7 +12,6 @@ SRC_URI = "git://gitlab.xiph.org/xiph/tremor.git;protocol=https;branch=master \
12" 12"
13SRCREV = "7c30a66346199f3f09017a09567c6c8a3a0eedc8" 13SRCREV = "7c30a66346199f3f09017a09567c6c8a3a0eedc8"
14 14
15S = "${WORKDIR}/git"
16 15
17inherit autotools pkgconfig 16inherit autotools pkgconfig
18 17
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch
deleted file mode 100644
index 866ed03294..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-po-Fix-invalid-.oc-translation-format-string.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From fc4bd86bea0b81da0b6fa5be0a352aecc8fa690a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 9 Sep 2023 20:13:55 -0700
4Subject: [PATCH] po: Fix invalid .oc translation format string
5
6gettext can validate format strings now [1] with 0.22 and newer release
7
8[1] https://savannah.gnu.org/bugs/index.php?64332#comment1
9
10Upstream-Status: Pending
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 po/oc.po | 6 +++---
14 1 file changed, 3 insertions(+), 3 deletions(-)
15
16diff --git a/po/oc.po b/po/oc.po
17index 667696cfe7..ddb1677d8a 100644
18--- a/po/oc.po
19+++ b/po/oc.po
20@@ -5298,18 +5298,18 @@ msgstr "Comanda+"
21 #: src/misc/update.c:482
22 #, c-format
23 msgid "%.1f GiB"
24-msgstr "%.lf Gio"
25+msgstr "%.1f Gio"
26
27 #: src/misc/update.c:484
28 #, c-format
29 msgid "%.1f MiB"
30-msgstr "%.lf Mio"
31+msgstr "%.1f Mio"
32
33 #: src/misc/update.c:486 modules/gui/macosx/VLCPlaylistInfo.m:138
34 #: modules/gui/macosx/VLCPlaylistInfo.m:140
35 #, c-format
36 msgid "%.1f KiB"
37-msgstr "%.lf Kio"
38+msgstr "%.1f Kio"
39
40 #: src/misc/update.c:488
41 #, c-format
42--
432.42.0
44
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch
deleted file mode 100644
index 3f2aa60512..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch
+++ /dev/null
@@ -1,179 +0,0 @@
1From 1e2918115ca2f5c4ffde00dc02ad89525714f6c2 Mon Sep 17 00:00:00 2001
2From: Thomas Guillem <thomas@gllm.fr>
3Date: Tue, 5 Dec 2023 09:23:35 +0100
4Subject: [PATCH 1/5] input: fix incompatible-pointer-types assignment
5
6Fixes #28441
7Upstream-Status: Backport [https://code.videolan.org/videolan/vlc/-/merge_requests/4645]
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 src/input/input_internal.h | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/src/input/input_internal.h b/src/input/input_internal.h
14index d29731edca1b..ea02f39f5add 100644
15--- a/src/input/input_internal.h
16+++ b/src/input/input_internal.h
17@@ -117,7 +117,7 @@ typedef struct input_thread_private_t
18
19 /* Title infos FIXME multi-input (not easy) ? */
20 int i_title;
21- const input_title_t **title;
22+ input_title_t * const *title;
23
24 int i_title_offset;
25 int i_seekpoint_offset;
26--
27GitLab
28
29
30From adcf4e66e2ce2c382bb97957c91bfde040f4f3ca Mon Sep 17 00:00:00 2001
31From: Zhao Zhili <quinkblack@foxmail.com>
32Date: Thu, 1 Mar 2018 14:25:59 +0800
33Subject: [PATCH 2/5] yadif: fix variable type
34
35Signed-off-by: Thomas Guillem <thomas@gllm.fr>
36(cherry picked from commit 77b86f4452be4dbe0d56a9cd1b66da61b116da60)
37Signed-off-by: Thomas Guillem <thomas@gllm.fr>
38---
39 modules/video_filter/deinterlace/yadif.h | 8 ++++----
40 1 file changed, 4 insertions(+), 4 deletions(-)
41
42diff --git a/modules/video_filter/deinterlace/yadif.h b/modules/video_filter/deinterlace/yadif.h
43index 4bc592ba9307..af16443d0804 100644
44--- a/modules/video_filter/deinterlace/yadif.h
45+++ b/modules/video_filter/deinterlace/yadif.h
46@@ -140,10 +140,10 @@ static void yadif_filter_line_c(uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8
47 }
48
49 static void yadif_filter_line_c_16bit(uint8_t *dst8, uint8_t *prev8, uint8_t *cur8, uint8_t *next8, int w, int prefs, int mrefs, int parity, int mode) {
50- uint8_t *dst = (uint8_t *)dst8;
51- uint8_t *prev = (uint8_t *)prev8;
52- uint8_t *cur = (uint8_t *)cur8;
53- uint8_t *next = (uint8_t *)next8;
54+ uint16_t *dst = (uint16_t *)dst8;
55+ uint16_t *prev = (uint16_t *)prev8;
56+ uint16_t *cur = (uint16_t *)cur8;
57+ uint16_t *next = (uint16_t *)next8;
58 int x;
59 uint16_t *prev2= parity ? prev : cur ;
60 uint16_t *next2= parity ? cur : next;
61--
62GitLab
63
64
65From 45198e5328ff2b2f4eb2fb76add0789fec26270f Mon Sep 17 00:00:00 2001
66From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
67Date: Sun, 3 Mar 2019 09:59:10 +0200
68Subject: [PATCH 3/5] swscale: avoid invalid pointer conversion
69
70(cherry picked from commit ab00e6c59d42e05ab08893091783d8b5febc0058)
71Signed-off-by: Thomas Guillem <thomas@gllm.fr>
72---
73 modules/video_chroma/swscale.c | 12 ++++++++----
74 1 file changed, 8 insertions(+), 4 deletions(-)
75
76diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c
77index 8993d11ec5dd..11897527355c 100644
78--- a/modules/video_chroma/swscale.c
79+++ b/modules/video_chroma/swscale.c
80@@ -588,8 +588,9 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
81 {
82 filter_sys_t *p_sys = p_filter->p_sys;
83 uint8_t palette[AVPALETTE_SIZE];
84- uint8_t *src[4]; int src_stride[4];
85- uint8_t *dst[4]; int dst_stride[4];
86+ uint8_t *src[4], *dst[4];
87+ const uint8_t *csrc[4];
88+ int src_stride[4], dst_stride[4];
89
90 GetPixels( src, src_stride, p_sys->desc_in, &p_filter->fmt_in.video,
91 p_src, i_plane_count, b_swap_uvi );
92@@ -606,11 +607,14 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
93 GetPixels( dst, dst_stride, p_sys->desc_out, &p_filter->fmt_out.video,
94 p_dst, i_plane_count, b_swap_uvo );
95
96+ for (size_t i = 0; i < ARRAY_SIZE(src); i++)
97+ csrc[i] = src[i];
98+
99 #if LIBSWSCALE_VERSION_INT >= ((0<<16)+(5<<8)+0)
100- sws_scale( ctx, src, src_stride, 0, i_height,
101+ sws_scale( ctx, csrc, src_stride, 0, i_height,
102 dst, dst_stride );
103 #else
104- sws_scale_ordered( ctx, src, src_stride, 0, i_height,
105+ sws_scale_ordered( ctx, csrc, src_stride, 0, i_height,
106 dst, dst_stride );
107 #endif
108 }
109--
110GitLab
111
112
113From 4431076ad4a21fdcabd3f7ef1d61c45891689b0c Mon Sep 17 00:00:00 2001
114From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
115Date: Sun, 3 Mar 2019 17:20:04 +0200
116Subject: [PATCH 4/5] dynamicoverlay: fix variable shadowing
117
118(cherry picked from commit d42e05d6b2c061ae352c131d5aebf8c8d8aa6d35)
119Signed-off-by: Thomas Guillem <thomas@gllm.fr>
120---
121 modules/spu/dynamicoverlay/dynamicoverlay_commands.c | 3 +--
122 1 file changed, 1 insertion(+), 2 deletions(-)
123
124diff --git a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
125index a93462925e8a..a85f9aafb0b9 100644
126--- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
127+++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
128@@ -899,12 +899,11 @@ static const commanddesc_static_t p_commands[] =
129 void RegisterCommand( filter_t *p_filter )
130 {
131 filter_sys_t *p_sys = (filter_sys_t*) p_filter->p_sys;
132- size_t i_index = 0;
133
134 p_sys->i_commands = ARRAY_SIZE(p_commands);
135 p_sys->pp_commands = (commanddesc_t **) calloc( p_sys->i_commands, sizeof(commanddesc_t*) );
136 if( !p_sys->pp_commands ) return;
137- for( i_index = 0; i_index < p_sys->i_commands; i_index ++ )
138+ for( size_t i_index = 0; i_index < p_sys->i_commands; i_index ++ )
139 {
140 p_sys->pp_commands[i_index] = (commanddesc_t *) malloc( sizeof(commanddesc_t) );
141 if( !p_sys->pp_commands[i_index] ) return;
142--
143GitLab
144
145
146From fda14fc7c013eb75291df10cc8b88336c51328ad Mon Sep 17 00:00:00 2001
147From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
148Date: Mon, 26 Feb 2018 20:43:03 +0200
149Subject: [PATCH 5/5] dynamicoverlay: fix memory corruption
150
151Font alpha is 8-bits, not 32-bits.
152
153(cherry picked from commit 6f14081af7325d334a53126c4eea52bc30fc08a0)
154Signed-off-by: Thomas Guillem <thomas@gllm.fr>
155---
156 modules/spu/dynamicoverlay/dynamicoverlay_commands.c | 6 +++++-
157 1 file changed, 5 insertions(+), 1 deletion(-)
158
159diff --git a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
160index a85f9aafb0b9..7a71c6f2373a 100644
161--- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
162+++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
163@@ -234,8 +234,12 @@ static int parser_SetTextAlpha( char *psz_command, char *psz_end,
164 skip_space( &psz_command );
165 if( isdigit( (unsigned char)*psz_command ) )
166 {
167- if( parse_digit( &psz_command, &p_params->fontstyle.i_font_alpha ) == VLC_EGENERIC )
168+ int32_t value;
169+
170+ if( parse_digit( &psz_command, &value ) == VLC_EGENERIC )
171 return VLC_EGENERIC;
172+
173+ p_params->fontstyle.i_font_alpha = value;
174 }
175 return VLC_SUCCESS;
176 }
177--
178GitLab
179
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch
deleted file mode 100644
index c9ef33358e..0000000000
--- a/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch
+++ /dev/null
@@ -1,377 +0,0 @@
1From 770789f265761fc7ab2de69ca105fec4ad93d9e2 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
3Date: Mon, 26 Feb 2018 20:36:29 +0200
4Subject: [PATCH 1/9] chromaprint: missing cast
5
6(cherry picked from commit 7bd5bab3e43ae187f7219db61ed85d06d2ba0547)
7Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
8Upstream-Status: Backport [https://code.videolan.org/videolan/vlc/-/merge_requests/4665]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 modules/stream_out/chromaprint.c | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/modules/stream_out/chromaprint.c b/modules/stream_out/chromaprint.c
15index 80ec31ba2590..c76cbda3c2bb 100644
16--- a/modules/stream_out/chromaprint.c
17+++ b/modules/stream_out/chromaprint.c
18@@ -231,7 +231,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
19 if ( !p_sys->b_finished && id->i_samples > 0 && p_buf->i_buffer )
20 {
21 if(! chromaprint_feed( p_sys->p_chromaprint_ctx,
22- p_buf->p_buffer,
23+ (int16_t *)p_buf->p_buffer,
24 p_buf->i_buffer / BYTESPERSAMPLE ) )
25 msg_Warn( p_stream, "feed error" );
26 id->i_samples -= i_samples;
27--
28GitLab
29
30
31From 6179d6b843f2a93af6a3d51c4244766e3eba9e77 Mon Sep 17 00:00:00 2001
32From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
33Date: Sun, 14 Apr 2019 09:41:38 +0300
34Subject: [PATCH 2/9] win32: wrap {g,s}etsockopt()
35
36char * can alias anything, and Winsock relies on that. Unfortunately,
37the compiler still issues warnings. This works around that.
38
39(cherry picked from commit 36715d9b79f34824e126c2bc3aee2f1c1c16af46)
40Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
41---
42 include/vlc_network.h | 16 ++++++++++++++++
43 1 file changed, 16 insertions(+)
44
45diff --git a/include/vlc_network.h b/include/vlc_network.h
46index 010454a01c09..e39ffd0bacaa 100644
47--- a/include/vlc_network.h
48+++ b/include/vlc_network.h
49@@ -183,6 +183,22 @@ VLC_API int vlc_close(int);
50
51 /** @} */
52
53+#ifdef _WIN32
54+static inline int vlc_getsockopt(int s, int level, int name,
55+ void *val, socklen_t *len)
56+{
57+ return getsockopt(s, level, name, (char *)val, len);
58+}
59+#define getsockopt vlc_getsockopt
60+
61+static inline int vlc_setsockopt(int s, int level, int name,
62+ const void *val, socklen_t len)
63+{
64+ return setsockopt(s, level, name, (const char *)val, len);
65+}
66+#define setsockopt vlc_setsockopt
67+#endif
68+
69 /* Portable network names/addresses resolution layer */
70
71 #define NI_MAXNUMERICHOST 64
72--
73GitLab
74
75
76From 3391108f9709f0d77d9297c94371cf9cd30f2cbe Mon Sep 17 00:00:00 2001
77From: Steve Lhomme <robux4@ycbcr.xyz>
78Date: Thu, 7 Dec 2023 15:43:04 +0100
79Subject: [PATCH 3/9] netsync: use char for temporary local buffer
80
81On Windows recvfrom/revc/sendto expects a char*.
82---
83 modules/control/netsync.c | 14 +++++++-------
84 1 file changed, 7 insertions(+), 7 deletions(-)
85
86diff --git a/modules/control/netsync.c b/modules/control/netsync.c
87index 2a6a1a6a2bf8..8c91034d7cf2 100644
88--- a/modules/control/netsync.c
89+++ b/modules/control/netsync.c
90@@ -181,7 +181,7 @@ static void *Master(void *handle)
91 intf_sys_t *sys = intf->p_sys;
92 for (;;) {
93 struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, };
94- uint64_t data[2];
95+ char data[16];
96
97 if (poll(&ufd, 1, -1) < 0)
98 continue;
99@@ -198,8 +198,8 @@ static void *Master(void *handle)
100 if (master_system < 0)
101 continue;
102
103- data[0] = hton64(mdate());
104- data[1] = hton64(master_system);
105+ SetQWBE(&data[0], mdate());
106+ SetQWBE(&data[8], master_system);
107
108 /* Reply to the sender */
109 sendto(sys->fd, data, 16, 0,
110@@ -224,7 +224,7 @@ static void *Slave(void *handle)
111
112 for (;;) {
113 struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, };
114- uint64_t data[2];
115+ char data[16];
116
117 vlc_tick_t system = GetPcrSystem(sys->input);
118 if (system < 0)
119@@ -233,7 +233,7 @@ static void *Slave(void *handle)
120 /* Send clock request to the master */
121 const vlc_tick_t send_date = mdate();
122
123- data[0] = hton64(system);
124+ SetQWBE(&data[0], system);
125 send(sys->fd, data, 8, 0);
126
127 /* Don't block */
128@@ -244,8 +244,8 @@ static void *Slave(void *handle)
129 if (recv(sys->fd, data, 16, 0) < 16)
130 goto wait;
131
132- const vlc_tick_t master_date = ntoh64(data[0]);
133- const vlc_tick_t master_system = ntoh64(data[1]);
134+ const vlc_tick_t master_date = GetQWBE(&data[0]);
135+ const vlc_tick_t master_system = GetQWBE(&data[8]);
136 const vlc_tick_t diff_date = receive_date -
137 ((receive_date - send_date) / 2 + master_date);
138
139--
140GitLab
141
142
143From 27e584d7b9add8dbbb82b7227228e1ec1e25a089 Mon Sep 17 00:00:00 2001
144From: Steve Lhomme <robux4@ycbcr.xyz>
145Date: Tue, 3 Jan 2023 13:23:00 +0100
146Subject: [PATCH 4/9] access/dtv: move the lfind() Windows hack in the module
147
148So that we don't have to include search.h each time vlc_fixups.h is used.
149
150The Win32 prototype of lfind() expects an unsigned* for 'nelp', not a size_t*.
151
152(cherry picked from commit 7c43bcba27b6fe256456d93a9d32e10648f08da8)
153Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
154---
155 include/vlc_fixups.h | 3 +++
156 modules/access/dtv/access.c | 5 +++++
157 2 files changed, 8 insertions(+)
158
159diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h
160index 37f788933779..861cb4cc5063 100644
161--- a/include/vlc_fixups.h
162+++ b/include/vlc_fixups.h
163@@ -501,8 +501,11 @@ void *tsearch( const void *key, void **rootp, int(*cmp)(const void *, const void
164 void *tfind( const void *key, const void **rootp, int(*cmp)(const void *, const void *) );
165 void *tdelete( const void *key, void **rootp, int(*cmp)(const void *, const void *) );
166 void twalk( const void *root, void(*action)(const void *nodep, VISIT which, int depth) );
167+#ifndef _WIN32
168+/* the Win32 prototype of lfind() expects an unsigned* for 'nmemb' */
169 void *lfind( const void *key, const void *base, size_t *nmemb,
170 size_t size, int(*cmp)(const void *, const void *) );
171+#endif
172 #endif /* HAVE_SEARCH_H */
173 #ifndef HAVE_TDESTROY
174 void tdestroy( void *root, void (*free_node)(void *nodep) );
175diff --git a/modules/access/dtv/access.c b/modules/access/dtv/access.c
176index d9756c7b4885..c6ca5005883c 100644
177--- a/modules/access/dtv/access.c
178+++ b/modules/access/dtv/access.c
179@@ -32,6 +32,11 @@
180 #ifdef HAVE_SEARCH_H
181 #include <search.h>
182 #endif
183+#if defined(_WIN32)
184+/* the Win32 prototype of lfind() expects an unsigned* for 'nelp' */
185+# define lfind(a,b,c,d,e) \
186+ lfind((a),(b), &(unsigned){ (*(c) > UINT_MAX) ? UINT_MAX : *(c) }, (d),(e))
187+#endif
188
189 #include "dtv/dtv.h"
190
191--
192GitLab
193
194
195From 5a9ca37a95b6e85e6beaaefba9aa4a886a45411c Mon Sep 17 00:00:00 2001
196From: Steve Lhomme <robux4@ycbcr.xyz>
197Date: Mon, 15 Jul 2019 12:41:29 +0200
198Subject: [PATCH 5/9] vlc_common: fix swab() calls on win32 that don't use
199 const on source pointer
200
201(cherry picked from commit a9e0b1124e19225b903a2926951781e84002c410)
202Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
203---
204 include/vlc_common.h | 5 +++++
205 1 file changed, 5 insertions(+)
206
207diff --git a/include/vlc_common.h b/include/vlc_common.h
208index 8090b277150d..089878581763 100644
209--- a/include/vlc_common.h
210+++ b/include/vlc_common.h
211@@ -947,6 +947,11 @@ static inline void SetQWLE (void *p, uint64_t qw)
212 # define O_NONBLOCK 0
213 # endif
214
215+/* the mingw32 swab() and win32 _swab() prototypes expect a char* instead of a
216+ const void* */
217+# define swab(a,b,c) swab((char*) (a), (char*) (b), (c))
218+
219+
220 # include <tchar.h>
221 #endif /* _WIN32 */
222
223--
224GitLab
225
226
227From b758e19479a80604e3feb470b197e4a13a203a85 Mon Sep 17 00:00:00 2001
228From: Steve Lhomme <robux4@ycbcr.xyz>
229Date: Wed, 10 Jul 2019 08:23:45 +0200
230Subject: [PATCH 6/9] avcodec: encoder: fix MPEG4 matrix passed as const
231
232lavc expects a pointer that it will free in avcodec_free_context().
233
234(cherry picked from commit d86c4c87aa78130a4fd00294e25df865d0e2b327)
235Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
236---
237 modules/codec/avcodec/encoder.c | 10 ++++++++--
238 1 file changed, 8 insertions(+), 2 deletions(-)
239
240diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
241index 2b1c3604713d..4919ccf0e0e4 100644
242--- a/modules/codec/avcodec/encoder.c
243+++ b/modules/codec/avcodec/encoder.c
244@@ -588,8 +588,14 @@ int InitVideoEnc( vlc_object_t *p_this )
245
246 if ( p_sys->b_mpeg4_matrix )
247 {
248- p_context->intra_matrix = mpeg4_default_intra_matrix;
249- p_context->inter_matrix = mpeg4_default_non_intra_matrix;
250+ p_context->intra_matrix = av_malloc( sizeof(mpeg4_default_intra_matrix) );
251+ if ( p_context->intra_matrix )
252+ memcpy( p_context->intra_matrix, mpeg4_default_intra_matrix,
253+ sizeof(mpeg4_default_intra_matrix));
254+ p_context->inter_matrix = av_malloc( sizeof(mpeg4_default_non_intra_matrix) );
255+ if ( p_context->inter_matrix )
256+ memcpy( p_context->inter_matrix, mpeg4_default_non_intra_matrix,
257+ sizeof(mpeg4_default_non_intra_matrix));
258 }
259
260 if ( p_sys->b_pre_me )
261--
262GitLab
263
264
265From 55be3ce60795a09d13861c5637c1fe7aebc5ce8b Mon Sep 17 00:00:00 2001
266From: Steve Lhomme <robux4@ycbcr.xyz>
267Date: Thu, 7 Dec 2023 14:18:22 +0100
268Subject: [PATCH 7/9] smb: fix potential string to wide string copy
269
270The type of net_resource depends on the UNICODE define.
271---
272 modules/access/smb.c | 4 ++--
273 1 file changed, 2 insertions(+), 2 deletions(-)
274
275diff --git a/modules/access/smb.c b/modules/access/smb.c
276index 5fe56f0c9dfe..6add2a3e6278 100644
277--- a/modules/access/smb.c
278+++ b/modules/access/smb.c
279@@ -524,7 +524,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server,
280 const char *psz_pwd, const char *psz_domain )
281 {
282 char psz_remote[MAX_PATH];
283- NETRESOURCE net_resource;
284+ NETRESOURCEA net_resource;
285 DWORD i_result;
286 VLC_UNUSED( psz_domain );
287
288@@ -544,7 +544,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server,
289
290 net_resource.lpRemoteName = psz_remote;
291
292- i_result = WNetAddConnection2( &net_resource, psz_pwd, psz_user, 0 );
293+ i_result = WNetAddConnection2A( &net_resource, psz_pwd, psz_user, 0 );
294
295 if( i_result != NO_ERROR )
296 {
297--
298GitLab
299
300
301From 5ae924bf212dce64a6424561d92426dbcc2cf3a0 Mon Sep 17 00:00:00 2001
302From: Steve Lhomme <robux4@ycbcr.xyz>
303Date: Wed, 6 Dec 2023 14:45:46 +0100
304Subject: [PATCH 8/9] dxva2: add missing mask initializers
305
306---
307 modules/codec/avcodec/dxva2.c | 10 +++++-----
308 1 file changed, 5 insertions(+), 5 deletions(-)
309
310diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c
311index 18b872fe0fe3..2e6809a05410 100644
312--- a/modules/codec/avcodec/dxva2.c
313+++ b/modules/codec/avcodec/dxva2.c
314@@ -84,12 +84,12 @@ DEFINE_GUID(DXVA_Intel_H264_NoFGT_ClearVideo, 0x604F8E68, 0x4951, 0x4c54,
315
316 /* XXX Preferred format must come first */
317 static const d3d9_format_t d3d_formats[] = {
318- { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12 },
319- { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12 },
320- //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12 },
321- { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010 },
322+ { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12, 0,0,0 },
323+ { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12, 0,0,0 },
324+ //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12, 0,0,0 },
325+ { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010, 0,0,0 },
326
327- { NULL, 0, 0 }
328+ { NULL, 0, 0, 0,0,0 }
329 };
330
331 static const d3d9_format_t *D3dFindFormat(D3DFORMAT format)
332--
333GitLab
334
335
336From 08c7a66780740679ba1b0abe9e30e73afc6bc271 Mon Sep 17 00:00:00 2001
337From: Steve Lhomme <robux4@ycbcr.xyz>
338Date: Wed, 6 Dec 2023 07:48:29 +0100
339Subject: [PATCH 9/9] win32/modules: use cast with GetProcAddress function
340 pointers
341
342---
343 src/text/url.c | 3 ++-
344 src/win32/plugin.c | 3 ++-
345 2 files changed, 4 insertions(+), 2 deletions(-)
346
347diff --git a/src/text/url.c b/src/text/url.c
348index b962eb31f849..2eb4b8d10817 100644
349--- a/src/text/url.c
350+++ b/src/text/url.c
351@@ -892,7 +892,8 @@ static int IdnToAscii(DWORD flags, LPCWSTR str, int len, LPWSTR buf, int size)
352 int (WINAPI *IdnToAsciiReal)(DWORD, LPCWSTR, int, LPWSTR, int);
353 int ret = 0;
354
355- IdnToAsciiReal = GetProcAddress(h, "IdnToAscii");
356+ IdnToAsciiReal = (int (WINAPI *)(DWORD, LPCWSTR, int, LPWSTR, int))
357+ GetProcAddress(h, "IdnToAscii");
358 if (IdnToAsciiReal != NULL)
359 ret = IdnToAsciiReal(flags, str, len, buf, size);
360 else
361diff --git a/src/win32/plugin.c b/src/win32/plugin.c
362index 1a65521fca75..b5c336eb99ca 100644
363--- a/src/win32/plugin.c
364+++ b/src/win32/plugin.c
365@@ -45,7 +45,8 @@ static BOOL WINAPI SetThreadErrorModeFallback(DWORD mode, DWORD *oldmode)
366
367 BOOL (WINAPI *SetThreadErrorModeReal)(DWORD, DWORD *);
368
369- SetThreadErrorModeReal = GetProcAddress(h, "SetThreadErrorMode");
370+ SetThreadErrorModeReal = (BOOL (WINAPI *)(DWORD, DWORD *))
371+ GetProcAddress(h, "SetThreadErrorMode");
372 if (SetThreadErrorModeReal != NULL)
373 return SetThreadErrorModeReal(mode, oldmode);
374
375--
376GitLab
377
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb
index 2a6b27add0..2d2ecc63b9 100644
--- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb
+++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.21.bb
@@ -25,11 +25,8 @@ SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \
25 file://0006-configure-Disable-incompatible-function-pointer-type.patch \ 25 file://0006-configure-Disable-incompatible-function-pointer-type.patch \
26 file://taglib-2.patch \ 26 file://taglib-2.patch \
27 file://0001-taglib-Fix-build-on-x86-32-bit.patch \ 27 file://0001-taglib-Fix-build-on-x86-32-bit.patch \
28 file://4645.patch \
29 file://4665.patch \
30" 28"
31SRC_URI[sha256sum] = "adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5" 29SRC_URI[sha256sum] = "24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0"
32
33inherit autotools-brokensep features_check gettext pkgconfig mime-xdg 30inherit autotools-brokensep features_check gettext pkgconfig mime-xdg
34 31
35REQUIRED_DISTRO_FEATURES = "x11" 32REQUIRED_DISTRO_FEATURES = "x11"
@@ -135,3 +132,5 @@ FILES:${PN}-staticdev += "\
135INSANE_SKIP:${PN} = "dev-so" 132INSANE_SKIP:${PN} = "dev-so"
136 133
137EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" 134EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"
135
136SKIP_RECIPE[vlc] = "requires porting to ffmpeg >= 7 as of ffmpeg >= 5 it requires extensive changes disabling VAAPI (only supported with vlc >= 4)"
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/CVE-2023-43361.patch b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/CVE-2023-43361.patch
new file mode 100644
index 0000000000..7f5b634115
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/CVE-2023-43361.patch
@@ -0,0 +1,38 @@
1From 6ca16244ba70cd1c0c8d062d1416bdc79bf20898 Mon Sep 17 00:00:00 2001
2From: Peter Marko <peter.marko@siemens.com>
3Date: Fri, 17 Jan 2025 18:49:12 +0100
4Subject: [PATCH] oggenc: Don't assume the output path ends in a file name.
5
6oggenc attempts to create any specified directories in the output
7file path if they don't exist. The parser was assuming there was
8a final filename after the last directory separator, and so would
9try to read off the end of the argument if it was a bare directory
10such as `./` or `outdir/`. This adds a check to make sure the
11scan isn't starting off the end of the path string.
12
13Thanks to Frank-Z7 (Zeng Yunxiang) at Huazhong University of Science
14and Technology (cse.hust.edu.cn) for the report.
15
16CVE: CVE-2023-43361
17Upstream-Status: Submitted [https://gitlab.xiph.org/xiph/vorbis-tools/-/merge_requests/7]
18Signed-off-by: Peter Marko <peter.marko@siemens.com>
19---
20 oggenc/platform.c | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/oggenc/platform.c b/oggenc/platform.c
24index 6d9f4ef..1ff02ca 100644
25--- a/oggenc/platform.c
26+++ b/oggenc/platform.c
27@@ -147,7 +147,7 @@ int create_directories(char *fn, int isutf8)
28 start = start+2;
29 #endif
30
31- while((end = strpbrk(start+1, PATH_SEPS)) != NULL)
32+ while((end = strpbrk(start + strspn(start, PATH_SEPS), PATH_SEPS)) != NULL)
33 {
34 int rv;
35 memcpy(segment, fn, end-fn);
36--
372.30.2
38
diff --git a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
index 61a4aedb85..2cbd840138 100644
--- a/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
+++ b/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
@@ -13,6 +13,7 @@ DEPENDS = "libogg libvorbis"
13SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \ 13SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \
14 file://gettext.patch \ 14 file://gettext.patch \
15 file://0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch \ 15 file://0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch \
16 file://CVE-2023-43361.patch \
16 " 17 "
17 18
18SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e" 19SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e"
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-task_queue-fix-build-with-gcc-15.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-task_queue-fix-build-with-gcc-15.patch
new file mode 100644
index 0000000000..0f7e7a18ea
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1/0001-task_queue-fix-build-with-gcc-15.patch
@@ -0,0 +1,30 @@
1From d8ba62262265fac19804cf52f99488ed226c9c51 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <martin.jansa@gmail.com>
3Date: Fri, 21 Mar 2025 11:06:14 +0100
4Subject: [PATCH] task_queue: fix build with gcc-15
5
6* fixes:
7 http://errors.yoctoproject.org/Errors/Details/848476/
8 ../webrtc-audio-processing-1.3/webrtc/api/task_queue/task_queue_base.h:53:32: error: 'uint32_t' has not been declared
9 53 | uint32_t milliseconds) = 0;
10 | ^~~~~~~~
11
12Upstream-Status: Pending [uint32_t is no longer used here after "Bump to WebRTC M120 release" https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/commit/c6abf6cd3fbd688b111b339775cbd2d66d509ddc?page=2#66fd3af91f4a7b8a1dafa8180959efa4e32ac2f0]
13
14Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
15---
16 webrtc/api/task_queue/task_queue_base.h | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/webrtc/api/task_queue/task_queue_base.h b/webrtc/api/task_queue/task_queue_base.h
20index 90b1efd..63526a7 100644
21--- a/webrtc/api/task_queue/task_queue_base.h
22+++ b/webrtc/api/task_queue/task_queue_base.h
23@@ -10,6 +10,7 @@
24 #ifndef API_TASK_QUEUE_TASK_QUEUE_BASE_H_
25 #define API_TASK_QUEUE_TASK_QUEUE_BASE_H_
26
27+#include <cstdint>
28 #include <memory>
29
30 #include "api/task_queue/queued_task.h"
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb
index c56ca53f89..08104cbc62 100644
--- a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-1_1.3.bb
@@ -12,9 +12,10 @@ SRC_URI = " \
12 http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${PV}.tar.xz \ 12 http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${PV}.tar.xz \
13 file://0001-add-missing-header-for-musl.patch \ 13 file://0001-add-missing-header-for-musl.patch \
14 file://0001-Fix-return-type-errors.patch \ 14 file://0001-Fix-return-type-errors.patch \
15 file://0001-task_queue-fix-build-with-gcc-15.patch \
15" 16"
16SRC_URI[sha256sum] = "2365e93e778d7b61b5d6e02d21c47d97222e9c7deff9e1d0838ad6ec2e86f1b9" 17SRC_URI[sha256sum] = "2365e93e778d7b61b5d6e02d21c47d97222e9c7deff9e1d0838ad6ec2e86f1b9"
17S = "${WORKDIR}/webrtc-audio-processing-${PV}" 18S = "${UNPACKDIR}/webrtc-audio-processing-${PV}"
18 19
19LDFLAGS:append:libc-musl = " -lexecinfo" 20LDFLAGS:append:libc-musl = " -lexecinfo"
20 21
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
new file mode 100644
index 0000000000..3e2ac72c69
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch
@@ -0,0 +1,50 @@
1From e9c78dc4712fa6362b0c839ad57b6b46dce1ba83 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Fran=C3=A7ois=20Laignel?= <francois@centricular.com>
3Date: Mon, 14 Apr 2025 16:48:19 +0200
4Subject: [PATCH] Fix compilation with gcc-15
5
6This commit fixes compilation errors with gcc-15 (default for Fedora 42).
7
8From [1]:
9
10> Common C++ headers (like <memory>) in GCC 15.0.0 (combined with libstdc++)
11> don't transitively include uint64_t anymore.
12
13See also [2].
14
15[1]: https://github.com/ROCm/rocm_smi_lib/pull/198
16[2]: https://github.com/root-project/root/issues/17444
17
18Upstream-Status: Backport [https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/commit/e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch]
19---
20 .../audio_processing/aec3/multi_channel_content_detector.h | 1 +
21 webrtc/rtc_base/trace_event.h | 1 +
22 2 files changed, 2 insertions(+)
23
24diff --git a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
25index 2b2f3b8..feb29fd 100644
26--- a/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
27+++ b/webrtc/modules/audio_processing/aec3/multi_channel_content_detector.h
28@@ -12,6 +12,7 @@
29 #define MODULES_AUDIO_PROCESSING_AEC3_MULTI_CHANNEL_CONTENT_DETECTOR_H_
30
31 #include <stddef.h>
32+#include <cstdint>
33
34 #include <memory>
35 #include <optional>
36diff --git a/webrtc/rtc_base/trace_event.h b/webrtc/rtc_base/trace_event.h
37index 2aee713..f88a68e 100644
38--- a/webrtc/rtc_base/trace_event.h
39+++ b/webrtc/rtc_base/trace_event.h
40@@ -28,6 +28,7 @@
41
42 #if !defined(RTC_USE_PERFETTO)
43 #include <string>
44+#include <cstdint>
45
46 #include "rtc_base/event_tracer.h"
47
48--
49GitLab
50
diff --git a/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
new file mode 100644
index 0000000000..9aab57a089
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/webrtc-audio-processing/webrtc-audio-processing-2_2.1.bb
@@ -0,0 +1,21 @@
1DESCRIPTION = "Audio processing bits of the WebRTC reference implementation"
2HOMEPAGE = "https://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/"
3SECTION = "audio"
4
5DEPENDS = "abseil-cpp"
6DEPENDS:append:libc-musl = " libexecinfo"
7
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM = "file://COPYING;md5=da08a38a32a340c5d91e13ee86a118f2"
10
11SRC_URI = " \
12 http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${PV}.tar.xz \
13 file://e9c78dc4712fa6362b0c839ad57b6b46dce1ba83.patch \
14"
15SRC_URI[sha256sum] = "ae9302824b2038d394f10213cab05312c564a038434269f11dbf68f511f9f9fe"
16S = "${UNPACKDIR}/webrtc-audio-processing-${PV}"
17
18LDFLAGS:append:libc-musl = " -lexecinfo"
19# | riscv32-yoe-linux-musl-ld.lld: error: undefined reference: __atomic_store_8
20LDFLAGS:append:riscv32 = " -latomic"
21inherit meson pkgconfig
diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.3.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.10.bb
index c52f22aada..8e50378bfd 100644
--- a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.3.bb
+++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.10.bb
@@ -10,13 +10,12 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \
10 ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ 10 ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \
11" 11"
12 12
13SRCREV = "65e4ae83b994616401fc5859e00d5051b72518ba" 13SRCREV = "7a4d3177550b6b53fe0a49396da5b07f5353daff"
14SRC_URI = " \ 14SRC_URI = " \
15 git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ 15 git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \
16 file://90-OE-disable-session-dbus-dependent-features.lua \ 16 file://90-OE-disable-session-dbus-dependent-features.lua \
17" 17"
18 18
19S = "${WORKDIR}/git"
20 19
21inherit meson pkgconfig gobject-introspection systemd 20inherit meson pkgconfig gobject-introspection systemd
22 21
diff --git a/meta-multimedia/recipes-multimedia/x265/x265/0001-json11.cpp-Include-cstdint.patch b/meta-multimedia/recipes-multimedia/x265/x265/0001-json11.cpp-Include-cstdint.patch
new file mode 100644
index 0000000000..f32316009f
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/x265/x265/0001-json11.cpp-Include-cstdint.patch
@@ -0,0 +1,33 @@
1From 6cbd417be3f6bcbda77464db6a4d83cef3df8904 Mon Sep 17 00:00:00 2001
2From: Leon Anavi <leon.anavi@konsulko.com>
3Date: Mon, 5 May 2025 14:08:36 +0000
4Subject: [PATCH] json11.cpp: Include cstdint
5
6Fixes:
7
8json11.cpp:101:32: error: 'uint8_t' does not name a type
9
10This work was sponsored by GOVCERT.LU.
11
12Upstream-Status: Pending [https://bitbucket.org/multicoreware/x265_git/pull-requests/33]
13
14Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
15---
16 dynamicHDR10/json11/json11.cpp | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/dynamicHDR10/json11/json11.cpp b/dynamicHDR10/json11/json11.cpp
20index 7625777..74f990a 100644
21--- a/dynamicHDR10/json11/json11.cpp
22+++ b/dynamicHDR10/json11/json11.cpp
23@@ -25,6 +25,7 @@
24 #include <cstdlib>
25 #include <cstdio>
26 #include <limits>
27+#include <cstdint>
28
29 #if _MSC_VER
30 #pragma warning(disable: 4510) //const member cannot be default initialized
31--
322.39.5
33
diff --git a/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb b/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
deleted file mode 100644
index 2d4f389e34..0000000000
--- a/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1SUMMARY = "H.265/HEVC video encoder"
2DESCRIPTION = "A free software library and application for encoding video streams into the H.265/HEVC format."
3HOMEPAGE = "http://www.videolan.org/developers/x265.html"
4
5LICENSE = "GPL-2.0-only"
6LICENSE_FLAGS = "commercial"
7LIC_FILES_CHKSUM = "file://../COPYING;md5=c9e0427bc58f129f99728c62d4ad4091"
8
9DEPENDS = "nasm-native gnutls zlib libpcre"
10
11SRC_URI = "http://ftp.videolan.org/pub/videolan/x265/x265_${PV}.tar.gz"
12
13S = "${WORKDIR}/x265_${PV}/source"
14
15SRC_URI[md5sum] = "94808045a34d88a857e5eaf3f68f4bca"
16SRC_URI[sha256sum] = "fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b58cbbcc"
17
18inherit lib_package pkgconfig cmake
19
20do_generate_toolchain_file:append() {
21 echo "set(CMAKE_ASM_NASM_FLAGS --debug-prefix-map ${S}=${TARGET_DBGSRC_DIR})" >> ${WORKDIR}/toolchain.cmake
22}
23
24EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF"
25EXTRA_OECMAKE:append:aarch64 = " -DENABLE_PIC=ON"
26
27AS[unexport] = "1"
28
29COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux'
diff --git a/meta-multimedia/recipes-multimedia/x265/x265_4.1.bb b/meta-multimedia/recipes-multimedia/x265/x265_4.1.bb
new file mode 100644
index 0000000000..dedc3aa4d3
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/x265/x265_4.1.bb
@@ -0,0 +1,32 @@
1SUMMARY = "H.265/HEVC video encoder"
2DESCRIPTION = "A free software library and application for encoding video streams into the H.265/HEVC format."
3HOMEPAGE = "https://bitbucket.org/multicoreware/x265_git"
4
5LICENSE = "GPL-2.0-only"
6LICENSE_FLAGS = "commercial"
7LIC_FILES_CHKSUM = "file://../COPYING;md5=c9e0427bc58f129f99728c62d4ad4091"
8
9DEPENDS = "nasm-native gnutls zlib libpcre numactl"
10
11SRC_URI = " \
12 https://bitbucket.org/multicoreware/x265_git/downloads/x265_${PV}.tar.gz \
13 file://0001-json11.cpp-Include-cstdint.patch \
14"
15SRC_URI[sha256sum] = "a31699c6a89806b74b0151e5e6a7df65de4b49050482fe5ebf8a4379d7af8f29"
16S = "${UNPACKDIR}/x265_${PV}/source"
17
18inherit lib_package cmake pkgconfig
19
20EXTRA_OECMAKE += "-DENABLE_PIC=ON -DENABLE_SHARED=ON -DENABLE_CLI=ON"
21EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF"
22do_generate_toolchain_file:append() {
23 echo "set(CMAKE_ASM_NASM_FLAGS -DPIC --debug-prefix-map ${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR})" >> ${WORKDIR}/toolchain.cmake
24}
25
26PACKAGECONFIG ?= "hdr10plus 10bit"
27PACKAGECONFIG[hdr10plus] = "-DENABLE_HDR10_PLUS=ON,-DENABLE_HDR10_PLUS=OFF"
28PACKAGECONFIG[10bit] = "-DHIGH_BIT_DEPTH=ON,-DHIGH_BIT_DEPTH=OFF"
29
30FILES:${PN} += "${libdir}/libhdr10plus.so"
31FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/libx265.so"
32
diff --git a/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb b/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb
index 5e680c4640..811a876885 100644
--- a/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb
+++ b/meta-multimedia/recipes-support/crossguid/crossguid_0.2.2.bb
@@ -11,7 +11,6 @@ SRCREV = "ca1bf4b810e2d188d04cb6286f957008ee1b7681"
11SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https;branch=master \ 11SRC_URI = "git://github.com/graeme-hill/crossguid;protocol=https;branch=master \
12 file://0001-include-missing-cstdint.patch" 12 file://0001-include-missing-cstdint.patch"
13 13
14S = "${WORKDIR}/git"
15 14
16inherit cmake 15inherit cmake
17 16
diff --git a/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb b/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
index 04d16ffe11..b3953cf5c3 100644
--- a/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
+++ b/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb
@@ -10,7 +10,6 @@ PV = "0.3.1+git"
10 10
11SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;branch=master" 11SRC_URI = "git://github.com/kirushyk/gst-instruments.git;protocol=https;branch=master"
12 12
13S = "${WORKDIR}/git"
14 13
15inherit vala meson pkgconfig 14inherit vala meson pkgconfig
16 15
diff --git a/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb b/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
index 376dd15d17..c5d497c468 100644
--- a/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
+++ b/meta-multimedia/recipes-support/libmediaart/libmediaart-2.0_1.9.6.bb
@@ -13,7 +13,7 @@ inherit gnomebase gobject-introspection vala features_check
13SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz" 13SRC_URI = "${GNOME_MIRROR}/libmediaart/1.9/libmediaart-${PV}.tar.xz"
14SRC_URI[sha256sum] = "c3bc5025d7db380587f9c8eb800c611f6b5a16d6b4b78fcff93f62876a677f17" 14SRC_URI[sha256sum] = "c3bc5025d7db380587f9c8eb800c611f6b5a16d6b4b78fcff93f62876a677f17"
15 15
16S = "${WORKDIR}/libmediaart-${PV}" 16S = "${UNPACKDIR}/libmediaart-${PV}"
17 17
18# gobject-introspection is mandatory and cannot be configured 18# gobject-introspection is mandatory and cannot be configured
19REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" 19REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb b/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
index d1cbe0f590..9130b290b9 100644
--- a/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
+++ b/meta-multimedia/recipes-support/libsrtp/libsrtp_2.5.0.bb
@@ -11,7 +11,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2909fcf6f09ffff8430463d91c08c4e1"
11SRC_URI = "git://github.com/cisco/libsrtp.git;branch=main;protocol=https" 11SRC_URI = "git://github.com/cisco/libsrtp.git;branch=main;protocol=https"
12SRCREV = "a566a9cfcd619e8327784aa7cff4a1276dc1e895" 12SRCREV = "a566a9cfcd619e8327784aa7cff4a1276dc1e895"
13 13
14S = "${WORKDIR}/git"
15 14
16PACKAGECONFIG ?= "" 15PACKAGECONFIG ?= ""
17PACKAGECONFIG[nss] = "-Dcrypto-library=nss,, nss,,, openssl" 16PACKAGECONFIG[nss] = "-Dcrypto-library=nss,, nss,,, openssl"
diff --git a/meta-multimedia/recipes-support/srt/srt_1.4.4.bb b/meta-multimedia/recipes-support/srt/srt_1.4.4.bb
index d6cf36dfbe..91651fda8e 100644
--- a/meta-multimedia/recipes-support/srt/srt_1.4.4.bb
+++ b/meta-multimedia/recipes-support/srt/srt_1.4.4.bb
@@ -11,7 +11,6 @@ SRC_URI = "git://github.com/Haivision/srt;protocol=https;branch=master \
11 file://0001-don-t-install-srt-ffplay.patch \ 11 file://0001-don-t-install-srt-ffplay.patch \
12 " 12 "
13UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)" 13UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
14S = "${WORKDIR}/git"
15 14
16inherit cmake pkgconfig 15inherit cmake pkgconfig
17 16
diff --git a/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb b/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
index 8ffe652b22..c3056c9e86 100644
--- a/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
+++ b/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
@@ -19,8 +19,8 @@ REQUIRED_DISTRO_FEATURES = "opengl wayland"
19SRC_URI = "git://github.com/emersion/xdg-desktop-portal-wlr.git;protocol=https;branch=master \ 19SRC_URI = "git://github.com/emersion/xdg-desktop-portal-wlr.git;protocol=https;branch=master \
20 file://0001-screencast-Fix-build-with-older-mesa.patch" 20 file://0001-screencast-Fix-build-with-older-mesa.patch"
21 21
22S = "${WORKDIR}/git" 22PV .= "+git"
23SRCREV = "776113a4f014639c29d8de8fcb513493ef7b491f" 23SRCREV = "d9ada849aeca6137915de2df69beaef4e272cc1d"
24 24
25PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'basu', d)}" 25PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'basu', d)}"
26 26