summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia')
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch31
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb43
-rw-r--r--meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb44
-rw-r--r--meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb (renamed from meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb)56
-rw-r--r--meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb (renamed from meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb)8
-rw-r--r--meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb (renamed from meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb)8
-rw-r--r--meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.2.bb (renamed from meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb)8
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb (renamed from meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb)6
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils.inc68
-rw-r--r--meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb (renamed from meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb)0
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch52
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch97
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch32
-rw-r--r--meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb (renamed from meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb)119
-rw-r--r--meta/recipes-multimedia/flac/flac_1.3.3.bb12
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-devtools_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb)13
-rw-r--r--meta/recipes-multimedia/gstreamer/gst-examples_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb)13
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb)8
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb22
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb)9
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch31
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb)55
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb)18
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc5
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch32
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb)13
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc29
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb)10
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc23
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb)10
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb)2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb)11
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch56
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch34
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch22
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch257
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch32
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch36
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch110
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch48
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch58
-rwxr-xr-xmeta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest2
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.bb (renamed from meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb)25
-rw-r--r--meta/recipes-multimedia/lame/lame_3.100.bb11
-rw-r--r--meta/recipes-multimedia/liba52/liba52_0.7.4.bb7
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch40
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch34
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch43
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch15
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch39
-rw-r--r--meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb27
-rw-r--r--meta/recipes-multimedia/libogg/libogg_1.3.5.bb (renamed from meta/recipes-multimedia/libogg/libogg_1.3.4.bb)4
-rw-r--r--meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb12
-rw-r--r--meta/recipes-multimedia/libpng/libpng_1.6.37.bb7
-rw-r--r--meta/recipes-multimedia/libsamplerate/libsamplerate0/0001-configure.ac-improve-alsa-handling.patch62
-rw-r--r--meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb (renamed from meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb)14
-rw-r--r--meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb5
-rw-r--r--meta/recipes-multimedia/libtiff/tiff_4.3.0.bb (renamed from meta/recipes-multimedia/libtiff/tiff_4.1.0.bb)17
-rw-r--r--meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb20
-rw-r--r--meta/recipes-multimedia/mpg123/mpg123_1.29.3.bb (renamed from meta/recipes-multimedia/mpg123/mpg123_1.26.3.bb)9
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio.inc136
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch26
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch82
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch114
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch48
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch8
-rw-r--r--meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb (renamed from meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb)7
-rw-r--r--meta/recipes-multimedia/sbc/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch45
-rw-r--r--meta/recipes-multimedia/sbc/sbc_1.5.bb (renamed from meta/recipes-multimedia/sbc/sbc_1.4.bb)13
-rw-r--r--meta/recipes-multimedia/speex/speexdsp_1.2.0.bb8
-rw-r--r--meta/recipes-multimedia/webp/libwebp_1.2.1.bb (renamed from meta/recipes-multimedia/webp/libwebp_1.1.0.bb)11
-rw-r--r--meta/recipes-multimedia/x264/x264_git.bb16
72 files changed, 1124 insertions, 1324 deletions
diff --git a/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch b/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch
deleted file mode 100644
index 98e2988dda..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Thu, 22 Oct 2020 20:57:32 +0200
-Subject: [PATCH] dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be
- declared even for \!DL_ORIGIN_AVAILABLE
-
-Fixes: 8580c081c2 ("dlsym: add support for ALSA_PLUGIN_DIR environment variable")
-BugLink: https://github.com/alsa-project/alsa-lib/issues/91
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-Upstream-Status: Backport
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- src/dlmisc.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/dlmisc.c b/src/dlmisc.c
-index c9517c55..f20eb593 100644
---- a/src/dlmisc.c
-+++ b/src/dlmisc.c
-@@ -42,11 +42,9 @@
- #ifndef PIC
- struct snd_dlsym_link *snd_dlsym_start = NULL;
- #endif
--#ifdef DL_ORIGIN_AVAILABLE
- static int snd_plugin_dir_set = 0;
- static char *snd_plugin_dir = NULL;
- #endif
--#endif
-
- #if defined(DL_ORIGIN_AVAILABLE) && defined(HAVE_LIBPTHREAD)
- static pthread_mutex_t snd_dlpath_mutex = PTHREAD_MUTEX_INITIALIZER;
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb
deleted file mode 100644
index f38e8b94ff..0000000000
--- a/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "ALSA sound library"
-HOMEPAGE = "http://www.alsa-project.org"
-BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
-SECTION = "libs/multimedia"
-LICENSE = "LGPLv2.1 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
- file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \
- "
-
-SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2 \
- file://ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch"
-SRC_URI[sha256sum] = "f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += " \
- ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \
- --disable-python \
-"
-
-PACKAGES =+ "alsa-server alsa-conf libatopology"
-
-FILES_alsa-server = "${bindir}/*"
-FILES_alsa-conf = "${datadir}/alsa/"
-FILES_libatopology = "${libdir}/libatopology.so.*"
-
-RDEPENDS_${PN}_class-target = "alsa-conf alsa-ucm-conf"
-RDEPENDS_libatopology_class-target = "alsa-topology-conf"
-
-# upgrade path
-RPROVIDES_${PN} = "libasound"
-RREPLACES_${PN} = "libasound"
-RCONFLICTS_${PN} = "libasound"
-
-RPROVIDES_${PN}-dev = "alsa-dev"
-RREPLACES_${PN}-dev = "alsa-dev"
-RCONFLICTS_${PN}-dev = "alsa-dev"
-
-RPROVIDES_alsa-conf = "alsa-conf-base"
-RREPLACES_alsa-conf = "alsa-conf-base"
-RCONFLICTS_alsa-conf = "alsa-conf-base"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb
new file mode 100644
index 0000000000..7c03287b84
--- /dev/null
+++ b/meta/recipes-multimedia/alsa/alsa-lib_1.2.6.1.bb
@@ -0,0 +1,44 @@
+SUMMARY = "ALSA sound library"
+DESCRIPTION = "(Occasionally a.k.a. libasound) is a userspace library that \
+provides a level of abstraction over the /dev interfaces provided by the kernel modules."
+HOMEPAGE = "http://www.alsa-project.org"
+BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
+SECTION = "libs/multimedia"
+LICENSE = "LGPLv2.1 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
+ file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \
+ "
+
+SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "ad582993d52cdb5fb159a0beab60a6ac57eab0cc1bdf85dc4db6d6197f02333f"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += " \
+ ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-softfloat', '', d)} \
+ --disable-python \
+"
+
+PACKAGES =+ "alsa-server alsa-conf libatopology"
+
+FILES:alsa-server = "${bindir}/*"
+FILES:alsa-conf = "${datadir}/alsa/"
+FILES:libatopology = "${libdir}/libatopology.so.*"
+
+RDEPENDS:${PN}:class-target = "alsa-conf alsa-ucm-conf"
+RDEPENDS:libatopology:class-target = "alsa-topology-conf"
+
+# upgrade path
+RPROVIDES:${PN} = "libasound"
+RREPLACES:${PN} = "libasound"
+RCONFLICTS:${PN} = "libasound"
+
+RPROVIDES:${PN}-dev = "alsa-dev"
+RREPLACES:${PN}-dev = "alsa-dev"
+RCONFLICTS:${PN}-dev = "alsa-dev"
+
+RPROVIDES:alsa-conf = "alsa-conf-base"
+RREPLACES:alsa-conf = "alsa-conf-base"
+RCONFLICTS:alsa-conf = "alsa-conf-base"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
index e8402a6fcb..7b1ca2ee15 100644
--- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb
+++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.6.bb
@@ -1,4 +1,7 @@
SUMMARY = "ALSA Plugins"
+DESCRIPTION = "Used to create virtual devices that can be used like normal \
+hardware devices but cause extra processing of the sound stream to take place. \
+They are used while configuring ALSA in the .asoundrc file."
HOMEPAGE = "http://alsa-project.org"
BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
SECTION = "multimedia"
@@ -20,8 +23,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
"
SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2"
-SRC_URI[md5sum] = "8455e3c6fbc47f62f070afabc14ba575"
-SRC_URI[sha256sum] = "1c0f06450c928d711719686c9dbece2d480184f36fab11b8f0534cb7b41e337d"
+SRC_URI[sha256sum] = "068818a4b55d8c029daa00015d853d45113f56b224b7c64e1e117988c825b2a0"
DEPENDS += "alsa-lib"
@@ -47,10 +49,10 @@ PACKAGES_DYNAMIC = "^libasound-module-.*"
# The alsa-plugins package doesn't itself contain anything, it just depends on
# all built plugins.
-FILES_${PN} = ""
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
-do_install_append() {
+do_install:append() {
rm -f ${D}${libdir}/alsa-lib/*.la
if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then
@@ -63,10 +65,10 @@ do_install_append() {
fi
}
-python populate_packages_prepend() {
+python populate_packages:prepend() {
plugindir = d.expand('${libdir}/alsa-lib/')
packages = " ".join(do_split_packages(d, plugindir, r'^libasound_module_(.*)\.so$', 'libasound-module-%s', 'Alsa plugin for %s', extra_depends=''))
- d.setVar("RDEPENDS_alsa-plugins", packages)
+ d.setVar("RDEPENDS:alsa-plugins", packages)
}
# Many plugins have a configuration file (plus a symlink in /etc) associated
@@ -82,51 +84,51 @@ python populate_packages_prepend() {
# cause big problems, but some kind of improvement to the packaging could
# probably be done here (at least it would be good to handle the different
# plugins in a consistent way).
-FILES_${MLPREFIX}libasound-module-ctl-arcam-av += "\
+FILES:${MLPREFIX}libasound-module-ctl-arcam-av += "\
${datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf \
${sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-a52 += "\
+FILES:${MLPREFIX}libasound-module-pcm-a52 += "\
${datadir}/alsa/alsa.conf.d/60-a52-encoder.conf \
${sysconfdir}/alsa/conf.d/60-a52-encoder.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-alsa-dsp += "\
+FILES:${MLPREFIX}libasound-module-pcm-alsa-dsp += "\
${datadir}/alsa/alsa.conf.d/98-maemo.conf \
${sysconfdir}/alsa/conf.d/98-maemo.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-jack += "\
+FILES:${MLPREFIX}libasound-module-pcm-jack += "\
${datadir}/alsa/alsa.conf.d/50-jack.conf \
${sysconfdir}/alsa/conf.d/50-jack.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-oss += "\
+FILES:${MLPREFIX}libasound-module-pcm-oss += "\
${datadir}/alsa/alsa.conf.d/50-oss.conf \
${sysconfdir}/alsa/conf.d/50-oss.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-speex += "\
+FILES:${MLPREFIX}libasound-module-pcm-speex += "\
${datadir}/alsa/alsa.conf.d/60-speex.conf \
${sysconfdir}/alsa/conf.d/60-speex.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-upmix += "\
+FILES:${MLPREFIX}libasound-module-pcm-upmix += "\
${datadir}/alsa/alsa.conf.d/60-upmix.conf \
${sysconfdir}/alsa/conf.d/60-upmix.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-usb-stream += "\
+FILES:${MLPREFIX}libasound-module-pcm-usb-stream += "\
${datadir}/alsa/alsa.conf.d/98-usb-stream.conf \
${sysconfdir}/alsa/conf.d/98-usb-stream.conf \
"
-FILES_${MLPREFIX}libasound-module-pcm-vdownmix += "\
+FILES:${MLPREFIX}libasound-module-pcm-vdownmix += "\
${datadir}/alsa/alsa.conf.d/60-vdownmix.conf \
${sysconfdir}/alsa/conf.d/60-vdownmix.conf \
"
-FILES_${MLPREFIX}libasound-module-rate-lavrate += "\
+FILES:${MLPREFIX}libasound-module-rate-lavrate += "\
${datadir}/alsa/alsa.conf.d/10-rate-lav.conf \
${sysconfdir}/alsa/conf.d/10-rate-lav.conf \
"
-FILES_${MLPREFIX}libasound-module-rate-samplerate += "\
+FILES:${MLPREFIX}libasound-module-rate-samplerate += "\
${datadir}/alsa/alsa.conf.d/10-samplerate.conf \
${sysconfdir}/alsa/conf.d/10-samplerate.conf \
"
-FILES_${MLPREFIX}libasound-module-rate-speexrate += "\
+FILES:${MLPREFIX}libasound-module-rate-speexrate += "\
${datadir}/alsa/alsa.conf.d/10-speexrate.conf \
${sysconfdir}/alsa/conf.d/10-speexrate.conf \
"
@@ -147,25 +149,25 @@ FILES_${MLPREFIX}libasound-module-rate-speexrate += "\
# The symlinks cause QA errors, because usually it's a bug if a non
# -dev/-dbg/-nativesdk package contains links to .so files, but in this case
# the errors are false positives, so we disable the QA checks.
-FILES_${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so"
-FILES_${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
-FILES_${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-lavrate = "dev-so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
-INSANE_SKIP_${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
+FILES:${MLPREFIX}libasound-module-rate-lavrate += "${libdir}/alsa-lib/*rate_lavrate_*.so"
+FILES:${MLPREFIX}libasound-module-rate-samplerate += "${libdir}/alsa-lib/*rate_samplerate_*.so"
+FILES:${MLPREFIX}libasound-module-rate-speexrate += "${libdir}/alsa-lib/*rate_speexrate_*.so"
+INSANE_SKIP:${MLPREFIX}libasound-module-rate-lavrate = "dev-so"
+INSANE_SKIP:${MLPREFIX}libasound-module-rate-samplerate = "dev-so"
+INSANE_SKIP:${MLPREFIX}libasound-module-rate-speexrate = "dev-so"
# 50-pulseaudio.conf defines a device named "pulse" that applications can use
# if they explicitly want to use the PulseAudio plugin.
# 99-pulseaudio-default.conf configures the "default" device to use the
# PulseAudio plugin.
-FILES_${PN}-pulseaudio-conf += "\
+FILES:${PN}-pulseaudio-conf += "\
${datadir}/alsa/alsa.conf.d/50-pulseaudio.conf \
${datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf \
${sysconfdir}/alsa/conf.d/50-pulseaudio.conf \
${sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf \
"
-RDEPENDS_${PN}-pulseaudio-conf += "\
+RDEPENDS:${PN}-pulseaudio-conf += "\
${MLPREFIX}libasound-module-conf-pulse \
${MLPREFIX}libasound-module-ctl-pulse \
${MLPREFIX}libasound-module-pcm-pulse \
diff --git a/meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb b/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb
index 0838be8798..540f4f79f4 100644
--- a/meta/recipes-multimedia/alsa/alsa-tools_1.2.2.bb
+++ b/meta/recipes-multimedia/alsa/alsa-tools_1.2.5.bb
@@ -1,4 +1,7 @@
SUMMARY = "Advanced tools for certain ALSA sound card drivers"
+DESCRIPTION = "Package containing a number of tools ranging from envy24control \
+which provides complete control over all devices with an envy24 chip, to \
+firmware loaders for pcmcia, USB and the hdsp devices."
HOMEPAGE = "http://www.alsa-project.org"
BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
SECTION = "console/utils"
@@ -11,8 +14,7 @@ LIC_FILES_CHKSUM = "file://hdsploader/COPYING;md5=59530bdf33659b29e73d4adb9f9f65
SRC_URI = "https://www.alsa-project.org/files/pub/tools/${BP}.tar.bz2"
-SRC_URI[md5sum] = "4e6187d2c3a8c73a9d75d66a72faed27"
-SRC_URI[sha256sum] = "bfd3c7aae1289269605d3da02279159b10e3dabdd31e658cbceaa30170957349"
+SRC_URI[sha256sum] = "35a71027a01f4d7de4722e223520e940de68b3c570b6c671691567ae28f9893e"
inherit autotools-brokensep pkgconfig
# brokensep as as10k1 (and probably more) fail out of tree
@@ -83,4 +85,4 @@ python do_install() {
pass
}
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
diff --git a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
index aac4b48948..4374a6bb6d 100644
--- a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb
+++ b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.5.1.bb
@@ -1,11 +1,15 @@
SUMMARY = "ALSA topology configuration files"
+DESCRIPTION = "Provides a method for audio drivers to load their mixers, \
+routing, PCMs and capabilities from user space at runtime without changing \
+any driver source code."
HOMEPAGE = "https://alsa-project.org"
BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "55e0e6e42eca4cc7656c257af2440cdc65b83689dca49fc60ca0194db079ed07"
+SRC_URI[sha256sum] = "f7c5bae1545abcd73824bc97f4e72c340e11abea188ba0f1c06f5e0ad776b179"
+# Something went wrong at upstream tarballing
inherit allarch
@@ -16,4 +20,4 @@ do_install() {
PACKAGES = "${PN}"
-FILES_${PN} = "*"
+FILES:${PN} = "*"
diff --git a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.2.bb
index da41c3db75..10860e61a0 100644
--- a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb
+++ b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.6.2.bb
@@ -1,11 +1,15 @@
SUMMARY = "ALSA Use Case Manager configuration"
+DESCRIPTION = "This package contains ALSA Use Case Manager configuration \
+of audio input/output names and routing for specific audio hardware. \
+They can be used with the alsaucm tool. "
HOMEPAGE = "https://alsa-project.org"
BUGTRACKER = "https://alsa-project.org/wiki/Bug_Tracking"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=20d74d74db9741697903372ad001d3b4"
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "2c3b535c77dcb9aaf62a61f4f8324f1ab184162f105f7ec9ed1e37c742fcd340"
+SRC_URI[sha256sum] = "8be24fb9fe789ee2778ae6f32e18e8043fe7f8bc735871e9d17c68a04566a822"
+# Something went wrong at upstream tarballing
inherit allarch
@@ -17,4 +21,4 @@ do_install() {
PACKAGES = "${PN}"
-FILES_${PN} = "*"
+FILES:${PN} = "*"
diff --git a/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb b/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb
index 048fef68a5..000e984a7d 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.6.bb
@@ -3,12 +3,12 @@ require alsa-utils.inc
SUMMARY = "Shell scripts that show help info and create ALSA configuration files"
PROVIDES = "alsa-utils-alsaconf"
-FILESEXTRAPATHS_prepend := "${THISDIR}/alsa-utils:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/alsa-utils:"
PACKAGES = "${PN}"
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash"
-FILES_${PN} = "${sbindir}/alsaconf \
+FILES:${PN} = "${sbindir}/alsaconf \
${sbindir}/alsa-info.sh \
${sbindir}/alsabat-test.sh \
"
diff --git a/meta/recipes-multimedia/alsa/alsa-utils.inc b/meta/recipes-multimedia/alsa/alsa-utils.inc
index c001b29a0c..631cbe1029 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils.inc
+++ b/meta/recipes-multimedia/alsa/alsa-utils.inc
@@ -1,4 +1,6 @@
SUMMARY = "ALSA sound utilities"
+DESCRIPTION = "collection of small and often extremely powerful applications \
+designed to allow users to control the various parts of the ALSA system."
HOMEPAGE = "http://www.alsa-project.org"
BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking"
SECTION = "console/utils"
@@ -22,7 +24,7 @@ PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook
# alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe
SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426"
+SRC_URI[sha256sum] = "6a1efd8a1f1d9d38e489633eaec1fffa5c315663b316cab804be486887e6145d"
# On build machines with python-docutils (not python3-docutils !!) installed
# rst2man (not rst2man.py) is detected and compile fails with
@@ -53,41 +55,41 @@ ALSA_UTILS_PKGS = "\
"
PACKAGES += "${ALSA_UTILS_PKGS}"
-RDEPENDS_${PN} += "${ALSA_UTILS_PKGS}"
+RDEPENDS:${PN} += "${ALSA_UTILS_PKGS}"
-FILES_${PN} = ""
-ALLOW_EMPTY_alsa-utils = "1"
-FILES_alsa-utils-alsabat = "${bindir}/alsabat"
-FILES_alsa-utils-alsatplg = "${bindir}/alsatplg"
-FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
-FILES_alsa-utils-amixer = "${bindir}/amixer"
-FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
-FILES_alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
-FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
-FILES_alsa-utils-aconnect = "${bindir}/aconnect"
-FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
-FILES_alsa-utils-iecset = "${bindir}/iecset"
-FILES_alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
-FILES_alsa-utils-aseqdump = "${bindir}/aseqdump"
-FILES_alsa-utils-alsaloop = "${bindir}/alsaloop"
-FILES_alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
+FILES:${PN} = ""
+ALLOW_EMPTY:alsa-utils = "1"
+FILES:alsa-utils-alsabat = "${bindir}/alsabat"
+FILES:alsa-utils-alsatplg = "${bindir}/alsatplg"
+FILES:alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord ${bindir}/axfer"
+FILES:alsa-utils-amixer = "${bindir}/amixer"
+FILES:alsa-utils-alsamixer = "${bindir}/alsamixer"
+FILES:alsa-utils-speakertest = "${bindir}/speaker-test ${datadir}/sounds/alsa/ ${datadir}/alsa/speaker-test/"
+FILES:alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
+FILES:alsa-utils-aconnect = "${bindir}/aconnect"
+FILES:alsa-utils-aseqnet = "${bindir}/aseqnet"
+FILES:alsa-utils-iecset = "${bindir}/iecset"
+FILES:alsa-utils-alsactl = "${sbindir}/alsactl */udev/rules.d/90-alsa-restore.rules */*/udev/rules.d/90-alsa-restore.rules ${systemd_unitdir} ${localstatedir}/lib/alsa ${datadir}/alsa/init/"
+FILES:alsa-utils-aseqdump = "${bindir}/aseqdump"
+FILES:alsa-utils-alsaloop = "${bindir}/alsaloop"
+FILES:alsa-utils-alsaucm = "${bindir}/alsaucm */udev/rules.d/89-alsa-ucm.rules */*/udev/rules.d/89-alsa-ucm.rules"
-SUMMARY_alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver"
-SUMMARY_alsa-utils-alsatplg = "Converts topology text files into binary format for kernel"
-SUMMARY_alsa-utils-aplay = "Play (and record) sound files using ALSA"
-SUMMARY_alsa-utils-amixer = "Command-line control for ALSA mixer and settings"
-SUMMARY_alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings"
-SUMMARY_alsa-utils-speakertest = "ALSA surround speaker test utility"
-SUMMARY_alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA"
-SUMMARY_alsa-utils-aconnect = "ALSA sequencer connection manager"
-SUMMARY_alsa-utils-aseqnet = "Network client/server for ALSA sequencer"
-SUMMARY_alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
-SUMMARY_alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state"
-SUMMARY_alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port"
-SUMMARY_alsa-utils-alsaloop = "ALSA PCM loopback utility"
-SUMMARY_alsa-utils-alsaucm = "ALSA Use Case Manager"
+SUMMARY:alsa-utils-alsabat = "Command-line sound tester for ALSA sound card driver"
+SUMMARY:alsa-utils-alsatplg = "Converts topology text files into binary format for kernel"
+SUMMARY:alsa-utils-aplay = "Play (and record) sound files using ALSA"
+SUMMARY:alsa-utils-amixer = "Command-line control for ALSA mixer and settings"
+SUMMARY:alsa-utils-alsamixer = "ncurses-based control for ALSA mixer and settings"
+SUMMARY:alsa-utils-speakertest = "ALSA surround speaker test utility"
+SUMMARY:alsa-utils-midi = "Miscellaneous MIDI utilities for ALSA"
+SUMMARY:alsa-utils-aconnect = "ALSA sequencer connection manager"
+SUMMARY:alsa-utils-aseqnet = "Network client/server for ALSA sequencer"
+SUMMARY:alsa-utils-iecset = "ALSA utility for setting/showing IEC958 (S/PDIF) status bits"
+SUMMARY:alsa-utils-alsactl = "Saves/restores ALSA-settings in /etc/asound.state"
+SUMMARY:alsa-utils-aseqdump = "Shows the events received at an ALSA sequencer port"
+SUMMARY:alsa-utils-alsaloop = "ALSA PCM loopback utility"
+SUMMARY:alsa-utils-alsaucm = "ALSA Use Case Manager"
-RRECOMMENDS_alsa-utils-alsactl = "alsa-states"
+RRECOMMENDS:alsa-utils-alsactl = "alsa-states"
do_install() {
autotools_do_install
diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb
index 3430288da4..3430288da4 100644
--- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb
+++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.6.bb
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch
deleted file mode 100644
index 7635c9196a..0000000000
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From aebb72e025cbfbd4a6765354f6f565ad4ac89789 Mon Sep 17 00:00:00 2001
-From: Jun Zhao <barryjzhao@tencent.com>
-Date: Sun, 12 Jul 2020 05:48:48 +0800
-Subject: [PATCH] lavf/srt: fix build fail when used the libsrt 1.4.1
-
-lavf/srt: fix build fail when used the libsrt 1.4.1
-
-libsrt changed the:
-SRTO_SMOOTHER -> SRTO_CONGESTION
-SRTO_STRICTENC -> SRTO_ENFORCEDENCRYPTION
-and removed the front of deprecated options (SRTO_SMOOTHER/SRTO_STRICTENC)
-in the header, it's lead to build fail
-
-fix #8760
-
-Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/7c59e1b0f285cd7c7b35fcd71f49c5fd52cf9315]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
-Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
----
- libavformat/libsrt.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c
-index 4de575b..4719ce0 100644
---- a/libavformat/libsrt.c
-+++ b/libavformat/libsrt.c
-@@ -313,8 +313,12 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
- (s->pbkeylen >= 0 && libsrt_setsockopt(h, fd, SRTO_PBKEYLEN, "SRTO_PBKEYLEN", &s->pbkeylen, sizeof(s->pbkeylen)) < 0) ||
- (s->passphrase && libsrt_setsockopt(h, fd, SRTO_PASSPHRASE, "SRTO_PASSPHRASE", s->passphrase, strlen(s->passphrase)) < 0) ||
- #if SRT_VERSION_VALUE >= 0x010302
-+#if SRT_VERSION_VALUE >= 0x010401
-+ (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_ENFORCEDENCRYPTION, "SRTO_ENFORCEDENCRYPTION", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
-+#else
- /* SRTO_STRICTENC == SRTO_ENFORCEDENCRYPTION (53), but for compatibility, we used SRTO_STRICTENC */
- (s->enforced_encryption >= 0 && libsrt_setsockopt(h, fd, SRTO_STRICTENC, "SRTO_STRICTENC", &s->enforced_encryption, sizeof(s->enforced_encryption)) < 0) ||
-+#endif
- (s->kmrefreshrate >= 0 && libsrt_setsockopt(h, fd, SRTO_KMREFRESHRATE, "SRTO_KMREFRESHRATE", &s->kmrefreshrate, sizeof(s->kmrefreshrate)) < 0) ||
- (s->kmpreannounce >= 0 && libsrt_setsockopt(h, fd, SRTO_KMPREANNOUNCE, "SRTO_KMPREANNOUNCE", &s->kmpreannounce, sizeof(s->kmpreannounce)) < 0) ||
- #endif
-@@ -333,7 +337,11 @@ static int libsrt_set_options_pre(URLContext *h, int fd)
- (s->lossmaxttl >= 0 && libsrt_setsockopt(h, fd, SRTO_LOSSMAXTTL, "SRTO_LOSSMAXTTL", &s->lossmaxttl, sizeof(s->lossmaxttl)) < 0) ||
- (s->minversion >= 0 && libsrt_setsockopt(h, fd, SRTO_MINVERSION, "SRTO_MINVERSION", &s->minversion, sizeof(s->minversion)) < 0) ||
- (s->streamid && libsrt_setsockopt(h, fd, SRTO_STREAMID, "SRTO_STREAMID", s->streamid, strlen(s->streamid)) < 0) ||
-+#if SRT_VERSION_VALUE >= 0x010401
-+ (s->smoother && libsrt_setsockopt(h, fd, SRTO_CONGESTION, "SRTO_CONGESTION", s->smoother, strlen(s->smoother)) < 0) ||
-+#else
- (s->smoother && libsrt_setsockopt(h, fd, SRTO_SMOOTHER, "SRTO_SMOOTHER", s->smoother, strlen(s->smoother)) < 0) ||
-+#endif
- (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) ||
- (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) ||
- ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) {
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
new file mode 100644
index 0000000000..2b4ca0e9b9
--- /dev/null
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-libavutil-include-assembly-with-full-path-from-sourc.patch
@@ -0,0 +1,97 @@
+From 24a58d70cbb3997e471366bd5afe54be9007bfb1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 10 Nov 2020 15:32:14 +0000
+Subject: [PATCH] libavutil: include assembly with full path from source root
+
+Otherwise nasm writes the full host-specific paths into .o
+output, which breaks binary reproducibility.
+
+Upstream-Status: Submitted [by email to jamrial@gmail.com,ffmpeg-devel@ffmpeg.org]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ libavutil/x86/cpuid.asm | 2 +-
+ libavutil/x86/emms.asm | 2 +-
+ libavutil/x86/fixed_dsp.asm | 2 +-
+ libavutil/x86/float_dsp.asm | 2 +-
+ libavutil/x86/lls.asm | 2 +-
+ libavutil/x86/pixelutils.asm | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/libavutil/x86/cpuid.asm b/libavutil/x86/cpuid.asm
+index c3f7866..766f77f 100644
+--- a/libavutil/x86/cpuid.asm
++++ b/libavutil/x86/cpuid.asm
+@@ -21,7 +21,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/emms.asm b/libavutil/x86/emms.asm
+index 8611762..df84f22 100644
+--- a/libavutil/x86/emms.asm
++++ b/libavutil/x86/emms.asm
+@@ -18,7 +18,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/fixed_dsp.asm b/libavutil/x86/fixed_dsp.asm
+index 979dd5c..2f41185 100644
+--- a/libavutil/x86/fixed_dsp.asm
++++ b/libavutil/x86/fixed_dsp.asm
+@@ -20,7 +20,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/float_dsp.asm b/libavutil/x86/float_dsp.asm
+index 517fd63..b773e61 100644
+--- a/libavutil/x86/float_dsp.asm
++++ b/libavutil/x86/float_dsp.asm
+@@ -20,7 +20,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION_RODATA 32
+ pd_reverse: dd 7, 6, 5, 4, 3, 2, 1, 0
+diff --git a/libavutil/x86/lls.asm b/libavutil/x86/lls.asm
+index 317fba6..d2526d1 100644
+--- a/libavutil/x86/lls.asm
++++ b/libavutil/x86/lls.asm
+@@ -20,7 +20,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
+diff --git a/libavutil/x86/pixelutils.asm b/libavutil/x86/pixelutils.asm
+index 36c57c5..8b45ead 100644
+--- a/libavutil/x86/pixelutils.asm
++++ b/libavutil/x86/pixelutils.asm
+@@ -21,7 +21,7 @@
+ ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ ;******************************************************************************
+
+-%include "x86util.asm"
++%include "libavutil/x86/x86util.asm"
+
+ SECTION .text
+
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch
deleted file mode 100644
index 69429af8f0..0000000000
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg/mips64_cpu_detection.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-It will add -mips64r6 and -mips64r2 to cmdline which will
-cause conflicts
-
-in OE we user mips32r2 and mips64r2 for mips arch versions
-so there is no benefit of detecting it automatically by
-poking at tools especially in cross env
-
-Fixes errors like
-
-linking -mnan=2008 module with previous -mnan=legacy modules
-failed to merge target specific data of file
-
--Khem
-Upstream-Status: Inappropriate [OE-Specific]
-
-Index: ffmpeg-3.1.1/configure
-===================================================================
---- ffmpeg-3.1.1.orig/configure
-+++ ffmpeg-3.1.1/configure
-@@ -5220,12 +5220,9 @@ elif enabled mips; then
-
- # Enable minimum ISA based on selected options
- if enabled mips64; then
-- enabled mips64r6 && check_inline_asm_flags mips64r6 '"dlsa $0, $0, $0, 1"' '-mips64r6'
- enabled mips64r2 && check_inline_asm_flags mips64r2 '"dext $0, $0, 0, 1"' '-mips64r2'
- disabled mips64r6 && disabled mips64r2 && check_inline_asm_flags mips64r1 '"daddi $0, $0, 0"' '-mips64'
- else
-- enabled mips32r6 && check_inline_asm_flags mips32r6 '"aui $0, $0, 0"' '-mips32r6'
-- enabled mips32r5 && check_inline_asm_flags mips32r5 '"eretnc"' '-mips32r5'
- enabled mips32r2 && check_inline_asm_flags mips32r2 '"ext $0, $0, 0, 1"' '-mips32r2'
- disabled mips32r6 && disabled mips32r5 && disabled mips32r2 && check_inline_asm_flags mips32r1 '"addi $0, $0, 0"' '-mips32'
- fi
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
index 72c2fe16ec..3ba07c31d6 100644
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.4.1.bb
@@ -5,17 +5,17 @@ DESCRIPTION = "FFmpeg is the leading multimedia framework, able to decode, encod
HOMEPAGE = "https://www.ffmpeg.org/"
SECTION = "libs"
-LICENSE = "BSD & GPLv2+ & LGPLv2.1+ & MIT"
-LICENSE_${PN} = "GPLv2+"
-LICENSE_libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libpostproc = "GPLv2+"
-LICENSE_libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
-LICENSE_libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE = "GPLv2+ & LGPLv2.1+ & ISC & MIT & BSD-2-Clause & BSD-3-Clause & IJG"
+LICENSE:${PN} = "GPLv2+"
+LICENSE:libavcodec = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavdevice = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavfilter = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavformat = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libavutil = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libpostproc = "GPLv2+"
+LICENSE:libswresample = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
+LICENSE:libswscale = "${@bb.utils.contains('PACKAGECONFIG', 'gpl', 'GPLv2+', 'LGPLv2.1+', d)}"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -24,15 +24,14 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz \
- file://mips64_cpu_detection.patch \
- file://0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch \
+ file://0001-libavutil-include-assembly-with-full-path-from-sourc.patch \
"
-SRC_URI[sha256sum] = "ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb"
+SRC_URI[sha256sum] = "eadbad9e9ab30b25f5520fbfde99fae4a92a1ae3c0257a8d68569a4651e30e02"
# Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv6 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
# Should be API compatible with libav (which was a fork of ffmpeg)
# libpostproc was previously packaged from a separate recipe
@@ -43,7 +42,8 @@ DEPENDS = "nasm-native"
inherit autotools pkgconfig
PACKAGECONFIG ??= "avdevice avfilter avcodec avformat swresample swscale postproc avresample \
- alsa bzlib gpl lzma theora x264 zlib \
+ alsa bzlib lzma pic pthreads shared theora zlib \
+ ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}"
# libraries to build in addition to avutil
@@ -64,6 +64,7 @@ PACKAGECONFIG[fdk-aac] = "--enable-libfdk-aac --enable-nonfree,--disable-libfdk-
PACKAGECONFIG[gpl] = "--enable-gpl,--disable-gpl"
PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm"
PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack"
+PACKAGECONFIG[libopus] = "--enable-libopus,--disable-libopus,libopus"
PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis"
PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz"
PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk"
@@ -82,6 +83,13 @@ PACKAGECONFIG[xcb] = "--enable-libxcb,--disable-libxcb,libxcb"
PACKAGECONFIG[xv] = "--enable-outdev=xv,--disable-outdev=xv,libxv"
PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
+# other configuration options
+PACKAGECONFIG[mips32r2] = ",--disable-mipsdsp --disable-mipsdspr2"
+PACKAGECONFIG[pic] = "--enable-pic"
+PACKAGECONFIG[pthreads] = "--enable-pthreads,--disable-pthreads"
+PACKAGECONFIG[shared] = "--enable-shared"
+PACKAGECONFIG[strip] = ",--disable-stripping"
+
# Check codecs that require --enable-nonfree
USE_NONFREE = "${@bb.utils.contains_any('PACKAGECONFIG', [ 'openssl' ], 'yes', '', d)}"
@@ -92,37 +100,43 @@ def cpu(d):
return 'generic'
EXTRA_OECONF = " \
- --disable-stripping \
- --enable-pic \
- --enable-shared \
- --enable-pthreads \
${@bb.utils.contains('USE_NONFREE', 'yes', '--enable-nonfree', '', d)} \
\
--cross-prefix=${TARGET_PREFIX} \
\
- --ld="${CCLD}" \
- --cc="${CC}" \
- --cxx="${CXX}" \
+ --ld='${CCLD}' \
+ --cc='${CC}' \
+ --cxx='${CXX}' \
--arch=${TARGET_ARCH} \
- --target-os="linux" \
+ --target-os='linux' \
--enable-cross-compile \
- --extra-cflags="${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" \
- --extra-ldflags="${LDFLAGS}" \
- --sysroot="${STAGING_DIR_TARGET}" \
+ --extra-cflags='${CFLAGS} ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}' \
+ --extra-ldflags='${LDFLAGS}' \
+ --sysroot='${STAGING_DIR_TARGET}' \
${EXTRA_FFCONF} \
--libdir=${libdir} \
--shlibdir=${libdir} \
--datadir=${datadir}/ffmpeg \
- ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \
--cpu=${@cpu(d)} \
--pkg-config=pkg-config \
"
-EXTRA_OECONF_append_linux-gnux32 = " --disable-asm"
+EXTRA_OECONF:append:linux-gnux32 = " --disable-asm"
+
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r2', '--disable-mips64r6 --disable-mips32r6', '', d)}"
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'mips32r6', '--disable-mips64r2 --disable-mips32r2', '', d)}"
+EXTRA_OECONF:append:mips = " --extra-libs=-latomic --disable-mips32r5 --disable-mipsdsp --disable-mipsdspr2 \
+ --disable-loongson2 --disable-loongson3 --disable-mmi --disable-msa --disable-msa2"
+EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic"
+EXTRA_OECONF:append:armv5 = " --extra-libs=-latomic"
+EXTRA_OECONF:append:powerpc = " --extra-libs=-latomic"
+
# gold crashes on x86, another solution is to --disable-asm but thats more hacky
# ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
-LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append:x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
EXTRA_OEMAKE = "V=1"
@@ -130,6 +144,11 @@ do_configure() {
${S}/configure ${EXTRA_OECONF}
}
+# patch out build host paths for reproducibility
+do_compile:prepend:class-target() {
+ sed -i -e "s,${WORKDIR},,g" ${B}/config.h
+}
+
PACKAGES =+ "libavcodec \
libavdevice \
libavfilter \
@@ -140,23 +159,23 @@ PACKAGES =+ "libavcodec \
libswresample \
libswscale"
-FILES_libavcodec = "${libdir}/libavcodec${SOLIBS}"
-FILES_libavdevice = "${libdir}/libavdevice${SOLIBS}"
-FILES_libavfilter = "${libdir}/libavfilter${SOLIBS}"
-FILES_libavformat = "${libdir}/libavformat${SOLIBS}"
-FILES_libavresample = "${libdir}/libavresample${SOLIBS}"
-FILES_libavutil = "${libdir}/libavutil${SOLIBS}"
-FILES_libpostproc = "${libdir}/libpostproc${SOLIBS}"
-FILES_libswresample = "${libdir}/libswresample${SOLIBS}"
-FILES_libswscale = "${libdir}/libswscale${SOLIBS}"
+FILES:libavcodec = "${libdir}/libavcodec${SOLIBS}"
+FILES:libavdevice = "${libdir}/libavdevice${SOLIBS}"
+FILES:libavfilter = "${libdir}/libavfilter${SOLIBS}"
+FILES:libavformat = "${libdir}/libavformat${SOLIBS}"
+FILES:libavresample = "${libdir}/libavresample${SOLIBS}"
+FILES:libavutil = "${libdir}/libavutil${SOLIBS}"
+FILES:libpostproc = "${libdir}/libpostproc${SOLIBS}"
+FILES:libswresample = "${libdir}/libswresample${SOLIBS}"
+FILES:libswscale = "${libdir}/libswscale${SOLIBS}"
# ffmpeg disables PIC on some platforms (e.g. x86-32)
-INSANE_SKIP_${MLPREFIX}libavcodec = "textrel"
-INSANE_SKIP_${MLPREFIX}libavdevice = "textrel"
-INSANE_SKIP_${MLPREFIX}libavfilter = "textrel"
-INSANE_SKIP_${MLPREFIX}libavformat = "textrel"
-INSANE_SKIP_${MLPREFIX}libavutil = "textrel"
-INSANE_SKIP_${MLPREFIX}libavresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libswscale = "textrel"
-INSANE_SKIP_${MLPREFIX}libswresample = "textrel"
-INSANE_SKIP_${MLPREFIX}libpostproc = "textrel"
+INSANE_SKIP:${MLPREFIX}libavcodec = "textrel"
+INSANE_SKIP:${MLPREFIX}libavdevice = "textrel"
+INSANE_SKIP:${MLPREFIX}libavfilter = "textrel"
+INSANE_SKIP:${MLPREFIX}libavformat = "textrel"
+INSANE_SKIP:${MLPREFIX}libavutil = "textrel"
+INSANE_SKIP:${MLPREFIX}libavresample = "textrel"
+INSANE_SKIP:${MLPREFIX}libswscale = "textrel"
+INSANE_SKIP:${MLPREFIX}libswresample = "textrel"
+INSANE_SKIP:${MLPREFIX}libpostproc = "textrel"
diff --git a/meta/recipes-multimedia/flac/flac_1.3.3.bb b/meta/recipes-multimedia/flac/flac_1.3.3.bb
index cb6692aedf..c796cacd2c 100644
--- a/meta/recipes-multimedia/flac/flac_1.3.3.bb
+++ b/meta/recipes-multimedia/flac/flac_1.3.3.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "FLAC stands for Free Lossless Audio Codec, a lossless audio compr
HOMEPAGE = "https://xiph.org/flac/"
BUGTRACKER = "http://sourceforge.net/p/flac/bugs/"
SECTION = "libs"
-LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD"
+LICENSE = "GFDL-1.2 & GPLv2+ & LGPLv2.1+ & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.FDL;md5=ad1419ecc56e060eccf8184a87c4285f \
file://src/Makefile.am;beginline=1;endline=17;md5=09501c864f89dfc7ead65553129817ca \
file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
@@ -38,9 +38,9 @@ EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "core2", " --enable-sse",
EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "corei7", " --enable-sse", "", d)}"
PACKAGES += "libflac libflac++ liboggflac liboggflac++"
-FILES_${PN} = "${bindir}/*"
-FILES_libflac = "${libdir}/libFLAC.so.*"
-FILES_libflac++ = "${libdir}/libFLAC++.so.*"
-FILES_liboggflac = "${libdir}/libOggFLAC.so.*"
-FILES_liboggflac++ = "${libdir}/libOggFLAC++.so.*"
+FILES:${PN} = "${bindir}/*"
+FILES:libflac = "${libdir}/libFLAC.so.*"
+FILES:libflac++ = "${libdir}/libFLAC++.so.*"
+FILES:liboggflac = "${libdir}/libOggFLAC.so.*"
+FILES:liboggflac++ = "${libdir}/libOggFLAC++.so.*"
diff --git a/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.5.bb
index 2e09ef9c25..1b46b89cb9 100644
--- a/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.5.bb
@@ -12,12 +12,12 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}
file://0001-connect-has-a-different-signature-on-musl.patch \
"
-SRC_URI[sha256sum] = "712212babd2238233d55beecfc0fe1ea8db18e8807ac6ab05a64505b2c7ab0df"
+SRC_URI[sha256sum] = "fecffc86447daf5c2a06843c757a991d745caa2069446a0d746e99b13f7cb079"
DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
-RRECOMMENDS_${PN} = "git"
+RRECOMMENDS:${PN} = "git"
-FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
+FILES:${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*"
inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
@@ -38,5 +38,12 @@ EXTRA_OEMESON += " \
${@gettext_oemeson(d)} \
"
+do_install:append () {
+ for fn in ${bindir}/gst-validate-launcher \
+ ${libdir}/gst-validate-launcher/python/launcher/config.py; do
+ sed -i -e 's,${B},/usr/src/debug/${PN},g' -e 's,${S},/usr/src/debug/${PN},g' ${D}$fn
+ done
+}
+
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.5.bb
index 048b45a08f..a720bb73ff 100644
--- a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.5.bb
@@ -1,4 +1,7 @@
SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
+DESCRIPTION = "GStreamer example applications"
+HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
LICENSE = "LGPL-2.0+"
LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
@@ -9,7 +12,7 @@ SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=http
file://gst-player.desktop \
"
-SRCREV = "998ee69af18a5928759dbe17fffbceebbc8d72d0"
+SRCREV = "fe9a365dc0f1ff632abcfe3322ac5527a2cf30a0"
S = "${WORKDIR}/git"
@@ -19,14 +22,14 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-do_install_append() {
+do_install:append() {
install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
}
-RDEPENDS_${PN} = "gstreamer1.0-plugins-base-playback"
-RRECOMMENDS_${PN} = "gstreamer1.0-plugins-base-meta \
+RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback"
+RRECOMMENDS:${PN} = "gstreamer1.0-plugins-base-meta \
gstreamer1.0-plugins-good-meta \
gstreamer1.0-plugins-bad-meta \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-libav", "", d)} \
${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
-RPROVIDES_${PN} += "gst-player gst-player-bin"
+RPROVIDES:${PN} += "gst-player gst-player-bin"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
index 38bbffafa4..a77ec62759 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
@@ -1,4 +1,6 @@
SUMMARY = "Libav-based GStreamer 1.x plugin"
+DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
+muxers, and demuxers provided by FFmpeg."
HOMEPAGE = "http://gstreamer.freedesktop.org/"
SECTION = "multimedia"
@@ -10,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
"
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "39a717bc2613efbbba19df3cf5cacff0987471fc8281ba2c5dcdeaded79c2ed8"
+SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548"
S = "${WORKDIR}/gst-libav-${PV}"
@@ -18,5 +20,5 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
inherit meson pkgconfig upstream-version-is-even
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
index 016e176707..57a9adbaec 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-meta-base.bb
@@ -18,13 +18,13 @@ PACKAGES = "\
gstreamer1.0-meta-debug \
gstreamer1.0-meta-video"
-ALLOW_EMPTY_gstreamer1.0-meta-base = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-x11-base = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-audio = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-debug = "1"
-ALLOW_EMPTY_gstreamer1.0-meta-video = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-base = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-x11-base = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-audio = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-debug = "1"
+ALLOW_EMPTY:gstreamer1.0-meta-video = "1"
-RDEPENDS_gstreamer1.0-meta-base = "\
+RDEPENDS:gstreamer1.0-meta-base = "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gstreamer1.0-meta-x11-base', '', d)} \
gstreamer1.0 \
gstreamer1.0-plugins-base-playback \
@@ -39,11 +39,11 @@ RDEPENDS_gstreamer1.0-meta-base = "\
gstreamer1.0-plugins-good-autodetect \
gstreamer1.0-plugins-good-soup"
-RRECOMMENDS_gstreamer1.0-meta-x11-base = "\
+RRECOMMENDS:gstreamer1.0-meta-x11-base = "\
gstreamer1.0-plugins-base-ximagesink \
gstreamer1.0-plugins-base-xvimagesink"
-RDEPENDS_gstreamer1.0-meta-audio = "\
+RDEPENDS:gstreamer1.0-meta-audio = "\
gstreamer1.0-meta-base \
gstreamer1.0-plugins-base-vorbis \
gstreamer1.0-plugins-base-ogg \
@@ -51,18 +51,18 @@ RDEPENDS_gstreamer1.0-meta-audio = "\
gstreamer1.0-plugins-good-flac \
${COMMERCIAL_AUDIO_PLUGINS}"
-RDEPENDS_gstreamer1.0-meta-debug = "\
+RDEPENDS:gstreamer1.0-meta-debug = "\
gstreamer1.0-meta-base \
gstreamer1.0-plugins-good-debug \
gstreamer1.0-plugins-base-audiotestsrc \
gstreamer1.0-plugins-base-videotestsrc"
-RDEPENDS_gstreamer1.0-meta-video = "\
+RDEPENDS:gstreamer1.0-meta-video = "\
gstreamer1.0-meta-base \
gstreamer1.0-plugins-good-avi \
gstreamer1.0-plugins-good-matroska \
gstreamer1.0-plugins-base-theora \
${COMMERCIAL_VIDEO_PLUGINS}"
-RRECOMMENDS_gstreamer1.0-meta-video = "\
+RRECOMMENDS:gstreamer1.0-meta-video = "\
gstreamer1.0-meta-audio"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.5.bb
index 513d66f9fc..b2c1eb3ea0 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.5.bb
@@ -1,4 +1,5 @@
SUMMARY = "OpenMAX IL plugins for GStreamer"
+DESCRIPTION = "Wraps available OpenMAX IL components and makes them available as standard GStreamer elements."
HOMEPAGE = "http://gstreamer.freedesktop.org/"
SECTION = "multimedia"
@@ -9,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
-SRC_URI[sha256sum] = "42a8e0f9518b94655981ede441638f9f9395f4b1b9a4b329f068ee793975a965"
+SRC_URI[sha256sum] = "2cd457c1e8deb1a9b39608048fb36a44f6c9a864a6b6115b1453a32e7be93b42"
S = "${WORKDIR}/gst-omx-${PV}"
@@ -39,8 +40,8 @@ set_omx_core_name() {
}
do_install[postfuncs] += " set_omx_core_name "
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
VIRTUAL-RUNTIME_libomxil ?= "libomxil"
-RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_libomxil}"
+RDEPENDS:${PN} = "${VIRTUAL-RUNTIME_libomxil}"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
new file mode 100644
index 0000000000..cb3bb7d361
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
@@ -0,0 +1,31 @@
+From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 30 Dec 2020 16:37:47 +0800
+Subject: [PATCH] msdk: fix includedir path
+
+In cross compilation, need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ sys/msdk/meson.build | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build
+index 6346c9451..068f38548 100644
+--- a/sys/msdk/meson.build
++++ b/sys/msdk/meson.build
+@@ -40,7 +40,9 @@ endif
+
+ mfx_dep = dependency('libmfx', required: false)
+ if mfx_dep.found()
++ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
+ mfx_incdir = mfx_dep.get_pkgconfig_variable('includedir')
++ mfx_incdir = pkgconf_sysroot + mfx_incdir
+ mfx_inc = []
+ else
+ # Old versions of MediaSDK don't provide a pkg-config file
+--
+2.17.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.bb
index ebd8c5a27d..f90dff693d 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.bb
@@ -1,18 +1,27 @@
require gstreamer1.0-plugins-common.inc
+DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues"
+
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
file://0002-avoid-including-sys-poll.h-directly.patch \
file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
+ file://0005-msdk-fix-includedir-path.patch \
"
-SRC_URI[sha256sum] = "c195978c85d97406c05eb9d43ac54b9ab35eda6ffdae32b3ed597b8f1743c1b2"
+SRC_URI[sha256sum] = "a164923b94f0d08578a6fcaeaac6e0c05da788a46903a1086870e9ca45ad678e"
S = "${WORKDIR}/gst-plugins-bad-${PV}"
LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+# remove at next version upgrade or when output changes
+PR = "r1"
+HASHEQUIV_HASH_VERSION .= ".1"
+
DEPENDS += "gstreamer1.0-plugins-base"
inherit gobject-introspection
@@ -20,13 +29,15 @@ inherit gobject-introspection
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
- bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
- ttml uvch264 webp \
+ bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \
+ sndfile ttml uvch264 webp \
+ ${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
"
+PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
@@ -39,7 +50,11 @@ PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
-PACKAGECONFIG[hls] = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle"
+PACKAGECONFIG[hls] = "-Dhls=enabled,-Dhls=disabled,"
+# Pick atleast one crypto backend below when enabling hls
+PACKAGECONFIG[nettle] = "-Dhls-crypto=nettle,,nettle"
+PACKAGECONFIG[openssl] = "-Dhls-crypto=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
# the gl packageconfig enables OpenGL elements that haven't been ported
# to -base yet. They depend on the gstgl library in -base, so we do
# not add GL dependencies here, since these are taken care of in -base.
@@ -64,7 +79,7 @@ PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdr
PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
-PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp"
+PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled"
PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt"
@@ -72,6 +87,7 @@ PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
+PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva"
PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
@@ -81,14 +97,8 @@ PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
-PACKAGECONFIG[v4l2codecs] = "-D-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev"
-
-# these plugins currently have no corresponding library in OE-core or meta-openembedded:
-# aom androidmedia applemedia bs2b chromaprint d3dvideosink
-# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
-# mplex musepack nvdec nvenc ofa openexr openni2 opensles
-# soundtouch spandsp teletext wasapi wildmidi winks
-# winscreencap wpe x265
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
+PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
EXTRA_OEMESON += " \
-Ddoc=disabled \
@@ -96,9 +106,8 @@ EXTRA_OEMESON += " \
-Ddvb=enabled \
-Dfbdev=enabled \
-Dipcpipeline=enabled \
- -Dnetsim=enabled \
-Dshm=enabled \
- -Daom=disabled \
+ -Dtranscode=enabled \
-Dandroidmedia=disabled \
-Dapplemedia=disabled \
-Davtp=disabled \
@@ -137,17 +146,15 @@ EXTRA_OEMESON += " \
-Dwinks=disabled \
-Dwinscreencap=disabled \
-Dwpe=disabled \
- -Dx265=disabled \
-Dzxing=disabled \
"
export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
-FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
-FILES_${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
-FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+FILES:${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
+FILES:${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
+FILES:${PN}-transcode += "${datadir}/gstreamer-1.0/encoding-profiles"
+FILES:${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.bb
index 1b2bd4fe14..180241828f 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.bb
@@ -1,5 +1,8 @@
require gstreamer1.0-plugins-common.inc
+DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
LICENSE = "GPLv2+ & LGPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
@@ -9,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
file://0004-glimagesink-Downrank-to-marginal.patch \
"
-SRC_URI[sha256sum] = "1ba654d7de30f7284b4c7071b32f881b609733ce02ab6d9d9ea29386a036c641"
+SRC_URI[sha256sum] = "960b7af4585700db0fdd5b843554e11e2564fed9e061f591fae88a7be6446fa3"
S = "${WORKDIR}/gst-plugins-base-${PV}"
@@ -40,6 +43,7 @@ X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
+PACKAGECONFIG[graphene] = "-Dgl-graphene=enabled,-Dgl-graphene=disabled,graphene"
PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
@@ -62,23 +66,19 @@ PACKAGECONFIG[egl] = ",,virtual/egl"
PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
PACKAGECONFIG[dispmanx] = ",,virtual/libomxil"
+PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gbm', ' gbm', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', ' wayland', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'dispmanx', ' dispmanx', '', d)}"
-OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'egl', ' egl', '', d)}"
+OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}"
EXTRA_OEMESON += " \
-Ddoc=disabled \
- -Dgl-graphene=disabled \
${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
-FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
+FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
def get_opengl_cmdline_list(switch_name, options, d):
selected_options = []
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
index dba96e0f6e..54dd92873f 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
@@ -21,7 +21,7 @@ GSTREAMER_ORC ?= "orc"
# workaround to disable orc on mips to fix the build failure
# {standard input}: Assembler messages:
# {standard input}:46587: Error: branch out of range
-GSTREAMER_ORC_mips = ""
+GSTREAMER_ORC:mips = ""
PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
# TODO: put this in a gettext.bbclass patch (with variables to allow for
@@ -45,6 +45,3 @@ EXTRA_OEMESON += " \
GIR_MESON_ENABLE_FLAG = "enabled"
GIR_MESON_DISABLE_FLAG = "disabled"
-
-# Dynamically generate packages for all enabled plugins
-PACKAGES_DYNAMIC = "^${PN}-.*"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch
deleted file mode 100644
index 685ee08e50..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3ec4fe5507a39383b161f1ab7687acb4a57c32f8 Mon Sep 17 00:00:00 2001
-From: Jose Quaresma <quaresma.jose@gmail.com>
-Date: Sun, 15 Nov 2020 11:30:07 +0000
-Subject: [PATCH] rpicamsrc: add vchostif library as it is required to build
- successful
-
-fix: undefined reference to `vc_gencmd'
-/usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd'
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/818]
-
-Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
----
- sys/rpicamsrc/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sys/rpicamsrc/meson.build b/sys/rpicamsrc/meson.build
-index dc18a8345..48b2ceb66 100644
---- a/sys/rpicamsrc/meson.build
-+++ b/sys/rpicamsrc/meson.build
-@@ -34,7 +34,7 @@ if not cc.has_header('bcm_host.h', args: rpi_inc_args)
- endif
-
- mmal_deps = []
--foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'bcm_host']
-+foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'vchostif', 'bcm_host']
- l = cc.find_library(rpi_lib, dirs: rpi_lib_path, required: false)
- if not l.found()
- if get_option('rpicamsrc').enabled()
---
-2.29.2
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.bb
index 77e1333ddc..ade935df9e 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.bb
@@ -1,11 +1,14 @@
require gstreamer1.0-plugins-common.inc
+DESCRIPTION = "'Good' GStreamer plugins"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues"
+
SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
- file://0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch \
"
-SRC_URI[sha256sum] = "e210e91a5590ecb6accc9d06c949a58ca6897d8edb3b3d55828e424c624f626c"
+SRC_URI[sha256sum] = "3aaeeea7765fbf8801acce4a503a9b05f73f04e8a35352e9d00232cfd555796b"
S = "${WORKDIR}/gst-plugins-good-${PV}"
@@ -14,8 +17,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
DEPENDS += "gstreamer1.0-plugins-base libcap zlib"
-RPROVIDES_${PN}-pulseaudio += "${PN}-pulse"
-RPROVIDES_${PN}-soup += "${PN}-souphttpsrc"
+RPROVIDES:${PN}-pulseaudio += "${PN}-pulse"
+RPROVIDES:${PN}-soup += "${PN}-souphttpsrc"
PACKAGECONFIG ??= " \
${GSTREAMER_ORC} \
@@ -70,4 +73,4 @@ EXTRA_OEMESON += " \
-Dwaveform=disabled \
"
-FILES_${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
+FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
index 9a7a1b6afe..e906053ac0 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
@@ -6,8 +6,11 @@
# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
# but can be used in any recipe that produces GStreamer plugins.
-PACKAGESPLITFUNCS_prepend = " split_gstreamer10_packages "
-PACKAGESPLITFUNCS_append = " set_gstreamer10_metapkg_rdepends "
+# Dynamically generate packages for all enabled plugins
+PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
+
+PACKAGESPLITFUNCS:prepend = " split_gstreamer10_packages "
+PACKAGESPLITFUNCS:append = " set_gstreamer10_metapkg_rdepends "
python split_gstreamer10_packages () {
gst_libdir = d.expand('${libdir}/gstreamer-1.0')
@@ -33,8 +36,8 @@ python set_gstreamer10_metapkg_rdepends () {
pn = d.getVar('PN')
metapkg = pn + '-meta'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
+ d.setVar('FILES:' + metapkg, "")
blacklist = [ pn, pn + '-meta' ]
metapkg_rdepends = []
pkgdest = d.getVar('PKGDEST')
@@ -51,20 +54,20 @@ python set_gstreamer10_metapkg_rdepends () {
is_empty = len(dir_contents) == 0
if not is_empty:
metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, pn + ' meta package')
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
}
# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
# so we need them even when empty (like in gst-plugins-good case)
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dev = "1"
-ALLOW_EMPTY_${PN}-staticdev = "1"
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-dev = "1"
+ALLOW_EMPTY:${PN}-staticdev = "1"
PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}"
-FILES_${PN}-glib = "${datadir}/glib-2.0"
+FILES:${PN} = ""
+FILES:${PN}-apps = "${bindir}"
+FILES:${PN}-glib = "${datadir}/glib-2.0"
-RRECOMMENDS_${PN} += "${PN}-meta"
+RRECOMMENDS:${PN} += "${PN}-meta"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
index 614ef8d740..9777aaee19 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
@@ -1,5 +1,9 @@
require gstreamer1.0-plugins-common.inc
+DESCRIPTION = "'Ugly GStreamer plugins"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
+BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
+
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
@@ -9,7 +13,7 @@ LICENSE_FLAGS = "commercial"
SRC_URI = " \
https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
"
-SRC_URI[sha256sum] = "18cd6cb829eb9611ca63cbcbf46aca0f0de1dd28b2df18caa2834326a75ff725"
+SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9"
S = "${WORKDIR}/gst-plugins-ugly-${PV}"
@@ -35,5 +39,5 @@ EXTRA_OEMESON += " \
-Dsidplay=disabled \
"
-FILES_${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
-FILES_${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
+FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
+FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
deleted file mode 100644
index b698067041..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-ptest.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-inherit ptest-gnome
-
-TEST_FILES_PATH = "${datadir}/installed-tests/gstreamer-1.0/test-files"
-RUN_PTEST_FILE = "${D}${PTEST_PATH}/run-ptest"
-
-EXTRA_OEMESON += "-Dtest-files-path=${TEST_FILES_PATH}"
-
-GST_TEST_SUITE_NAME ?= "gstreamer-1.0"
-
-# Using do_install_ptest_base instead of do_install_ptest, since
-# the default do_install_ptest_base is hardcoded to expect Makefiles.
-do_install_ptest_base() {
- # Generate run-ptest file
- echo "#!/usr/bin/env sh" > "${RUN_PTEST_FILE}"
- echo "gnome-desktop-testing-runner ${GST_TEST_SUITE_NAME}" >> "${RUN_PTEST_FILE}"
- chmod 0755 "${RUN_PTEST_FILE}"
-
- # Install additional files required by tests
- if [ -d "${S}/tests/files" ] ; then
- install -d "${D}/${TEST_FILES_PATH}"
- install -m 0644 "${S}/tests/files"/* "${D}/${TEST_FILES_PATH}"
- fi
-}
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.5.bb
index c0c5d271d0..045aea4409 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.5.bb
@@ -1,4 +1,6 @@
SUMMARY = "Python bindings for GStreamer 1.0"
+DESCRIPTION = "GStreamer Python binding overrides (complementing the bindings \
+provided by python-gi) "
HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-python/"
SECTION = "multimedia"
@@ -6,17 +8,19 @@ LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "42b289422f7ab32757670848cf2245c5a8a8b08a665a9cab65ded8d69364f6f6"
+SRC_URI[sha256sum] = "533685871305959d6db89507f3b3aa6c765c2f2b0dacdc32c5a6543e72e5bc52"
DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
-RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
+RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
PNREAL = "gst-python"
S = "${WORKDIR}/${PNREAL}-${PV}"
+EXTRA_OEMESON += "-Dlibpython-dir=${libdir}"
+
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+GIR_MESON_OPTION = ""
inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
index 30534c9782..50426ad46d 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
@@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server"
SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "10a82865c3d199e66731017ca4b120bad071df9889e60cfe4dd6c49d953ef754"
+SRC_URI[sha256sum] = "04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f"
S = "${WORKDIR}/${PNREAL}-${PV}"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.5.bb
index acf5598a62..9a68a3fadf 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.5.bb
@@ -1,4 +1,5 @@
SUMMARY = "VA-API support to GStreamer"
+HOMEPAGE = "https://gstreamer.freedesktop.org/"
DESCRIPTION = "gstreamer-vaapi consists of a collection of VA-API \
based plugins for GStreamer and helper libraries: `vaapidecode', \
`vaapiconvert', and `vaapisink'."
@@ -10,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "400d3c42810b50b4566df03f37319a6bdd758f969560c40147e7d9a3b0e8a6ea"
+SRC_URI[sha256sum] = "4a460fb95559f41444eb24864ad2d9e37922b6eea941510310319fc3e0ba727b"
S = "${WORKDIR}/${REALPN}-${PV}"
DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
@@ -46,7 +47,7 @@ PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/libgl"
PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland wayland-protocols"
PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxrandr libxrender"
-FILES_${PN} += "${libdir}/gstreamer-*/*.so"
-FILES_${PN}-dbg += "${libdir}/gstreamer-*/.debug"
-FILES_${PN}-dev += "${libdir}/gstreamer-*/*.a"
-FILES_${PN}-tests = "${bindir}/*"
+FILES:${PN} += "${libdir}/gstreamer-*/*.so"
+FILES:${PN}-dbg += "${libdir}/gstreamer-*/.debug"
+FILES:${PN}-dev += "${libdir}/gstreamer-*/*.a"
+FILES:${PN}-tests = "${bindir}/*"
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
index 17f8a0beb7..23ebd5c600 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
@@ -1,27 +1,44 @@
-From f700975f514758a4a7582c2c972fa54ecfca3302 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Thu, 25 Jan 2018 17:55:02 +0200
-Subject: [PATCH 1/4] gst/gstpluginloader.c: when env var is set do not fall
- through to system plugin scanner
+From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sat, 10 Oct 2020 19:09:03 +0000
+Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through
+ to system plugin scanner
If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
Falling through to the one installed on the system is problamatic in cross-compilation
environemnts, regardless of whether one pointed to by the env var succeeded or failed.
-written by: Alexander Kanavin <alex.kanavin@gmail.com>
+taken from:
+http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a]
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669]
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
- gst/gstpluginloader.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
+ gst/gstpluginloader.c | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
-index d1e404d..2e00c3c 100644
+index d1e404d98..c626bf263 100644
--- a/gst/gstpluginloader.c
+++ b/gst/gstpluginloader.c
-@@ -475,9 +475,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
+@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
+ if (loader->child_running)
+ return TRUE;
+
+- /* Find the gst-plugin-scanner: first try the env-var if it is set,
+- * otherwise use the installed version */
++ /* Find the gst-plugin-scanner */
+ env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
+ if (env == NULL)
+ env = g_getenv ("GST_PLUGIN_SCANNER");
+
+ if (env != NULL && *env != '\0') {
++ /* use the env-var if it is set */
+ GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
helper_bin = g_strdup (env);
res = gst_plugin_loader_try_helper (loader, helper_bin);
g_free (helper_bin);
@@ -29,9 +46,24 @@ index d1e404d..2e00c3c 100644
-
- if (!res) {
+ } else {
++ /* use the installed version */
GST_LOG ("Trying installed plugin scanner");
#ifdef G_OS_WIN32
+@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
+ #endif
+ res = gst_plugin_loader_try_helper (loader, helper_bin);
+ g_free (helper_bin);
++ }
+
+- if (!res) {
+- GST_INFO ("No gst-plugin-scanner available, or not working");
+- }
++ if (!res) {
++ GST_INFO ("No gst-plugin-scanner available, or not working");
+ }
+
+ return loader->child_running;
--
-2.28.0
+2.29.2
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch
deleted file mode 100644
index a2d215d72d..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4449246a8d788e71dfe4679fba95955cec5894c1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 3 Nov 2020 22:58:26 -0800
-Subject: [PATCH] gst_private.h: increse padding in struct _GstClockEntryImpl
-
-When compiling for 32bit architectures with 64bit time_t e.g. riscv32,
-the static assert that the GstClockEntryImpl smaller or
-equal to the struct _GstClockEntryImpl triggered.
-(they were 12bytes off).
-
-To fix this, the padding is increased by 8 bytes (on 32bit).
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/694]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gst/gst_private.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gst/gst_private.h b/gst/gst_private.h
-index a8897e1..8252ede 100644
---- a/gst/gst_private.h
-+++ b/gst/gst_private.h
-@@ -522,7 +522,7 @@ struct _GstClockEntryImpl
- GstClockEntry entry;
- GWeakRef clock;
- GDestroyNotify destroy_entry;
-- gpointer padding[19]; /* padding for allowing e.g. systemclock
-+ gpointer padding[21]; /* padding for allowing e.g. systemclock
- * to add data in lieu of overridable
- * virtual functions on the clock */
- };
---
-2.29.2
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
index c8bd58d471..5121044734 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
@@ -1,7 +1,7 @@
-From 355dd938bfb2cd36d6c3c4ed59ba1dcafdc78d95 Mon Sep 17 00:00:00 2001
+From e275ba2bd854ac15a4b65a8f07d9f042021950da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
Date: Fri, 14 Aug 2020 16:38:26 +0100
-Subject: [PATCH 2/4] Remove unused valgrind detection
+Subject: [PATCH 2/3] Remove unused valgrind detection
Having this just to log a debug message in case we're
running inside valgrind doesn't seem very useful, and
@@ -19,7 +19,7 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
3 files changed, 42 deletions(-)
diff --git a/gst/gst_private.h b/gst/gst_private.h
-index 1b0f02b..a8897e1 100644
+index eefd044..8252ede 100644
--- a/gst/gst_private.h
+++ b/gst/gst_private.h
@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin
@@ -32,12 +32,12 @@ index 1b0f02b..a8897e1 100644
G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void);
G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void);
diff --git a/gst/gstinfo.c b/gst/gstinfo.c
-index 37987d3..15f522e 100644
+index eea1a21..d3035d6 100644
--- a/gst/gstinfo.c
+++ b/gst/gstinfo.c
-@@ -304,36 +304,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
- static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
- static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
+@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
+ static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
+ static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
-/* FIXME: export this? */
-gboolean
@@ -72,7 +72,7 @@ index 37987d3..15f522e 100644
static gchar *
_replace_pattern_in_gst_debug_file_name (gchar * name, const char *token,
guint val)
-@@ -462,9 +432,6 @@ _priv_gst_debug_init (void)
+@@ -463,9 +433,6 @@ _priv_gst_debug_init (void)
_priv_GST_CAT_PROTECTION =
_gst_debug_category_new ("GST_PROTECTION", 0, "protection");
@@ -82,7 +82,7 @@ index 37987d3..15f522e 100644
env = g_getenv ("GST_DEBUG_OPTIONS");
if (env != NULL) {
if (strstr (env, "full_tags") || strstr (env, "full-tags"))
-@@ -2502,12 +2469,6 @@ gst_debug_construct_win_color (guint colorinfo)
+@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo)
return 0;
}
@@ -96,7 +96,7 @@ index 37987d3..15f522e 100644
_gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
const gchar * func, gint line, GObject * obj, const gchar * msg,
diff --git a/meson.build b/meson.build
-index f95b4f7..143c043 100644
+index 82a1728..42ae617 100644
--- a/meson.build
+++ b/meson.build
@@ -200,7 +200,6 @@ check_headers = [
@@ -108,5 +108,5 @@ index f95b4f7..143c043 100644
'sys/uio.h',
]
--
-2.28.0
+2.29.2
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch
deleted file mode 100644
index 1c0e1f8171..0000000000
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-From 24867db22a5cc35e7643bc218e959ce56c306aca Mon Sep 17 00:00:00 2001
-From: Carlos Rafael Giani <crg7475@mailbox.org>
-Date: Fri, 25 Oct 2019 00:06:26 +0200
-Subject: [PATCH 3/4] meson: Add option for installed tests
-
-This adds an option for producing installed versions of the unit tests.
-These versions don't need meson to run (only a small shell script). This
-makes it easier to run cross compiled tests on a target machine.
-
-Upstream-Status: Pending
-
-Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
----
- build-aux/gen-installed-test-desc.py | 18 ++++++
- build-aux/gen-installed-test-shscript.py | 25 ++++++++
- meson_options.txt | 2 +
- tests/check/meson.build | 46 +++++++++++++-
- tests/files/testfile | 80 ++++++++++++++++++++++++
- 5 files changed, 170 insertions(+), 1 deletion(-)
- create mode 100644 build-aux/gen-installed-test-desc.py
- create mode 100644 build-aux/gen-installed-test-shscript.py
- create mode 100644 tests/files/testfile
-
-diff --git a/build-aux/gen-installed-test-desc.py b/build-aux/gen-installed-test-desc.py
-new file mode 100644
-index 0000000..69e8a0f
---- /dev/null
-+++ b/build-aux/gen-installed-test-desc.py
-@@ -0,0 +1,18 @@
-+import sys
-+import os
-+import argparse
-+
-+def write_template(filename, data):
-+ with open(filename, 'w') as f:
-+ f.write(data)
-+
-+def build_template(testdir, testname):
-+ return "[Test]\nType=session\nExec={}\n".format(os.path.join(testdir, testname))
-+
-+argparser = argparse.ArgumentParser(description='Generate installed-test data.')
-+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
-+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
-+argparser.add_argument('--output', metavar='file', required=True, help='Output file')
-+args = argparser.parse_args()
-+
-+write_template(args.output, build_template(args.test_execdir, args.testname))
-diff --git a/build-aux/gen-installed-test-shscript.py b/build-aux/gen-installed-test-shscript.py
-new file mode 100644
-index 0000000..5da86fb
---- /dev/null
-+++ b/build-aux/gen-installed-test-shscript.py
-@@ -0,0 +1,25 @@
-+import sys
-+import os
-+import argparse
-+
-+def write_template(filename, data):
-+ with open(filename, 'w') as f:
-+ f.write(data)
-+
-+def build_template(testdir, testname):
-+ return ''.join([
-+ "#!/usr/bin/env sh\n",
-+ "export GST_STATE_IGNORE_ELEMENTS=''\n",
-+ "export CK_DEFAULT_TIMEOUT=20\n",
-+ "export GST_PLUGIN_LOADING_WHITELIST='gstreamer'\n",
-+ "{}\n".format(os.path.join(testdir, testname)),
-+ ])
-+
-+argparser = argparse.ArgumentParser(description='Generate installed-test data.')
-+argparser.add_argument('--test-execdir', metavar='dir', required=True, help='Installed test directory')
-+argparser.add_argument('--testname', metavar='name', required=True, help='Installed test name')
-+argparser.add_argument('--output', metavar='file', required=True, help='Output file')
-+args = argparser.parse_args()
-+
-+write_template(args.output, build_template(args.test_execdir, args.testname))
-+os.chmod(args.output, 0o755)
-diff --git a/meson_options.txt b/meson_options.txt
-index 72c3997..346c423 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -15,6 +15,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
- option('memory-alignment', type: 'combo',
- choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
- value: 'malloc')
-+option('installed-tests', type : 'boolean', value : false, description : 'enable installed tests')
-+option('test-files-path', type : 'string', description : 'Path where to find test files')
-
- # Feature options
- option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
-diff --git a/tests/check/meson.build b/tests/check/meson.build
-index 372ea41..bb0dcfa 100644
---- a/tests/check/meson.build
-+++ b/tests/check/meson.build
-@@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false)
- ]
- endif
-
-+test_files_path = get_option('test-files-path')
-+if test_files_path == ''
-+ test_files_path = meson.current_source_dir() + '/../files'
-+endif
-+message('Using path "@0@" as the path to read test files from'.format(test_files_path))
-+
- test_defines = [
- '-UG_DISABLE_ASSERT',
- '-UG_DISABLE_CAST_CHECKS',
- '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
-- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
-+ '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'),
- '-DGST_DISABLE_DEPRECATED',
- ]
-
-@@ -138,6 +144,14 @@ endif
- glib_deps = [gio_dep, gobject_dep, gmodule_dep, glib_dep]
- gst_deps = [gst_dep, gst_base_dep, gst_check_dep, gst_net_dep, gst_controller_dep]
-
-+installed_tests_datadir = join_paths(prefix, get_option('datadir'), 'installed-tests', 'gstreamer-1.0')
-+installed_tests_execdir = join_paths(prefix, libexecdir, 'installed-tests', 'gstreamer-1.0')
-+installed_tests_enabled = get_option('installed-tests')
-+
-+python = import('python').find_installation()
-+gen_installed_test_desc = files('../../build-aux/gen-installed-test-desc.py')
-+gen_installed_test_shscript = files('../../build-aux/gen-installed-test-shscript.py')
-+
- foreach t : core_tests
- fname = t[0]
- test_name = fname.split('.')[0].underscorify()
-@@ -151,8 +165,38 @@ foreach t : core_tests
- include_directories : [configinc],
- link_with : link_with_libs,
- dependencies : test_deps + glib_deps + gst_deps,
-+ install_dir: installed_tests_execdir,
-+ install: installed_tests_enabled
- )
-
-+ if installed_tests_enabled
-+ installed_test_shscript = test_name + '.sh'
-+ shscript = custom_target (test_name + '_shscript',
-+ output: installed_test_shscript,
-+ command: [
-+ python,
-+ gen_installed_test_shscript,
-+ '--test-execdir=@0@'.format(installed_tests_execdir),
-+ '--testname=@0@'.format(test_name),
-+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_shscript)),
-+ ],
-+ install: true,
-+ install_dir: installed_tests_execdir)
-+
-+ installed_test_desc = test_name + '.test'
-+ data = custom_target(test_name + '_desc',
-+ output: installed_test_desc,
-+ command: [
-+ python,
-+ gen_installed_test_desc,
-+ '--test-execdir=@0@'.format(installed_tests_execdir),
-+ '--testname=@0@'.format(installed_test_shscript),
-+ '--output=@0@'.format(join_paths('@OUTDIR@', installed_test_desc)),
-+ ],
-+ install: true,
-+ install_dir: installed_tests_datadir)
-+ endif
-+
- env = environment()
- env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
-diff --git a/tests/files/testfile b/tests/files/testfile
-new file mode 100644
-index 0000000..89954e0
---- /dev/null
-+++ b/tests/files/testfile
-@@ -0,0 +1,80 @@
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
-+................................................................................
---
-2.28.0
-
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
new file mode 100644
index 0000000000..e0e64e2c7a
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
@@ -0,0 +1,32 @@
+From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001
+From: Seungha Yang <seungha@centricular.com>
+Date: Tue, 15 Sep 2020 00:54:58 +0900
+Subject: [PATCH] tests: seek: Don't use too strict timeout for validation
+
+Expected segment-done message might not be seen within expected
+time if system is not powerful enough.
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/625>
+
+Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ tests/check/pipelines/seek.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
+index 28bb8846d..5f7447bc5 100644
+--- a/tests/check/pipelines/seek.c
++++ b/tests/check/pipelines/seek.c
+@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2)
+
+ GST_INFO ("wait for segment done message");
+
+- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND,
++ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
+ GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR);
+ fail_unless (msg, "no message within the timed window");
+ fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done");
+--
+2.29.2
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch
new file mode 100644
index 0000000000..6f571a12d8
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch
@@ -0,0 +1,36 @@
+From 122e5ac3dd16a461b6ae595605490c8f5d1c3a9d Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sun, 11 Apr 2021 19:48:13 +0100
+Subject: [PATCH 1/4] tests: respect the idententaion used in meson
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ tests/check/meson.build | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/tests/check/meson.build b/tests/check/meson.build
+index a617cf159..b2636714b 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -146,11 +146,11 @@ foreach t : core_tests
+
+ if not skip_test
+ exe = executable(test_name, fname,
+- c_args : gst_c_args + test_defines,
+- cpp_args : gst_c_args + test_defines,
+- include_directories : [configinc],
+- link_with : link_with_libs,
+- dependencies : test_deps + glib_deps + gst_deps,
++ c_args : gst_c_args + test_defines,
++ cpp_args : gst_c_args + test_defines,
++ include_directories : [configinc],
++ link_with : link_with_libs,
++ dependencies : test_deps + glib_deps + gst_deps,
+ )
+
+ env = environment()
+--
+2.31.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch
new file mode 100644
index 0000000000..b77fb5797f
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch
@@ -0,0 +1,110 @@
+From c9e93c7a3e4d2773abef4f5e1464af24f36700b3 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sun, 11 Apr 2021 19:48:13 +0100
+Subject: [PATCH 2/4] tests: add support for install the tests
+
+This will provide to run the tests using the gnome-desktop-testing [1]
+
+[1] https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ meson.build | 5 +++++
+ meson_options.txt | 1 +
+ template.test.in | 3 +++
+ tests/check/meson.build | 22 +++++++++++++++++++++-
+ 4 files changed, 30 insertions(+), 1 deletion(-)
+ create mode 100644 template.test.in
+
+diff --git a/meson.build b/meson.build
+index c4e8774f5..1abf4eb26 100644
+--- a/meson.build
++++ b/meson.build
+@@ -562,6 +562,11 @@ if bashcomp_dep.found()
+ endif
+ endif
+
++installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
++installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
++installed_tests_enabled = get_option('installed-tests')
++installed_tests_template = files('template.test.in')
++
+ plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
+
+ pkgconfig = import('pkgconfig')
+diff --git a/meson_options.txt b/meson_options.txt
+index c8cee3762..b5da40eaa 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
+ option('memory-alignment', type: 'combo',
+ choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
+ value: 'malloc')
++option('installed-tests', type : 'boolean', value : false, description : 'Enable installed tests')
+
+ # Feature options
+ option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
+diff --git a/template.test.in b/template.test.in
+new file mode 100644
+index 000000000..f701627f8
+--- /dev/null
++++ b/template.test.in
+@@ -0,0 +1,3 @@
++[Test]
++Type=session
++Exec=@installed_tests_dir@/@program@
+diff --git a/tests/check/meson.build b/tests/check/meson.build
+index b2636714b..a697a7b06 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -124,10 +124,16 @@ test_defines = [
+ '-UG_DISABLE_ASSERT',
+ '-UG_DISABLE_CAST_CHECKS',
+ '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"',
+- '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"',
+ '-DGST_DISABLE_DEPRECATED',
+ ]
+
++testfile = meson.current_source_dir() + '/meson.build'
++if installed_tests_enabled
++ install_data(testfile, install_dir : installed_tests_metadir, rename : 'testfile')
++ testfile = installed_tests_metadir + '/testfile'
++endif
++test_defines += '-DTESTFILE="@0@"'.format(testfile)
++
+ # sanity checking
+ if get_option('check').disabled()
+ if get_option('tests').enabled()
+@@ -151,6 +157,8 @@ foreach t : core_tests
+ include_directories : [configinc],
+ link_with : link_with_libs,
+ dependencies : test_deps + glib_deps + gst_deps,
++ install_dir: installed_tests_execdir,
++ install: installed_tests_enabled,
+ )
+
+ env = environment()
+@@ -162,6 +170,18 @@ foreach t : core_tests
+ env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
+ env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
+
++ if installed_tests_enabled
++ test_conf = configuration_data()
++ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
++ test_conf.set('program', test_name)
++ configure_file(
++ input: installed_tests_template,
++ output: test_name + '.test',
++ install_dir: installed_tests_metadir,
++ configuration: test_conf
++ )
++ endif
++
+ test(test_name, exe, env: env, timeout : 3 * 60)
+ endif
+ endforeach
+--
+2.31.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch
new file mode 100644
index 0000000000..46813cec3d
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch
@@ -0,0 +1,48 @@
+From e82dedec1803922656e92285fc1bb75b2cdc0aad Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sat, 24 Apr 2021 10:34:47 +0100
+Subject: [PATCH 3/4] tests: use a dictionaries for environment
+
+meson environment() can't be passed to configure_file and it is needed for installed_tests,
+use a dictionary as this is simplest solution to install the environment.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ tests/check/meson.build | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/tests/check/meson.build b/tests/check/meson.build
+index a697a7b06..f64524904 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -161,14 +161,17 @@ foreach t : core_tests
+ install: installed_tests_enabled,
+ )
+
+- env = environment()
+- env.set('GST_PLUGIN_PATH_1_0', meson.build_root())
+- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
+- env.set('GST_STATE_IGNORE_ELEMENTS', '')
+- env.set('CK_DEFAULT_TIMEOUT', '20')
+- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
+- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
+- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
++ # environment() can't be passed to configure_file and it is needed for installed_tests
++ # use a dictionary as this is simplest solution to install the environment
++ env = {
++ 'GST_PLUGIN_PATH_1_0': meson.build_root(),
++ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
++ 'GST_STATE_IGNORE_ELEMENTS': '',
++ 'CK_DEFAULT_TIMEOUT': '20',
++ 'GST_REGISTRY': '@0@/@1@.registry'.format(meson.current_build_dir(), test_name),
++ 'GST_PLUGIN_SCANNER_1_0': gst_scanner_dir + '/gst-plugin-scanner',
++ 'GST_PLUGIN_LOADING_WHITELIST': 'gstreamer',
++ }
+
+ if installed_tests_enabled
+ test_conf = configuration_data()
+--
+2.31.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch
new file mode 100644
index 0000000000..eabe7bcbe1
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch
@@ -0,0 +1,58 @@
+From 57d2965e979f886e03eecd7e351bf01812053971 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <quaresma.jose@gmail.com>
+Date: Sun, 2 May 2021 01:58:01 +0100
+Subject: [PATCH 4/4] tests: install the environment for installed_tests
+
+- adapt the test environment for installed_tests
+- install the test environment for installed_tests
+- run the tests using the installed environment
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
+
+Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
+---
+ template.test.in | 2 +-
+ tests/check/meson.build | 18 ++++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/template.test.in b/template.test.in
+index f701627f8..9a3fbdd09 100644
+--- a/template.test.in
++++ b/template.test.in
+@@ -1,3 +1,3 @@
+ [Test]
+ Type=session
+-Exec=@installed_tests_dir@/@program@
++Exec=sh -c 'set -aex && source @installed_tests_dir@/@program@.env && exec @installed_tests_dir@/@program@'
+diff --git a/tests/check/meson.build b/tests/check/meson.build
+index f64524904..a67e0f8dd 100644
+--- a/tests/check/meson.build
++++ b/tests/check/meson.build
+@@ -183,6 +183,24 @@ foreach t : core_tests
+ install_dir: installed_tests_metadir,
+ configuration: test_conf
+ )
++
++ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
++ configure_file(
++ output: test_name + '.env',
++ install_dir: installed_tests_execdir,
++ configuration : env,
++ )
++ # helper to convert a meson environment dictionay object exported with configure_file
++ # this also remove not needed variables for the installed tests
++ meson.add_postconf_script('sed', '-i',
++ '-e', '/^#define/!d',
++ '-e', 's/^#define //g',
++ '-e', '/^GST_PLUGIN_PATH_1_0/d',
++ '-e', '/^GST_PLUGIN_SYSTEM_PATH_1_0/d',
++ '-e', '/^GST_PLUGIN_SCANNER_1_0/d',
++ '-e', 's/ /=/',
++ join_paths(meson.current_build_dir(), test_name + '.env')
++ )
+ endif
+
+ test(test_name, exe, env: env, timeout : 3 * 60)
+--
+2.31.1
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest b/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
new file mode 100755
index 0000000000..0cfa955f03
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest
@@ -0,0 +1,2 @@
+#!/usr/bin/env sh
+gnome-desktop-testing-runner gstreamer
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.bb
index d55b2871e7..0d82dd338c 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.bb
@@ -8,7 +8,7 @@ LICENSE = "LGPLv2+"
DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
-inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection
+inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
@@ -16,12 +16,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
S = "${WORKDIR}/gstreamer-${PV}"
SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
+ file://run-ptest \
file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
file://0002-Remove-unused-valgrind-detection.patch \
- file://0003-meson-Add-option-for-installed-tests.patch \
- file://0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch \
+ file://0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \
+ file://0004-tests-respect-the-idententaion-used-in-meson.patch \
+ file://0005-tests-add-support-for-install-the-tests.patch \
+ file://0006-tests-use-a-dictionaries-for-environment.patch \
+ file://0007-tests-install-the-environment-for-installed_tests.patch \
"
-SRC_URI[sha256sum] = "79df8de21f284a105a5c1568527f8c559c583c85c0f2bd7bdb5b0372b8beecba"
+SRC_URI[sha256sum] = "55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a"
PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
check \
@@ -30,13 +34,14 @@ PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
+PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false"
PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled"
-PACKAGECONFIG[setcap] = ",,libcap libcap-native"
+PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native"
# TODO: put this in a gettext.bbclass patch
def gettext_oemeson(d):
@@ -60,11 +65,11 @@ GIR_MESON_DISABLE_FLAG = "disabled"
PACKAGES += "${PN}-bash-completion"
# Add the core element plugins to the main package
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
-FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
-FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include"
+FILES:${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*"
+FILES:${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb"
CVE_PRODUCT = "gstreamer"
-require gstreamer1.0-ptest.inc
+PTEST_BUILD_HOST_FILES = ""
diff --git a/meta/recipes-multimedia/lame/lame_3.100.bb b/meta/recipes-multimedia/lame/lame_3.100.bb
index 7f8996fb52..4927c9f2b3 100644
--- a/meta/recipes-multimedia/lame/lame_3.100.bb
+++ b/meta/recipes-multimedia/lame/lame_3.100.bb
@@ -1,5 +1,6 @@
SUMMARY = "High quality MP3 audio encoder"
-HOMEPAGE = "http://lame.sourceforge.net/"
+DESCRIPTION = "LAME is an educational tool to be used for learning about MP3 encoding."
+HOMEPAGE = "https://lame.sourceforge.io/"
BUGTRACKER = "http://sourceforge.net/tracker/?group_id=290&atid=100290"
SECTION = "console/utils"
LICENSE = "LGPLv2+"
@@ -19,7 +20,7 @@ SRC_URI[sha256sum] = "ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175
inherit autotools pkgconfig
PACKAGES += "libmp3lame libmp3lame-dev"
-FILES_${PN} = "${bindir}/lame"
-FILES_libmp3lame = "${libdir}/libmp3lame.so.*"
-FILES_libmp3lame-dev = "${includedir} ${libdir}/*"
-FILES_${PN}-dev = ""
+FILES:${PN} = "${bindir}/lame"
+FILES:libmp3lame = "${libdir}/libmp3lame.so.*"
+FILES:libmp3lame-dev = "${includedir} ${libdir}/*"
+FILES:${PN}-dev = ""
diff --git a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
index 8ff8889b60..ea16270cf8 100644
--- a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
+++ b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb
@@ -1,4 +1,7 @@
SUMMARY = "ATSC A/52 surround sound stream decoder"
+DESCRIPTION = "Library for decoding ATSC A/52 streams. The A/52 standard \
+is used in a variety of applications, including digital television \
+and DVD. It is also known as AC-3."
HOMEPAGE = "http://liba52.sourceforge.net/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
@@ -22,5 +25,5 @@ EXTRA_OECONF = " --enable-shared "
PACKAGES =+ "a52dec a52dec-doc"
-FILES_a52dec = " ${bindir}/* "
-FILES_a52dec-doc = " ${mandir}/man1/* "
+FILES:a52dec = " ${bindir}/* "
+FILES:a52dec-doc = " ${mandir}/man1/* "
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch b/meta/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch
deleted file mode 100644
index 54f49f6f23..0000000000
--- a/meta/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 91fcf66b9182c75cd2b96d88991d5a1c6307d4b4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 2 Aug 2017 16:27:52 +0300
-Subject: [PATCH] Fix gperf 3.1 incompatibility.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- compat.h | 2 +-
- frametype.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/compat.h b/compat.h
-index 8af71ec..b3d80d9 100644
---- a/compat.h
-+++ b/compat.h
-@@ -34,7 +34,7 @@ struct id3_compat {
- };
-
- struct id3_compat const *id3_compat_lookup(register char const *,
-- register unsigned int);
-+ register size_t);
-
- int id3_compat_fixup(struct id3_tag *);
-
-diff --git a/frametype.h b/frametype.h
-index dd064b2..b5b7593 100644
---- a/frametype.h
-+++ b/frametype.h
-@@ -37,6 +37,6 @@ extern struct id3_frametype const id3_frametype_unknown;
- extern struct id3_frametype const id3_frametype_obsolete;
-
- struct id3_frametype const *id3_frametype_lookup(register char const *,
-- register unsigned int);
-+ register size_t);
-
- # endif
---
-2.13.2
-
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch b/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
deleted file mode 100644
index 10e089018c..0000000000
--- a/meta/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-libid3tag: patch for CVE-2004-2779
-
-The patch comes from
-https://sources.debian.org/patches/libid3tag/0.15.1b-13/10_utf16.dpatch
-
-Upstream-Status: Pending
-
-CVE: CVE-2004-2779
-CVE: CVE-2017-11551
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-diff -urNad libid3tag-0.15.1b/utf16.c /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c
---- libid3tag-0.15.1b/utf16.c 2006-01-13 15:26:29.000000000 +0100
-+++ /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c 2006-01-13 15:27:19.000000000 +0100
-@@ -282,5 +282,18 @@
-
- free(utf16);
-
-+ if (end == *ptr && length % 2 != 0)
-+ {
-+ /* We were called with a bogus length. It should always
-+ * be an even number. We can deal with this in a few ways:
-+ * - Always give an error.
-+ * - Try and parse as much as we can and
-+ * - return an error if we're called again when we
-+ * already tried to parse everything we can.
-+ * - tell that we parsed it, which is what we do here.
-+ */
-+ (*ptr)++;
-+ }
-+
- return ucs4;
- }
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch b/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch
deleted file mode 100644
index 38d40c3632..0000000000
--- a/meta/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Index: libid3tag-0.15.1b/Makefile.am
-===================================================================
---- libid3tag-0.15.1b.orig/Makefile.am 2009-07-29 09:29:20.000000000 +0100
-+++ libid3tag-0.15.1b/Makefile.am 2009-07-29 09:29:47.000000000 +0100
-@@ -27,6 +27,9 @@
- lib_LTLIBRARIES = libid3tag.la
- include_HEADERS = id3tag.h
-
-+pkgconfigdir = $(libdir)/pkgconfig
-+pkgconfig_DATA = id3tag.pc
-+
- ## From the libtool documentation on library versioning:
- ##
- ## CURRENT
-Index: libid3tag-0.15.1b/configure.ac
-===================================================================
---- libid3tag-0.15.1b.orig/configure.ac 2009-07-29 09:27:15.000000000 +0100
-+++ libid3tag-0.15.1b/configure.ac 2009-07-29 09:27:45.000000000 +0100
-@@ -201,5 +201,5 @@
- dnl AC_SUBST(LTLIBOBJS)
-
- AC_CONFIG_FILES([Makefile msvc++/Makefile \
-- libid3tag.list])
-+ libid3tag.list id3tag.pc])
- AC_OUTPUT
-Index: libid3tag-0.15.1b/id3tag.pc.in
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ libid3tag-0.15.1b/id3tag.pc.in 2009-07-29 09:29:10.000000000 +0100
-@@ -0,0 +1,11 @@
-+prefix=@prefix@
-+exec_prefix=@exec_prefix@
-+libdir=@libdir@
-+includedir=@includedir@
-+
-+Name: id3tag
-+Description: ID3 tag reading library
-+Requires:
-+Version: @VERSION@
-+Libs: -L${libdir} -lid3tag -lz
-+Cflags: -I${includedir}
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch b/meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch
deleted file mode 100644
index 2845fb1d3a..0000000000
--- a/meta/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Submitted [https://sourceforge.net/tracker/?func=detail&aid=3599280&group_id=12349&atid=112349]
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd libid3tag-0.15.1b/configure.ac libid3tag-0.15.1b/configure.ac
---- libid3tag-0.15.1b/configure.ac 2004-01-24 01:22:46.000000000 +0200
-+++ libid3tag-0.15.1b/configure.ac 2013-01-03 06:41:02.734835014 +0200
-@@ -28,7 +28,7 @@
-
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
-
--AM_CONFIG_HEADER([config.h])
-+AC_CONFIG_HEADERS([config.h])
-
- dnl System type.
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch b/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch
deleted file mode 100644
index f0867b5f01..0000000000
--- a/meta/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-In case of an unknown/invalid encoding, id3_parse_string() will
-return NULL, but the return value wasn't checked resulting
-in segfault in id3_ucs4_length(). This is the only place
-the return value wasn't checked.
-
-Patch taken from Debian:
-https://sources.debian.org/patches/libid3tag/0.15.1b-14/11_unknown_encoding.dpatch/
-
-CVE: CVE-2017-11550
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff -urNad libid3tag-0.15.1b~/compat.gperf libid3tag-0.15.1b/compat.gperf
---- libid3tag-0.15.1b~/compat.gperf 2004-01-23 09:41:32.000000000 +0000
-+++ libid3tag-0.15.1b/compat.gperf 2007-01-14 14:36:53.000000000 +0000
-@@ -236,6 +236,10 @@
-
- encoding = id3_parse_uint(&data, 1);
- string = id3_parse_string(&data, end - data, encoding, 0);
-+ if (!string)
-+ {
-+ continue;
-+ }
-
- if (id3_ucs4_length(string) < 4) {
- free(string);
-diff -urNad libid3tag-0.15.1b~/parse.c libid3tag-0.15.1b/parse.c
---- libid3tag-0.15.1b~/parse.c 2004-01-23 09:41:32.000000000 +0000
-+++ libid3tag-0.15.1b/parse.c 2007-01-14 14:37:34.000000000 +0000
-@@ -165,6 +165,9 @@
- case ID3_FIELD_TEXTENCODING_UTF_8:
- ucs4 = id3_utf8_deserialize(ptr, length);
- break;
-+ default:
-+ /* FIXME: Unknown encoding! Print warning? */
-+ return NULL;
- }
-
- if (ucs4 && !full) {
diff --git a/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb b/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
deleted file mode 100644
index 0312a610c0..0000000000
--- a/meta/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Library for interacting with ID3 tags in MP3 files"
-HOMEPAGE = "http://sourceforge.net/projects/mad/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://COPYRIGHT;md5=5e6279efb87c26c6e5e7a68317a6a87a \
- file://version.h;beginline=1;endline=8;md5=86ac68b67f054b7afde9e149bbc3fe63"
-SECTION = "libs"
-DEPENDS = "zlib gperf-native"
-PR = "r7"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libid3tag-${PV}.tar.gz \
- file://addpkgconfig.patch \
- file://obsolete_automake_macros.patch \
- file://0001-Fix-gperf-3.1-incompatibility.patch \
- file://10_utf16.patch \
- file://unknown-encoding.patch \
- "
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mad/files/libid3tag/"
-UPSTREAM_CHECK_REGEX = "/projects/mad/files/libid3tag/(?P<pver>.*)/$"
-
-SRC_URI[md5sum] = "e5808ad997ba32c498803822078748c3"
-SRC_URI[sha256sum] = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151"
-
-S = "${WORKDIR}/libid3tag-${PV}"
-
-inherit autotools pkgconfig
diff --git a/meta/recipes-multimedia/libogg/libogg_1.3.4.bb b/meta/recipes-multimedia/libogg/libogg_1.3.5.bb
index c4004619b9..b4f02e404c 100644
--- a/meta/recipes-multimedia/libogg/libogg_1.3.4.bb
+++ b/meta/recipes-multimedia/libogg/libogg_1.3.5.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=db1b7a668b2a6f47b2af88fb008ad555 \
SRC_URI = "http://downloads.xiph.org/releases/ogg/${BP}.tar.xz"
-SRC_URI[md5sum] = "eadef24aad6e3e8379ba0d14971fd64a"
-SRC_URI[sha256sum] = "c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe"
+SRC_URI[md5sum] = "3178c98341559657a15b185bf5d700a5"
+SRC_URI[sha256sum] = "c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705"
inherit autotools pkgconfig
diff --git a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
index 2061c280e4..864d6bbeea 100644
--- a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
+++ b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "Bellagio is an opensource implementation of the Khronos OpenMAX \
HOMEPAGE = "http://omxil.sourceforge.net/"
LICENSE = "LGPLv2.1+"
-LICENSE_FLAGS = "commercial"
+LICENSE_FLAGS = "${@bb.utils.contains('PACKAGECONFIG', 'amr', 'commercial', '', d)}"
LIC_FILES_CHKSUM = "file://COPYING;md5=ae6f0f4dbc7ac193b50f323a6ae191cb \
file://src/omxcore.h;beginline=1;endline=27;md5=806b1e5566c06486fe8e42b461e03a90"
@@ -28,14 +28,18 @@ PROVIDES += "virtual/libomxil"
CFLAGS += "-fcommon"
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[amr] = "--enable-amr,,"
+
#
# The .so files under ${libdir}/bellagio are not intended to be versioned and symlinked.
# Make sure they get packaged in the main package.
#
-FILES_${PN} += "${libdir}/bellagio/*.so \
+FILES:${PN} += "${libdir}/bellagio/*.so \
${libdir}/omxloaders/*${SOLIBS}"
-FILES_${PN}-staticdev += "${libdir}/bellagio/*.a \
+FILES:${PN}-staticdev += "${libdir}/bellagio/*.a \
${libdir}/omxloaders/*.a"
-FILES_${PN}-dev += "${libdir}/bellagio/*.la \
+FILES:${PN}-dev += "${libdir}/bellagio/*.la \
${libdir}/omxloaders/*.la \
${libdir}/omxloaders/*${SOLIBSDEV}"
diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.37.bb b/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
index edb2ac6146..7791b0eecf 100644
--- a/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
+++ b/meta/recipes-multimedia/libpng/libpng_1.6.37.bb
@@ -1,4 +1,7 @@
SUMMARY = "PNG image format decoding library"
+DESCRIPTION = "An open source project to develop and maintain the reference \
+library for use in applications that read, create, and manipulate PNG \
+(Portable Network Graphics) raster image files. "
HOMEPAGE = "http://www.libpng.org/"
SECTION = "libs"
LICENSE = "Libpng"
@@ -20,11 +23,11 @@ BINCONFIG = "${bindir}/libpng-config ${bindir}/libpng16-config"
inherit autotools binconfig-disabled pkgconfig
# Work around missing symbols
-EXTRA_OECONF_append_class-target = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
+EXTRA_OECONF:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off", d)}"
PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix ${bindir}/pngcp"
+FILES:${PN}-tools = "${bindir}/png-fix-itxt ${bindir}/pngfix ${bindir}/pngcp"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0/0001-configure.ac-improve-alsa-handling.patch b/meta/recipes-multimedia/libsamplerate/libsamplerate0/0001-configure.ac-improve-alsa-handling.patch
deleted file mode 100644
index d19b514e6b..0000000000
--- a/meta/recipes-multimedia/libsamplerate/libsamplerate0/0001-configure.ac-improve-alsa-handling.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 957ebce3837588f71016e37ffaf9aad0a9d41cec Mon Sep 17 00:00:00 2001
-From: Tanu Kaskinen <tanuk@iki.fi>
-Date: Fri, 23 Sep 2016 12:02:06 +0300
-Subject: [PATCH] configure.ac: improve alsa handling
-
-Three improvements:
-
-1) "--enable-alsa" or "--disable-alsa" caused a warning about an
-unsupported configure option, because AC_ARG_ENABLE was not used.
-
-2) If alsa was disabled, the "Have ALSA" item in the summary would print
-an empty string instead of "no".
-
-3) If "--enable-alsa" was passed to configure, but the headers were not
-found, configure would still succeed (with alsa disabled). It's better
-to fail and abort configure if a feature that was explicitly requested
-can't be enabled.
-
-Upstream-Status: Submitted [sent to src@mega-nerd.com]
-
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
----
- configure.ac | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 474c6ab..bad597e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -101,6 +101,9 @@ AC_ARG_ENABLE(cpu-clip,
- AC_HELP_STRING([--disable-cpu-clip], [disable tricky cpu specific clipper]),
- ac_arg_cpu_clip="N", ac_arg_cpu_clip="Y")
-
-+AC_ARG_ENABLE(alsa,
-+ AC_HELP_STRING([--disable-alsa], [disable ALSA support in the varispeed-play example program]))
-+
- #====================================================================================
- # Check types and their sizes.
-
-@@ -194,6 +197,10 @@ if test x$enable_alsa != xno ; then
- if test x$ac_cv_header_alsa_asoundlib_h = xyes ; then
- ALSA_LIBS="-lasound"
- enable_alsa=yes
-+ elif test x$enable_alsa = xyes ; then
-+ AC_MSG_ERROR(["ALSA headers not found"])
-+ else
-+ enable_alsa=no
- fi
- fi
-
-@@ -340,7 +347,7 @@ AC_MSG_RESULT([
- Have FFTW : ................... ${ac_cv_fftw3}])
-
- AC_MSG_RESULT([ Have libsndfile : ............. ${ac_cv_sndfile}])
--AC_MSG_RESULT([ Have ALSA : ................... ${ac_cv_header_alsa_asoundlib_h}
-+AC_MSG_RESULT([ Have ALSA : ................... ${enable_alsa}
- ])
-
- AC_MSG_RESULT([ Installation directories :
---
-2.9.3
-
diff --git a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb
index ae08189441..ed2b6437dd 100644
--- a/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.1.9.bb
+++ b/meta/recipes-multimedia/libsamplerate/libsamplerate0_0.2.2.bb
@@ -1,22 +1,20 @@
SUMMARY = "Audio Sample Rate Conversion library"
-HOMEPAGE = "http://www.mega-nerd.com/SRC/"
+DESCRIPTION = "Also known as Secret Rabbit Code - a library for performing sample rate conversion of audio data."
+HOMEPAGE = "https://libsndfile.github.io/libsamplerate/"
SECTION = "libs"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=336d6faf40fb600bafb0061f4052f1f4 \
- file://src/samplerate.c;beginline=1;endline=7;md5=5b6982a8c2811c7312c13cccbf55f55e"
+ file://src/samplerate.c;beginline=1;endline=7;md5=7a4238289dc36bfb70968ccaa5bd0d4f"
DEPENDS = "libsndfile1"
-PR = "r1"
-SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz \
- file://0001-configure.ac-improve-alsa-handling.patch \
+SRC_URI = "https://github.com/libsndfile/libsamplerate/releases/download/${PV}/libsamplerate-${PV}.tar.xz \
"
-SRC_URI[md5sum] = "2b78ae9fe63b36b9fbb6267fad93f259"
-SRC_URI[sha256sum] = "0a7eb168e2f21353fb6d84da152e4512126f7dc48ccb0be80578c565413444c1"
+SRC_URI[sha256sum] = "3258da280511d24b49d6b08615bbe824d0cacc9842b0e4caf11c52cf2b043893"
CVE_PRODUCT = "libsamplerate"
-UPSTREAM_CHECK_URI = "http://www.mega-nerd.com/SRC/download.html"
+UPSTREAM_CHECK_URI = "https://github.com/libsndfile/libsamplerate/releases"
S = "${WORKDIR}/libsamplerate-${PV}"
diff --git a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
index b100108766..443ca95e32 100644
--- a/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
+++ b/meta/recipes-multimedia/libsndfile/libsndfile1_1.0.28.bb
@@ -1,4 +1,7 @@
SUMMARY = "Audio format Conversion library"
+DESCRIPTION = "Library for reading and writing files containing sampled \
+sound (such as MS Windows WAV and the Apple/SGI AIFF format) through \
+one standard library interface."
HOMEPAGE = "http://www.mega-nerd.com/libsndfile"
AUTHOR = "Erik de Castro Lopo"
DEPENDS = "flac libogg libvorbis"
@@ -34,7 +37,7 @@ PACKAGECONFIG[regtest] = "--enable-sqlite,--disable-sqlite,sqlite3"
inherit autotools lib_package pkgconfig multilib_header
-do_install_append() {
+do_install:append() {
oe_multilib_header sndfile.h
}
diff --git a/meta/recipes-multimedia/libtiff/tiff_4.1.0.bb b/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
index 9b907fbc24..6852758c6a 100644
--- a/meta/recipes-multimedia/libtiff/tiff_4.1.0.bb
+++ b/meta/recipes-multimedia/libtiff/tiff_4.3.0.bb
@@ -1,4 +1,8 @@
SUMMARY = "Provides support for the Tag Image File Format (TIFF)"
+DESCRIPTION = "Library provides support for the Tag Image File Format \
+(TIFF), a widely used format for storing image data. This library \
+provide means to easily access and create TIFF image files."
+HOMEPAGE = "http://www.libtiff.org/"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=34da3db46fab7501992f9615d7e158cf"
@@ -6,12 +10,15 @@ CVE_PRODUCT = "libtiff"
SRC_URI = "http://download.osgeo.org/libtiff/tiff-${PV}.tar.gz \
"
-SRC_URI[md5sum] = "2165e7aba557463acc0664e71a3ed424"
-SRC_URI[sha256sum] = "5d29f32517dadb6dbcd1255ea5bbc93a2b54b94fbf83653b4d65c7d6775b8634"
+SRC_URI[sha256sum] = "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8"
# exclude betas
UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar"
+# Tested with check from https://security-tracker.debian.org/tracker/CVE-2015-7313
+# and 4.3.0 doesn't have the issue
+CVE_CHECK_WHITELIST += "CVE-2015-7313"
+
inherit autotools multilib_header
CACHED_CONFIGUREVARS = "ax_cv_check_gl_libgl=no"
@@ -40,10 +47,10 @@ PACKAGECONFIG[check-ycbcr-subsampling] = "--enable-check-ycbcr-subsampling,--dis
PACKAGECONFIG[chunky-strip-read] = "--enable-chunky-strip-read,--disable-chunky-strip-read,,"
PACKAGES =+ "tiffxx tiff-utils"
-FILES_tiffxx = "${libdir}/libtiffxx.so.*"
-FILES_tiff-utils = "${bindir}/*"
+FILES:tiffxx = "${libdir}/libtiffxx.so.*"
+FILES:tiff-utils = "${bindir}/*"
-do_install_append() {
+do_install:append() {
oe_multilib_header tiffconf.h
}
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
index 00ca3675ca..ee4b754c12 100644
--- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
+++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb
@@ -1,5 +1,9 @@
SUMMARY = "Library and test program for decoding MPEG-2 and MPEG-1 video streams"
-HOMEPAGE = "http://libmpeg2.sourceforge.net/"
+DESCRIPTION = "mpeg2dec is a test program for libmpeg2. It decodes \
+mpeg-1 and mpeg-2 video streams, and also includes a demultiplexer \
+for mpeg-1 and mpeg-2 program streams. The main purpose of mpeg2dec \
+is to have a simple test bed for libmpeg2."
+HOMEPAGE = "https://libmpeg2.sourceforge.io/"
SECTION = "libs"
LICENSE = "GPLv2+"
LICENSE_FLAGS = "commercial"
@@ -30,18 +34,18 @@ PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxv"
PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev"
-FILES_${PN} = "${bindir}/*"
-FILES_libmpeg2 = "${libdir}/libmpeg2.so.*"
-FILES_libmpeg2convert = "${libdir}/libmpeg2convert.so.*"
-FILES_libmpeg2-dev = "${libdir}/libmpeg2.so \
+FILES:${PN} = "${bindir}/*"
+FILES:libmpeg2 = "${libdir}/libmpeg2.so.*"
+FILES:libmpeg2convert = "${libdir}/libmpeg2convert.so.*"
+FILES:libmpeg2-dev = "${libdir}/libmpeg2.so \
${libdir}/libmpeg2.la \
${libdir}/libmpeg2arch.la \
${libdir}/pkgconfig/libmpeg2.pc \
${includedir}/mpeg2dec/mpeg2.h"
-FILES_libmpeg2-staticdev = "${libdir}/libmpeg2.a"
-FILES_libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \
+FILES:libmpeg2-staticdev = "${libdir}/libmpeg2.a"
+FILES:libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \
${libdir}/libmpeg2convert.la \
${libdir}/libmpeg2convertarch.la \
${libdir}/pkgconfig/libmpeg2convert.pc \
${includedir}/mpeg2dec/mpeg2convert.h"
-FILES_libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a"
+FILES:libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a"
diff --git a/meta/recipes-multimedia/mpg123/mpg123_1.26.3.bb b/meta/recipes-multimedia/mpg123/mpg123_1.29.3.bb
index 0746d8d47d..6e0dc1beff 100644
--- a/meta/recipes-multimedia/mpg123/mpg123_1.26.3.bb
+++ b/meta/recipes-multimedia/mpg123/mpg123_1.29.3.bb
@@ -7,10 +7,10 @@ BUGTRACKER = "http://sourceforge.net/p/mpg123/bugs/"
SECTION = "multimedia"
LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1e86753638d3cf2512528b99079bc4f3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e7b9c15fcfb986abb4cc5e8400a24169"
SRC_URI = "https://www.mpg123.de/download/${BP}.tar.bz2"
-SRC_URI[sha256sum] = "30c998785a898f2846deefc4d17d6e4683a5a550b7eacf6ea506e30a7a736c6e"
+SRC_URI[sha256sum] = "963885d8cc77262f28b77187c7d189e32195e64244de2530b798ddf32183e847"
UPSTREAM_CHECK_REGEX = "mpg123-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -40,6 +40,7 @@ EXTRA_OECONF = " \
--with-audio='${AUDIOMODS}' \
${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-cpu=neon', '', d)} \
${@bb.utils.contains('TUNE_FEATURES', 'altivec', '--with-cpu=altivec', '', d)} \
+ ${@bb.utils.contains('TARGET_FPU', 'soft', '--with-cpu=generic_nofpu', '', d)} \
"
# Fails to build with thumb-1 (qemuarm)
#| {standard input}: Assembler messages:
@@ -47,5 +48,5 @@ EXTRA_OECONF = " \
#| {standard input}:48: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsr#24'
#...
#| make[3]: *** [equalizer.lo] Error 1
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 3a26cb59dd..4a1456d407 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -1,4 +1,6 @@
SUMMARY = "Sound server for Linux and Unix-like operating systems"
+DESCRIPTION = "A general purpose sound server intended to run as a middleware \
+between your applications and your hardware devices, either using ALSA or OSS."
HOMEPAGE = "http://www.pulseaudio.org"
AUTHOR = "Lennart Poettering"
SECTION = "libs/multimedia"
@@ -56,47 +58,47 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
file://src/pulsecore/filter/biquad.h;beginline=1;endline=4;md5=6d46d1365206528a20137355924233c1 \
"
+# libtool is needed for libltdl, used in module loading.
DEPENDS = "libatomic-ops libsndfile1 libtool"
# optional
DEPENDS += "udev alsa-lib glib-2.0"
DEPENDS += "speexdsp libxml-parser-perl-native libcap"
-inherit autotools bash-completion pkgconfig useradd gettext perlnative systemd manpages gsettings
+inherit bash-completion meson pkgconfig useradd gettext perlnative systemd manpages gsettings
# *.desktop rules wont be generated during configure and build will fail
# if using --disable-nls
USE_NLS = "yes"
-EXTRA_OECONF = "\
- --disable-hal-compat \
- --disable-orc \
- --enable-tcpwrap=no \
- --with-access-group=audio \
- --disable-openssl \
- --with-database=simple \
- --without-zsh-completion-dir \
- --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \
- ac_cv_header_valgrind_memcheck_h=no \
- --disable-tests \
- --disable-running-from-build-tree \
+EXTRA_OEMESON = "\
+ -Dhal-compat=false \
+ -Dorc=disabled \
+ -Daccess_group=audio \
+ -Dopenssl=disabled \
+ -Ddatabase=simple \
+ -Dzshcompletiondir=no \
+ -Dudevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \
+ -Dvalgrind=disabled \
+ -Dtests=false \
+ -Drunning-from-build-tree=false \
"
# soxr (the SoX Resampler library) doesn't seem to be currently packaged in
# oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now.
-EXTRA_OECONF += "--without-soxr"
+EXTRA_OEMESON += "-Dsoxr=disabled"
# The FFTW dependency (for module-equalizer-sink) was removed in commit
# ddbd713293 without explaining why it was not made a PACKAGECONFIG item
# instead. Oh well, let's keep it disabled until someone expresses some
# interest in having it enabled.
-EXTRA_OECONF += "--without-fftw"
+EXTRA_OEMESON += "-Dfftw=disabled"
# The "adrian" echo canceller implementation has a non-standard license
# (src/modules/echo-cancel/adrian-license.txt). It's a permissive license, so
# the licensing terms are probably not problematic, but it would be an extra
# hassle to add the license to OE-Core's set of licenses. The canceller isn't
# very good anyway, better alternatives exist (such as the webrtc canceller).
-EXTRA_OECONF += "--disable-adrian-aec"
+EXTRA_OEMESON += "-Dadrian-aec=false"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
@@ -105,35 +107,25 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5'
dbus gsettings \
"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
-PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc"
-PACKAGECONFIG[gconf] = "--enable-gconf,--disable-gconf,gconf"
-PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0"
-PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono"
-PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3"
-PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal --with-systemduserunitdir=${systemd_user_unitdir},--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
+PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
+PACKAGECONFIG[bluez5] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
+PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0-native glib-2.0"
+PACKAGECONFIG[ofono] = "-Dbluez5-ofono-headset=true,-Dbluez5-ofono-headset=false,ofono"
+PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemduserunitdir=${systemd_user_unitdir},-Dsystemd=disabled,systemd"
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxtst libice libsm libxcb"
+PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
+PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack"
# Since many embedded systems don't have non-root users, it's useful to be
# able to use pulseaudio autospawn for root as well.
PACKAGECONFIG[autospawn-for-root] = ",,,"
-PACKAGECONFIG[lirc] = "--enable-lirc,--disable-lirc,lirc"
-PACKAGECONFIG[webrtc] = "--enable-webrtc-aec,--disable-webrtc-aec,webrtc-audio-processing"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, "
-
-EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
-EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}"
-
+PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc"
+PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing"
+PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false,"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,"
export TARGET_PFPU = "${TARGET_FPU}"
-# TODO: Use more fine granular version
-#OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:"
-OE_LT_RPATH_ALLOW = "any"
-OE_LT_RPATH_ALLOW[export]="1"
-
set_cfg_value () {
sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1"
if ! grep -q "^$2 = $3\$" "$1"; then
@@ -141,20 +133,20 @@ set_cfg_value () {
fi
}
-do_compile_append () {
+do_compile:append () {
if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root', 'true', 'false', d)}; then
- set_cfg_value src/client.conf allow-autospawn-for-root yes
+ set_cfg_value src/pulse/client.conf allow-autospawn-for-root yes
fi
}
-do_install_append() {
+do_install:append() {
install -d ${D}${sysconfdir}/default/volatiles
install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse
}
USERADD_PACKAGES = "pulseaudio-server"
-GROUPADD_PARAM_pulseaudio-server = "--system pulse"
-USERADD_PARAM_pulseaudio-server = "--system --home /var/run/pulse \
+GROUPADD_PARAM:pulseaudio-server = "--system pulse"
+USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \
--no-create-home --shell /bin/false \
--groups audio,pulse --gid pulse pulse"
@@ -176,50 +168,49 @@ PACKAGES =+ "\
PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}"
#upgrade path:
-RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf"
+RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf"
PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*"
-FILES_libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
-FILES_libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
+FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
+FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
# client.conf configures the behaviour of libpulse, so it belongs in the same
# package.
-FILES_libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf"
+FILES:libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf"
-FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*"
-FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
+FILES:libpulse-simple = "${libdir}/libpulse-simple.so.*"
+FILES:libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*"
-FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake"
-FILES_${PN}-conf = "${sysconfdir}"
-FILES_${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
-FILES_${PN}-pa-info = "${bindir}/pa-info"
-FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
+FILES:${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala"
+FILES:${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse"
+FILES:${PN}-pa-info = "${bindir}/pa-info"
+FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*"
#SYSTEMD_PACKAGES = "${PN}-server"
-SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service"
+SYSTEMD_SERVICE:${PN}-server = "pulseaudio.service"
-FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
+FILES:${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so"
# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it)
-FILES_${PN} = ""
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
-CONFFILES_libpulse = "${sysconfdir}/pulse/client.conf"
+CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf"
-CONFFILES_pulseaudio-server = "\
+CONFFILES:pulseaudio-server = "\
${sysconfdir}/pulse/default.pa \
${sysconfdir}/pulse/daemon.conf \
${sysconfdir}/pulse/system.pa \
"
-pkg_postinst_${PN}-server() {
+pkg_postinst:${PN}-server() {
if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then
${sysconfdir}/init.d/populate-volatile.sh update
fi
}
-python populate_packages_prepend() {
+python populate_packages:prepend() {
plugindir = d.expand('${libdir}/pulse-${PV}/modules/')
do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True)
do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True)
@@ -227,7 +218,7 @@ python populate_packages_prepend() {
# pa-info is a bash script that collects information about the audio setup.
# It's primarily useful for attaching an information dump when reporting bugs.
-RDEPENDS_${PN}-pa-info = "\
+RDEPENDS:${PN}-pa-info = "\
alsa-utils-amixer \
alsa-utils-aplay \
alsa-utils-scripts \
@@ -235,7 +226,7 @@ RDEPENDS_${PN}-pa-info = "\
${PN}-server \
"
-RDEPENDS_pulseaudio-server = " \
+RDEPENDS:pulseaudio-server = " \
pulseaudio-module-filter-apply \
pulseaudio-module-filter-heuristics \
pulseaudio-module-udev-detect \
@@ -261,24 +252,23 @@ RDEPENDS_pulseaudio-server = " \
# If the server is installed, it's usually desirable to make ALSA applications
# use PulseAudio. alsa-plugins-pulseaudio-conf will install the configuration
# that makes the PulseAudio plugin the default ALSA device.
-RDEPENDS_pulseaudio-server += "alsa-plugins-pulseaudio-conf"
+RDEPENDS:pulseaudio-server += "alsa-plugins-pulseaudio-conf"
# pulseaudio-module-console-kit is built whenever dbus is enabled by PACKAGECONFIG
# but consolekit depends on libx11 and is available only for DISTRO with x11 in DISTRO_FEATURES
-RDEPENDS_pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
-RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
+RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)}"
+RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
-FILES_${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
-FILES_${PN}-module-gconf += "${libexecdir}/pulse/gconf-helper"
+FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
GSETTINGS_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'gsettings', '${PN}-module-gsettings', '', d)}"
-FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
+FILES:${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas"
# The console-kit module is good to have on X11 systems (it keeps PulseAudio
# running for the duration of the user login session). The device-manager and
# x11-* modules are referenced from the start-pulseaudio-x11 script, so those
# modules must be installed when X11 is enabled.
-RDEPENDS_pulseaudio-server += "\
+RDEPENDS:pulseaudio-server += "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
pulseaudio-module-device-manager \
pulseaudio-module-x11-cork-request \
@@ -286,6 +276,6 @@ RDEPENDS_pulseaudio-server += "\
pulseaudio-module-x11-xsmp \
', '', d)}"
-RDEPENDS_pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
+RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \
'', d)}"
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch
new file mode 100644
index 0000000000..b1a43bd7f0
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch
@@ -0,0 +1,26 @@
+From 4ee244d0824e772ab35abb0f9df5e8088e16fc5d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 26 Apr 2021 19:30:40 +0200
+Subject: [PATCH] doxygen/meson.build: remove dependency on doxygen binary
+
+New meson refuses to complete confuguration if doxygen is absent
+even if this target is never actually run. As we never run it,
+let's remove it, until upstream and/or meson figure out that it's
+optional and should be treated as such.
+
+Upstream-Status: Inappropriate [needs proper upstream fix]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ doxygen/meson.build | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/doxygen/meson.build b/doxygen/meson.build
+index afc0e49..df55c83 100644
+--- a/doxygen/meson.build
++++ b/doxygen/meson.build
+@@ -6,5 +6,3 @@ doxygen_conf = configure_file(
+ configuration : cdata,
+ )
+
+-run_target('doxygen',
+- command : ['doxygen', doxygen_conf])
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch
new file mode 100644
index 0000000000..c9d8abcbf2
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch
@@ -0,0 +1,82 @@
+From 9d0dc8aedd08d77797f90fa6075a59613f18bf0d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Dec 2020 07:56:07 -0800
+Subject: [PATCH] meson: Check for __get_cpuid
+
+checking for presence of cpuid.h header alone is not sufficient in some case to use
+cpuid related functions. e.g. when using clang which is built for
+multiple targets will have cpuid.h header as part of compiler headers in
+distribution but one maybe compiling pulseaudion for non-x86 target. The
+current check in meson succeeds and then compile fails later because
+cpuid.h is x86-specific header. Therefore checking for symbol that is
+needed makes this robust, so even if header exist it will try to ensure
+the given symbol can be used
+
+Fixes
+src/pulsecore/core-util.c:113:
+| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/pulseaudio/14.0-r0/recipe-sysroot-native/usr/lib/clang/11.0.1/include/cpuid.h:11:2: error: this header is for x86 only
+| #error this header is for x86 only
+| ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Cc: Tanu Kaskinen <tanuk@iki.fi>
+---
+ meson.build | 5 ++++-
+ src/pulsecore/core-util.c | 2 +-
+ src/pulsecore/cpu-x86.c | 2 +-
+ 3 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 2589627..5f5127e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -185,7 +185,6 @@ endif
+ check_headers = [
+ 'arpa/inet.h',
+ 'byteswap.h',
+- 'cpuid.h',
+ 'dlfcn.h',
+ 'execinfo.h',
+ 'grp.h',
+@@ -243,6 +242,10 @@ if cc.has_header_symbol('pthread.h', 'PTHREAD_PRIO_INHERIT')
+ cdata.set('HAVE_PTHREAD_PRIO_INHERIT', 1)
+ endif
+
++if cc.has_header_symbol('cpuid.h', '__get_cpuid')
++ cdata.set('HAVE_GET_CPUID', 1)
++endif
++
+ # Functions
+
+ check_functions = [
+diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
+index 601b1d1..6f34e7c 100644
+--- a/src/pulsecore/core-util.c
++++ b/src/pulsecore/core-util.c
+@@ -109,7 +109,7 @@
+ #include <sys/personality.h>
+ #endif
+
+-#ifdef HAVE_CPUID_H
++#ifdef HAVE_GET_CPUID
+ #include <cpuid.h>
+ #endif
+
+diff --git a/src/pulsecore/cpu-x86.c b/src/pulsecore/cpu-x86.c
+index 4e59e14..86595d4 100644
+--- a/src/pulsecore/cpu-x86.c
++++ b/src/pulsecore/cpu-x86.c
+@@ -24,7 +24,7 @@
+
+ #include <stdint.h>
+
+-#ifdef HAVE_CPUID_H
++#ifdef HAVE_GET_CPUID
+ #include <cpuid.h>
+ #endif
+
+--
+2.29.2
+
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch
deleted file mode 100644
index 95133fd9d4..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap-arm-Adjust-inline-asm-constraints.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 3450d1fcfe8a8f84553ab299cd96ae0705ddffbe Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 Mar 2020 11:48:28 -0800
-Subject: [PATCH] remap/arm: Adjust inline asm constraints
-
-gcc10 can effectively emit single precision registers if right
-operand modifier constraint is not in use
-
-This results in assembler rejecting the code
-
-/tmp/ccEG4QpI.s:646: Error: VFP/Neon double precision register expected -- `vtbl.8 d3,{d0,d1},s8'
-/tmp/ccEG4QpI.s:678: Error: invalid instruction shape -- `vmul.f32 d0,d0,s8'
-
-Therefore add %P qualifier to request double registers sinece 'w' could
-mean variable could be stored in s0..s14 and GCC defaults to printing out s0..s14.
-Note those registers map to d0..d7 also.
-
-Output generated is exactly same with gcc9, and it also now compiles
-with gcc10
-
-Its not documented well in gcc docs and there is a ticket for that
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84343
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/261]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/pulsecore/remap_neon.c | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/src/pulsecore/remap_neon.c b/src/pulsecore/remap_neon.c
-index 41208986d..ca3b95b48 100644
---- a/src/pulsecore/remap_neon.c
-+++ b/src/pulsecore/remap_neon.c
-@@ -189,7 +189,7 @@ static void remap_ch4_to_mono_float32ne_neon(pa_remap_t *m, float *dst, const fl
- "vadd.f32 d0, d0, d1 \n\t"
- "vadd.f32 d2, d2, d3 \n\t"
- "vadd.f32 d0, d0, d2 \n\t"
-- "vmul.f32 d0, d0, %[quart] \n\t"
-+ "vmul.f32 d0, d0, %P[quart] \n\t"
- "vst1.32 {d0}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [quart] "w" (quart) /* input operands */
-@@ -276,7 +276,7 @@ static void remap_arrange_stereo_s16ne_neon(pa_remap_t *m, int16_t *dst, const i
- for (; n >= 2; n -= 2) {
- __asm__ __volatile__ (
- "vld1.s16 d0, [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.s16 d0, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -287,7 +287,7 @@ static void remap_arrange_stereo_s16ne_neon(pa_remap_t *m, int16_t *dst, const i
- if (n > 0) {
- __asm__ __volatile__ (
- "vld1.32 d0[0], [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.32 d0[0], [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -302,8 +302,8 @@ static void remap_arrange_ch2_ch4_s16ne_neon(pa_remap_t *m, int16_t *dst, const
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.32 d0[0], [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-- "vst1.s16 d0, [%[dst]]! \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
-+ "vst1.s16 d0, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
- : "memory", "d0" /* clobber list */
-@@ -317,7 +317,7 @@ static void remap_arrange_ch4_s16ne_neon(pa_remap_t *m, int16_t *dst, const int1
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.s16 d0, [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.s16 d0, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -332,7 +332,7 @@ static void remap_arrange_stereo_float32ne_neon(pa_remap_t *m, float *dst, const
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.f32 d0, [%[src]]! \n\t"
-- "vtbl.8 d0, {d0}, %[t] \n\t"
-+ "vtbl.8 d0, {d0}, %P[t] \n\t"
- "vst1.s16 {d0}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t] "w" (t) /* input operands */
-@@ -349,8 +349,8 @@ static void remap_arrange_ch2_ch4_any32ne_neon(pa_remap_t *m, float *dst, const
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.f32 d0, [%[src]]! \n\t"
-- "vtbl.8 d1, {d0}, %[t0] \n\t"
-- "vtbl.8 d2, {d0}, %[t1] \n\t"
-+ "vtbl.8 d1, {d0}, %P[t0] \n\t"
-+ "vtbl.8 d2, {d0}, %P[t1] \n\t"
- "vst1.s16 {d1,d2}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t0] "w" (t0), [t1] "w" (t1) /* input operands */
-@@ -366,8 +366,8 @@ static void remap_arrange_ch4_float32ne_neon(pa_remap_t *m, float *dst, const fl
- for (; n > 0; n--) {
- __asm__ __volatile__ (
- "vld1.f32 {d0,d1}, [%[src]]! \n\t"
-- "vtbl.8 d2, {d0,d1}, %[t0] \n\t"
-- "vtbl.8 d3, {d0,d1}, %[t1] \n\t"
-+ "vtbl.8 d2, {d0,d1}, %P[t0] \n\t"
-+ "vtbl.8 d3, {d0,d1}, %P[t1] \n\t"
- "vst1.s16 {d2,d3}, [%[dst]]! \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : [t0] "w" (t0), [t1] "w" (t1) /* input operands */
---
-2.25.1
-
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch
deleted file mode 100644
index aaa162f9b0..0000000000
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-remap_neon-use-register-r12-instead-of-r7.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 4a1668f341f0228904105f77fe5871b9d59b2663 Mon Sep 17 00:00:00 2001
-From: Tanu Kaskinen <tanuk@iki.fi>
-Date: Mon, 13 Jul 2020 12:42:14 +0300
-Subject: [PATCH] remap_neon: use register r12 instead of r7
-
-When the Thumb instructions set is used and frame pointers are enabled
-(-fno-omit-frame-pointer), r7 can't be used, because it's used for the
-frame pointer. Trying to use r7 caused the compilation to fail.
-
-Thanks to Andre McCurdy for suggesting[1] this fix, all I had to do was to
-test that it works. The code builds now, and cpu-remap-test also
-succeeds.
-
-[1] https://lists.openembedded.org/g/openembedded-core/message/136786
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/324]
-
-Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
----
- src/pulsecore/remap_neon.c | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/src/pulsecore/remap_neon.c b/src/pulsecore/remap_neon.c
-index ca3b95b48..6f71345f8 100644
---- a/src/pulsecore/remap_neon.c
-+++ b/src/pulsecore/remap_neon.c
-@@ -52,11 +52,15 @@ static void remap_mono_to_stereo_float32ne_generic_arm(pa_remap_t *m, float *dst
- __asm__ __volatile__ (
- "ldm %[src]!, {r4,r6} \n\t"
- "mov r5, r4 \n\t"
-- "mov r7, r6 \n\t"
-- "stm %[dst]!, {r4-r7} \n\t"
-+
-+ /* We use r12 instead of r7 here, because r7 is reserved for the
-+ * frame pointer when using Thumb. */
-+ "mov r12, r6 \n\t"
-+
-+ "stm %[dst]!, {r4-r6,r12} \n\t"
- : [dst] "+r" (dst), [src] "+r" (src) /* output operands */
- : /* input operands */
-- : "memory", "r4", "r5", "r6", "r7" /* clobber list */
-+ : "memory", "r4", "r5", "r6", "r12" /* clobber list */
- );
- }
-
---
-2.20.1
-
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch
index 43add75db4..48f0492177 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch
@@ -13,18 +13,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/daemon/main.c b/src/daemon/main.c
-index c80fa94..75496be 100644
+index 30ef499..5c3abf0 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
-@@ -908,7 +908,7 @@ int main(int argc, char *argv[]) {
+@@ -916,7 +916,7 @@ int main(int argc, char *argv[]) {
+ pa_set_env_and_record("PULSE_SYSTEM", conf->system_instance ? "1" : "0");
pa_log_info("This is PulseAudio %s", PACKAGE_VERSION);
- pa_log_debug("Compilation host: %s", CANONICAL_HOST);
- pa_log_debug("Compilation CFLAGS: %s", PA_CFLAGS);
+ pa_log_debug("Compilation CFLAGS: ***");
#ifdef HAVE_LIBSAMPLERATE
pa_log_warn("Compiled with DEPRECATED libsamplerate support!");
--
-2.7.4
+2.25.1
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb
index 53e9a2357d..239d31810b 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_15.0.bb
@@ -3,10 +3,9 @@ require pulseaudio.inc
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \
file://0001-client-conf-Add-allow-autospawn-for-root.patch \
file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \
- file://0001-remap-arm-Adjust-inline-asm-constraints.patch \
- file://0001-remap_neon-use-register-r12-instead-of-r7.patch \
+ file://0001-meson-Check-for-__get_cpuid.patch \
file://volatiles.04_pulse \
+ file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \
"
-SRC_URI[md5sum] = "e41d606f90254ed45c90520faf83d95c"
-SRC_URI[sha256sum] = "961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057"
+SRC_URI[sha256sum] = "a40b887a3ba98cc26976eb11bdb6613988f145b19024d1b6555c6a03c9cba1a0"
UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar"
diff --git a/meta/recipes-multimedia/sbc/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch b/meta/recipes-multimedia/sbc/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch
new file mode 100644
index 0000000000..11cec74fbb
--- /dev/null
+++ b/meta/recipes-multimedia/sbc/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch
@@ -0,0 +1,45 @@
+From f4a1224323e386090a44bf70ee0ac9877ba7fb0d Mon Sep 17 00:00:00 2001
+From: Marius Bakke <marius@gnu.org>
+Date: Tue, 22 Dec 2020 11:04:26 +0000
+Subject: [PATCH] sbc_primitives: Fix build on non-x86.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Don't call __builtin_cpu_init unless targeting i386 or x86_64.
+Otherwise we get an error at link time:
+
+ CC sbc/sbc_primitives.lo
+sbc/sbc_primitives.c: In function ‘sbc_init_primitives_x86’:
+sbc/sbc_primitives.c:596:2: warning: implicit declaration of function ‘__builtin_cpu_init’; did you mean ‘__builtin_irint’? [-Wimplicit-function-declaration]
+[...]
+ CCLD src/sbcdec
+ld: sbc/.libs/libsbc-private.a(sbc_primitives.o): in function `sbc_init_primitives':
+sbc_primitives.c:(.text+0x3a30): undefined reference to `__builtin_cpu_init'
+
+Upstream-Status: Backport
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ sbc/sbc_primitives.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/sbc/sbc_primitives.c b/sbc/sbc_primitives.c
+index 97a75be..09c214a 100644
+--- a/sbc/sbc_primitives.c
++++ b/sbc/sbc_primitives.c
+@@ -593,6 +593,7 @@ static int sbc_calc_scalefactors_j(
+
+ static void sbc_init_primitives_x86(struct sbc_encoder_state *state)
+ {
++#if defined(__x86_64__) || defined(__i386__)
+ __builtin_cpu_init();
+
+ #ifdef SBC_BUILD_WITH_MMX_SUPPORT
+@@ -604,6 +605,7 @@ static void sbc_init_primitives_x86(struct sbc_encoder_state *state)
+ if (__builtin_cpu_supports("sse4.2"))
+ sbc_init_primitives_sse(state);
+ #endif
++#endif
+ }
+
+ /*
diff --git a/meta/recipes-multimedia/sbc/sbc_1.4.bb b/meta/recipes-multimedia/sbc/sbc_1.5.bb
index 674d77ef48..13bba6b6b3 100644
--- a/meta/recipes-multimedia/sbc/sbc_1.4.bb
+++ b/meta/recipes-multimedia/sbc/sbc_1.5.bb
@@ -3,8 +3,8 @@ DESCRIPTION = "Bluetooth low-complexity, subband codec (SBC) library."
HOMEPAGE = "https://www.bluez.org"
SECTION = "libs"
LICENSE = "GPLv2+ & LGPLv2.1+"
-LICENSE_${PN} = "LGPLv2.1+"
-LICENSE_${PN}-examples = "GPLv2+"
+LICENSE:${PN} = "LGPLv2.1+"
+LICENSE:${PN}-examples = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
file://src/sbcenc.c;beginline=1;endline=24;md5=08e7a70b127f4100ff2cd7d629147d8d \
@@ -12,12 +12,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
DEPENDS = "libsndfile1"
-SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/${BP}.tar.xz"
+SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/${BP}.tar.xz \
+ file://0001-sbc_primitives-Fix-build-on-non-x86.patch \
+ "
-SRC_URI[md5sum] = "800fb0908899baa48dc216d8e156cc05"
-SRC_URI[sha256sum] = "518bf46e6bb3dc808a95e1eabad26fdebe8a099c1e781c27ed7fca6c2f4a54c9"
+SRC_URI[sha256sum] = "0cbad69823a99e8421fe0700e8cf9eeb8fa0c1ad28e8dbc2182b3353507931d2"
inherit autotools pkgconfig
PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples += "${bindir}/*"
+FILES:${PN}-examples += "${bindir}/*"
diff --git a/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb b/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb
index 6369646761..bb7bc9aade 100644
--- a/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb
+++ b/meta/recipes-multimedia/speex/speexdsp_1.2.0.bb
@@ -21,7 +21,7 @@ EXTRA_OECONF = "\
# speexdsp was split off from speex in 1.2rc2. Older versions of speex can't
# be installed together with speexdsp, since they contain overlapping files.
-RCONFLICTS_${PN} = "speex (< 1.2rc2)"
-RCONFLICTS_${PN}-dbg = "speex-dbg (< 1.2rc2)"
-RCONFLICTS_${PN}-dev = "speex-dev (< 1.2rc2)"
-RCONFLICTS_${PN}-staticdev = "speex-staticdev (< 1.2rc2)"
+RCONFLICTS:${PN} = "speex (< 1.2rc2)"
+RCONFLICTS:${PN}-dbg = "speex-dbg (< 1.2rc2)"
+RCONFLICTS:${PN}-dev = "speex-dev (< 1.2rc2)"
+RCONFLICTS:${PN}-staticdev = "speex-staticdev (< 1.2rc2)"
diff --git a/meta/recipes-multimedia/webp/libwebp_1.1.0.bb b/meta/recipes-multimedia/webp/libwebp_1.2.1.bb
index 68e5ae2b3c..d634e02180 100644
--- a/meta/recipes-multimedia/webp/libwebp_1.1.0.bb
+++ b/meta/recipes-multimedia/webp/libwebp_1.2.1.bb
@@ -14,8 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \
file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7"
SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz"
-SRC_URI[md5sum] = "7e047f2cbaf584dff7a8a7e0f8572f18"
-SRC_URI[sha256sum] = "98a052268cc4d5ece27f76572a7f50293f439c17a98e67c4ea0c7ed6f50ef043"
+SRC_URI[sha256sum] = "808b98d2f5b84e9b27fdef6c5372dac769c3bda4502febbfa5031bd3c4d7d018"
UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html"
@@ -31,8 +30,8 @@ EXTRA_OECONF = " \
EXTRA_OECONF_ARM = " \
${@bb.utils.contains("TUNE_FEATURES","neon","--enable-neon","--disable-neon",d)} \
"
-EXTRA_OECONF_append_arm = " ${EXTRA_OECONF_ARM}"
-EXTRA_OECONF_append_armeb = " ${EXTRA_OECONF_ARM}"
+EXTRA_OECONF:append:arm = " ${EXTRA_OECONF_ARM}"
+EXTRA_OECONF:append:armeb = " ${EXTRA_OECONF_ARM}"
inherit autotools lib_package
@@ -52,5 +51,5 @@ PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,mesa-glut"
PACKAGES =+ "${PN}-gif2webp"
-DESCRIPTION_${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
-FILES_${PN}-gif2webp = "${bindir}/gif2webp"
+DESCRIPTION:${PN}-gif2webp = "Simple tool to convert animated GIFs to WebP"
+FILES:${PN}-gif2webp = "${bindir}/gif2webp"
diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb
index 25ab72c66d..c49e935d1c 100644
--- a/meta/recipes-multimedia/x264/x264_git.bb
+++ b/meta/recipes-multimedia/x264/x264_git.bb
@@ -8,26 +8,26 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "nasm-native"
-SRC_URI = "git://github.com/mirror/x264;branch=stable \
+SRC_URI = "git://github.com/mirror/x264;branch=stable;protocol=https \
file://don-t-default-to-cortex-a9-with-neon.patch \
file://Fix-X32-build-by-disabling-asm.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
-SRCREV = "d198931a63049db1f2c92d96c34904c69fde8117"
+SRCREV = "5db6aa6cab1b146e07b60cc1736a01f21da01154"
-PV = "r3011+git${SRCPV}"
+PV = "r3039+git${SRCPV}"
S = "${WORKDIR}/git"
inherit lib_package pkgconfig
X264_DISABLE_ASM = ""
-X264_DISABLE_ASM_x86 = "--disable-asm"
-X264_DISABLE_ASM_armv4 = "--disable-asm"
-X264_DISABLE_ASM_armv5 = "--disable-asm"
-X264_DISABLE_ASM_powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
-X264_DISABLE_ASM_mipsarch = "${@bb.utils.contains("TUNE_FEATURES", "r6", "", "--disable-asm", d)}"
+X264_DISABLE_ASM:x86 = "--disable-asm"
+X264_DISABLE_ASM:armv4 = "--disable-asm"
+X264_DISABLE_ASM:armv5 = "--disable-asm"
+X264_DISABLE_ASM:powerpc = "${@bb.utils.contains("TUNE_FEATURES", "spe", "--disable-asm", "", d)}"
+X264_DISABLE_ASM:mipsarch = "${@bb.utils.contains("TUNE_FEATURES", "r6", "", "--disable-asm", d)}"
EXTRA_OECONF = '--prefix=${prefix} \
--host=${HOST_SYS} \