diff options
Diffstat (limited to 'meta/recipes-multimedia')
70 files changed, 1039 insertions, 1182 deletions
diff --git a/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch b/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch new file mode 100644 index 0000000000..98e2988dda --- /dev/null +++ b/meta/recipes-multimedia/alsa/alsa-lib/ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch @@ -0,0 +1,31 @@ +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.3.1.bb b/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb index 1eb56f4053..f38e8b94ff 100644 --- a/meta/recipes-multimedia/alsa/alsa-lib_1.2.3.1.bb +++ b/meta/recipes-multimedia/alsa/alsa-lib_1.2.4.bb @@ -7,8 +7,9 @@ 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] = "1244585515fbebce7d0e53656c1fb614f99accb8413115ce3efb9a9309c4c892" +SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2 \ + file://ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e.patch" +SRC_URI[sha256sum] = "f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7" inherit autotools pkgconfig diff --git a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb index 52dee30126..e8402a6fcb 100644 --- a/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb +++ b/meta/recipes-multimedia/alsa/alsa-plugins_1.2.2.bb @@ -51,7 +51,7 @@ FILES_${PN} = "" ALLOW_EMPTY_${PN} = "1" do_install_append() { - rm ${D}${libdir}/alsa-lib/*.la + rm -f ${D}${libdir}/alsa-lib/*.la if [ "${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', 'yes', 'no', d)}" = "yes" ]; then # We use the example as is. Upstream installs the file under diff --git a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb index fd949be8a0..aac4b48948 100644 --- a/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.3.bb +++ b/meta/recipes-multimedia/alsa/alsa-topology-conf_1.2.4.bb @@ -5,13 +5,13 @@ 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] = "833f99b2cbda34e0cfef867ef1d2e6a74fe276bb7fc525a573be32077f629dff" +SRC_URI[sha256sum] = "55e0e6e42eca4cc7656c257af2440cdc65b83689dca49fc60ca0194db079ed07" inherit allarch do_install() { - install -d ${D}/usr/share/alsa - cp -r ${S}/topology ${D}/usr/share/alsa + install -d "${D}${datadir}/alsa" + cp -r "${S}/topology" "${D}${datadir}/alsa" } PACKAGES = "${PN}" diff --git a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb index 19eeabff78..da41c3db75 100644 --- a/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.3.bb +++ b/meta/recipes-multimedia/alsa/alsa-ucm-conf_1.2.4.bb @@ -5,14 +5,14 @@ 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] = "1bc24da04bb27a75e323c9f0fb03e44705b6bb8a8baf255b94b41d457d590d00" +SRC_URI[sha256sum] = "2c3b535c77dcb9aaf62a61f4f8324f1ab184162f105f7ec9ed1e37c742fcd340" inherit allarch do_install() { - install -d ${D}/usr/share/alsa - cp -r ${S}/ucm ${D}/usr/share/alsa - cp -r ${S}/ucm2 ${D}/usr/share/alsa + install -d "${D}${datadir}/alsa" + cp -r "${S}/ucm" "${D}${datadir}/alsa" + cp -r "${S}/ucm2" "${D}${datadir}/alsa" } PACKAGES = "${PN}" diff --git a/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb b/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb index 048fef68a5..048fef68a5 100644 --- a/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.3.bb +++ b/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.2.4.bb diff --git a/meta/recipes-multimedia/alsa/alsa-utils.inc b/meta/recipes-multimedia/alsa/alsa-utils.inc index b523a5a832..c001b29a0c 100644 --- a/meta/recipes-multimedia/alsa/alsa-utils.inc +++ b/meta/recipes-multimedia/alsa/alsa-utils.inc @@ -2,7 +2,8 @@ SUMMARY = "ALSA sound utilities" HOMEPAGE = "http://www.alsa-project.org" BUGTRACKER = "http://alsa-project.org/main/index.php/Bug_Tracking" SECTION = "console/utils" -LICENSE = "GPLv2+" +# Some parts are GPLv2+, some are only GPLv2 (e.g. axfer, alsactl) so result is GPLv2 +LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://alsactl/utils.c;beginline=3;endline=18;md5=96cc06a4cebe5eb7975688ffb0e65642" DEPENDS = "alsa-lib ncurses libsamplerate0" @@ -21,7 +22,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] = "ff19ae48c22938de7a491bdb39db74a2eee2546013f39bf1a86185e426f921aa" +SRC_URI[sha256sum] = "98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426" # On build machines with python-docutils (not python3-docutils !!) installed # rst2man (not rst2man.py) is detected and compile fails with diff --git a/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb b/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.bb index 3430288da4..3430288da4 100644 --- a/meta/recipes-multimedia/alsa/alsa-utils_1.2.3.bb +++ b/meta/recipes-multimedia/alsa/alsa-utils_1.2.4.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 new file mode 100644 index 0000000000..7635c9196a --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/0001-lavf-srt-fix-build-fail-when-used-the-libsrt-1.4.1.patch @@ -0,0 +1,52 @@ +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..3b503c49c9 --- /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: Pending +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/CVE-2020-35964.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch new file mode 100644 index 0000000000..6b96bd674f --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch @@ -0,0 +1,75 @@ +From 27a99e2c7d450fef15594671eef4465c8a166bd7 Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer <michael@niedermayer.cc> +Date: Wed, 28 Oct 2020 20:11:54 +0100 +Subject: [PATCH] avformat/vividas: improve extradata packing checks in + track_header() + +Fixes: out of array accesses +Fixes: 26622/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-6581200338288640 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg +Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> + +Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/27a99e2c7d450fef15594671eef4465c8a166bd7] + +CVE: CVE-2020-35964 + +Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> +Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com> +--- + libavformat/vividas.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/libavformat/vividas.c b/libavformat/vividas.c +index 83d0ed116787..46c66bf9a0ae 100644 +--- a/libavformat/vividas.c ++++ b/libavformat/vividas.c +@@ -28,6 +28,7 @@ + * @sa http://wiki.multimedia.cx/index.php?title=Vividas_VIV + */ + ++#include "libavutil/avassert.h" + #include "libavutil/intreadwrite.h" + #include "avio_internal.h" + #include "avformat.h" +@@ -379,7 +380,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * + + if (avio_tell(pb) < off) { + int num_data; +- int xd_size = 0; ++ int xd_size = 1; + int data_len[256]; + int offset = 1; + uint8_t *p; +@@ -393,10 +394,10 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * + return AVERROR_INVALIDDATA; + } + data_len[j] = len; +- xd_size += len; ++ xd_size += len + 1 + len/255; + } + +- ret = ff_alloc_extradata(st->codecpar, 64 + xd_size + xd_size / 255); ++ ret = ff_alloc_extradata(st->codecpar, xd_size); + if (ret < 0) + return ret; + +@@ -405,9 +406,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * + + for (j = 0; j < num_data - 1; j++) { + unsigned delta = av_xiphlacing(&p[offset], data_len[j]); +- if (delta > data_len[j]) { +- return AVERROR_INVALIDDATA; +- } ++ av_assert0(delta <= xd_size - offset); + offset += delta; + } + +@@ -418,6 +417,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * + av_freep(&st->codecpar->extradata); + break; + } ++ av_assert0(data_len[j] <= xd_size - offset); + offset += data_len[j]; + } + diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch new file mode 100644 index 0000000000..ddab8e9aca --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch @@ -0,0 +1,35 @@ +From 3e5959b3457f7f1856d997261e6ac672bba49e8b Mon Sep 17 00:00:00 2001 +From: Michael Niedermayer <michael@niedermayer.cc> +Date: Sat, 24 Oct 2020 22:21:48 +0200 +Subject: [PATCH] avcodec/exr: Check ymin vs. h + +Fixes: out of array access +Fixes: 26532/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-5613925708857344 +Fixes: 27443/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-5631239813595136 + +Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg +Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> + +Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/3e5959b3457f7f1856d997261e6ac672bba49e8b] + +CVE: CVE-2020-35965 + +Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> +Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com> +--- + libavcodec/exr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libavcodec/exr.c b/libavcodec/exr.c +index e907c5c46401..8b701d1cd298 100644 +--- a/libavcodec/exr.c ++++ b/libavcodec/exr.c +@@ -1830,7 +1830,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, + // Zero out the start if ymin is not 0 + for (i = 0; i < planes; i++) { + ptr = picture->data[i]; +- for (y = 0; y < s->ymin; y++) { ++ for (y = 0; y < FFMIN(s->ymin, s->h); y++) { + memset(ptr, 0, out_line_size); + ptr += picture->linesize[i]; + } diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb index b4cf278cb2..bd21552332 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb @@ -25,8 +25,12 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 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 \ + file://CVE-2020-35964.patch \ + file://CVE-2020-35965.patch \ " -SRC_URI[sha256sum] = "1d0ad06484f44bcb97eba5e93c40bcb893890f9f64aeb43e46cd9bb4cbd6795d" +SRC_URI[sha256sum] = "ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb" # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 ARM_INSTRUCTION_SET_armv4 = "arm" @@ -42,7 +46,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 gpl lzma pic pthreads shared theora x264 zlib \ + ${@bb.utils.contains('AVAILTUNES', 'mips32r2', 'mips32r2', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xv xcb', '', d)}" # libraries to build in addition to avutil @@ -70,6 +75,7 @@ PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex" +PACKAGECONFIG[srt] = "--enable-libsrt,--disable-libsrt,srt" PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora libogg" PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva" PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" @@ -80,6 +86,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)}" @@ -90,10 +103,6 @@ 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} \ @@ -111,7 +120,6 @@ EXTRA_OECONF = " \ --libdir=${libdir} \ --shlibdir=${libdir} \ --datadir=${datadir}/ffmpeg \ - ${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp --disable-mipsdspr2', d)} \ --cpu=${@cpu(d)} \ --pkg-config=pkg-config \ " @@ -128,6 +136,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 \ diff --git a/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch b/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch index a0d215c5a0..c0e4581358 100644 --- a/meta/recipes-multimedia/gstreamer/gst-validate/0001-connect-has-a-different-signature-on-musl.patch +++ b/meta/recipes-multimedia/gstreamer/gst-devtools/0001-connect-has-a-different-signature-on-musl.patch @@ -1,4 +1,4 @@ -From 0bd8004d8dddc486d3961a5316d24e8f2645e4c8 Mon Sep 17 00:00:00 2001 +From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sun, 9 Sep 2018 17:38:10 -0700 Subject: [PATCH] connect has a different signature on musl @@ -12,13 +12,13 @@ Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - plugins/fault_injection/socket_interposer.c | 7 ++++++- + validate/plugins/fault_injection/socket_interposer.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/plugins/fault_injection/socket_interposer.c b/plugins/fault_injection/socket_interposer.c +diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c index 53c1ebb..ad7adf8 100644 ---- a/plugins/fault_injection/socket_interposer.c -+++ b/plugins/fault_injection/socket_interposer.c +--- a/validate/plugins/fault_injection/socket_interposer.c ++++ b/validate/plugins/fault_injection/socket_interposer.c @@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin, } diff --git a/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb b/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb new file mode 100644 index 0000000000..21a31b41f5 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb @@ -0,0 +1,42 @@ +SUMMARY = "Gstreamer validation tool" +DESCRIPTION = "A Tool to test GStreamer components" +HOMEPAGE = "https://gstreamer.freedesktop.org/documentation/gst-devtools/index.html" +SECTION = "multimedia" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" + +#S = "${WORKDIR}/gst-devtools-${PV}" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}.tar.xz \ + file://0001-connect-has-a-different-signature-on-musl.patch \ + " + +SRC_URI[sha256sum] = "3025fee3607caf5069154c099533785675916e044ee92c936bbeacdda3750f26" + +DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" +RRECOMMENDS_${PN} = "git" + +FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" + +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection + +# TODO: put this in a gettext.bbclass patch +def gettext_oemeson(d): + if d.getVar('USE_NLS') == 'no': + return '-Dnls=disabled' + # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set + if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'): + return '-Dnls=disabled' + return '-Dnls=enabled' + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Ddebug_viewer=disabled \ + -Dtests=disabled \ + -Dvalidate=enabled \ + ${@gettext_oemeson(d)} \ +" + +GIR_MESON_ENABLE_FLAG = "enabled" +GIR_MESON_DISABLE_FLAG = "disabled" diff --git a/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch index 0338bad1c0..ab93c13244 100644 --- a/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch +++ b/meta/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch @@ -1,4 +1,4 @@ -From 755f6dab07565aca7b6aefacad8be65de364ff75 Mon Sep 17 00:00:00 2001 +From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Thu, 17 Aug 2017 11:07:02 +0300 Subject: [PATCH] Make player examples installable @@ -7,16 +7,17 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Upstream-Status: Denied [Upstream considers these code examples, for now a least] https://bugzilla.gnome.org/show_bug.cgi?id=777827 + --- playback/player/gst-play/meson.build | 1 + playback/player/gtk/meson.build | 1 + 2 files changed, 2 insertions(+) diff --git a/playback/player/gst-play/meson.build b/playback/player/gst-play/meson.build -index 719b55b..a56fe13 100644 +index 8ec021d..977cc5c 100644 --- a/playback/player/gst-play/meson.build +++ b/playback/player/gst-play/meson.build -@@ -8,5 +8,6 @@ executable('gst-play', +@@ -2,5 +2,6 @@ executable('gst-play', ['gst-play.c', 'gst-play-kb.c', 'gst-play-kb.h'], @@ -24,16 +25,13 @@ index 719b55b..a56fe13 100644 dependencies : [gst_dep, gstplayer_dep, m_dep]) diff --git a/playback/player/gtk/meson.build b/playback/player/gtk/meson.build -index 08aae4f..671a65d 100644 +index f7a7419..6281130 100644 --- a/playback/player/gtk/meson.build +++ b/playback/player/gtk/meson.build -@@ -18,5 +18,6 @@ executable('gtk-play', - gtk_play_resources, - 'gtk-video-renderer.h', - 'gtk-video-renderer.c'], +@@ -13,5 +13,6 @@ if gtk_dep.found() + gtk_play_resources, + 'gtk-video-renderer.h', + 'gtk-video-renderer.c'], + install: true, - dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep]) - --- -2.13.3 - + dependencies : [glib_dep, gobject_dep, gmodule_dep, gst_dep, gsttag_dep, gstplayer_dep, gtk_dep, x11_dep]) + endif diff --git a/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb index e23d23d9ca..35a8928f51 100644 --- a/meta/recipes-multimedia/gstreamer/gst-examples_1.16.0.bb +++ b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb @@ -2,14 +2,14 @@ SUMMARY = "GStreamer examples (including gtk-play, gst-play)" LICENSE = "LGPL-2.0+" LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9" -DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 glib-2.0-native" +DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 libsoup-2.4 json-glib glib-2.0-native" -SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \ +SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https;branch=1.18 \ file://0001-Make-player-examples-installable.patch \ file://gst-player.desktop \ " -SRCREV = "d953c127c1146b50d5676618299933950685dcd7" +SRCREV = "06599904baa5d0e47b5cb9501372156567760f8e" S = "${WORKDIR}/git" diff --git a/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb deleted file mode 100644 index 35492fe861..0000000000 --- a/meta/recipes-multimedia/gstreamer/gst-validate_1.16.2.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Gstreamer validation tool" -DESCRIPTION = "A Tool to test GStreamer components" -HOMEPAGE = "https://gstreamer.freedesktop.org/releases/gst-validate/1.12.3.html" -SECTION = "multimedia" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \ - file://0001-connect-has-a-different-signature-on-musl.patch \ - " -SRC_URI[md5sum] = "688f42c52d62e8c5e506df911553fb2c" -SRC_URI[sha256sum] = "4861ccb9326200e74d98007e316b387d48dd49f072e0b78cb9d3303fdecfeeca" - -DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" -RRECOMMENDS_${PN} = "git" - -FILES_${PN} += "${datadir}/gstreamer-1.0/* ${libdir}/gst-validate-launcher/* ${libdir}/gstreamer-1.0/*" - -inherit pkgconfig gettext autotools gobject-introspection gtk-doc upstream-version-is-even - -# With gtk-doc enabled this recipe fails to build, so forcibly disable it: -# WORKDIR/build/docs/validate/gst-validate-scan: line 117: -# WORKDIR/build/docs/validate/.libs/lt-gst-validate-scan: No such file or directory -GTKDOC_ENABLED = "False" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb deleted file mode 100644 index 2fdefc925e..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.2.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Libav-based GStreamer 1.x plugin" -HOMEPAGE = "http://gstreamer.freedesktop.org/" -SECTION = "multimedia" - -LICENSE = "GPLv2+ & LGPLv2+ & ( (GPLv2+ & LGPLv2.1+) | (GPLv3+ & LGPLv3+) )" -LICENSE_FLAGS = "commercial" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ - file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c" - -SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz \ - " -SRC_URI[md5sum] = "eacebd0136ede3a9bd3672eeb338806b" -SRC_URI[sha256sum] = "c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2" - -S = "${WORKDIR}/gst-libav-${PV}" - -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" - -inherit meson pkgconfig upstream-version-is-even - -FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" -FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" - -delete_unused_libav_copy() { - # When building with meson, the internal libav copy is not used. - # It is only present for legacy autotools based builds. In future - # GStreamer versions, the autotools scripts will be gone, and so - # will this internal copy. Until then, it will be present. In order - # to make sure this copy is not included in the -src package, just - # manually delete the copy. - rm -rf "${S}/gst-libs/ext/libav/" -} - -do_unpack[postfuncs] += " delete_unused_libav_copy" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb new file mode 100644 index 0000000000..8fa93253ac --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb @@ -0,0 +1,22 @@ +SUMMARY = "Libav-based GStreamer 1.x plugin" +HOMEPAGE = "http://gstreamer.freedesktop.org/" +SECTION = "multimedia" + +# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency +LICENSE_FLAGS = "commercial" +LICENSE = "LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ + file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ + " + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" +SRC_URI[sha256sum] = "ad20546bcd78ac1e7cf194666d73c4f33efeb62647d2b6af22993b540699e91c" + +S = "${WORKDIR}/gst-libav-${PV}" + +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" + +inherit meson pkgconfig upstream-version-is-even + +FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" +FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb index f1bdbd235d..797ed60722 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb @@ -9,8 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" -SRC_URI[md5sum] = "6362786d2b6cce34de08c86b7847f782" -SRC_URI[sha256sum] = "11ed411a2eba75610d72331eeb14ff05e2df28f4fd05cb69225a88bec6d27439" +SRC_URI[sha256sum] = "ed0f26504e9a60e15055134410f156e40952336410f2a59bdbbda45e61e8b93f" S = "${WORKDIR}/gst-omx-${PV}" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch index 73681f1002..13a673cd50 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch @@ -1,7 +1,7 @@ -From a67781000e82bd9ae3813da29401e8c0c852328a Mon Sep 17 00:00:00 2001 +From f08ab3ac2ce43ac91d3bf65b26f26436690f499b Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 26 Jan 2016 15:16:01 -0800 -Subject: [PATCH] fix maybe-uninitialized warnings when compiling with -Os +Subject: [PATCH 1/4] fix maybe-uninitialized warnings when compiling with -Os Upstream-Status: Pending @@ -11,7 +11,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c -index fd16ee0..ddb890c 100644 +index 2c60ced..e8226d8 100644 --- a/gst-libs/gst/codecparsers/gstvc1parser.c +++ b/gst-libs/gst/codecparsers/gstvc1parser.c @@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, @@ -24,5 +24,5 @@ index fd16ee0..ddb890c 100644 guint8 structB[12] = { 0, }; GstBitReader br; -- -1.9.1 +2.28.0 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 1321852023..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Fri, 18 Oct 2019 00:39:12 +0100 -Subject: [PATCH 1/2] meson: build gir even when cross-compiling if - introspection was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 67aeeb4d0..7b3314bd9 100644 ---- a/meson.build -+++ b/meson.build -@@ -411,7 +411,7 @@ python3 = import('python').find_installation() - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ - 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ --- -2.17.1 - diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch index 32261279a5..ead6897f67 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch @@ -1,7 +1,7 @@ -From 72561a0fca562d03567ace7b4cfc94992cd6525c Mon Sep 17 00:00:00 2001 +From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Wed, 3 Feb 2016 18:05:41 -0800 -Subject: [PATCH] avoid including <sys/poll.h> directly +Subject: [PATCH 2/4] avoid including <sys/poll.h> directly musl libc generates warnings if <sys/poll.h> is included directly. @@ -13,7 +13,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c -index b93255f..49f145a 100644 +index ca6b92a..b2772db 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c @@ -97,7 +97,7 @@ @@ -26,5 +26,5 @@ index b93255f..49f145a 100644 #include <errno.h> #include <stdio.h> -- -1.9.1 +2.28.0 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch index 2d5389d953..88fbc40dcd 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch @@ -1,7 +1,7 @@ -From 2262ba4b686d5cc0d3e894707fe1d31619a3a8f1 Mon Sep 17 00:00:00 2001 +From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001 From: Andre McCurdy <armccurdy@gmail.com> Date: Tue, 9 Feb 2016 14:00:00 -0800 -Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc +Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc For GStreamer functions declared with G_GNUC_NULL_TERMINATED, ie __attribute__((__sentinel__)), gcc will generate a warning if the @@ -23,20 +23,20 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> sys/decklink/gstdecklinkvideosink.cpp | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) -Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp -=================================================================== ---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp -+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp -@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck +diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp +index 4dac7e1..43762ce 100644 +--- a/sys/decklink/gstdecklink.cpp ++++ b/sys/decklink/gstdecklink.cpp +@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e) "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive", - "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); + "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); - if (input && mode->interlaced) { - if (mode->tff) -@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck + return s; + } +@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, case bmdFormat8BitYUV: /* '2vuy' */ gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", "colorimetry", G_TYPE_STRING, mode->colorimetry, @@ -57,11 +57,11 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp break; case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ -Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp -=================================================================== ---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp -+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp -@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase +diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp +index 2fef934..c47229a 100644 +--- a/sys/decklink/gstdecklinkaudiosrc.cpp ++++ b/sys/decklink/gstdecklinkaudiosrc.cpp +@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self) g_mutex_unlock (&self->input->lock); if (videosrc) { @@ -70,11 +70,11 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp gst_object_unref (videosrc); switch (vconn) { -Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp -=================================================================== ---- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp -+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp -@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu +diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp +index e3a6775..f1a5aae 100644 +--- a/sys/decklink/gstdecklinkvideosink.cpp ++++ b/sys/decklink/gstdecklinkvideosink.cpp +@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, gpointer user_data) { gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, @@ -83,3 +83,6 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp return TRUE; } +-- +2.28.0 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch index 4b6591c0d8..b816709066 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch @@ -1,7 +1,7 @@ -From f41caae14b618ab815ede3c408e7482b00316e3e Mon Sep 17 00:00:00 2001 +From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001 From: Andrey Zhizhikin <andrey.z@gmail.com> Date: Mon, 27 Jan 2020 10:22:35 +0000 -Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build +Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build When Yocto build is performed, opencv searches for data dir using simple 'test' command, this fails because pkg-config provides an absolute @@ -16,7 +16,7 @@ Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build -index f38b55dfe..a26403482 100644 +index 0b0b3fc..0ed3344 100644 --- a/ext/opencv/meson.build +++ b/ext/opencv/meson.build @@ -78,20 +78,21 @@ else @@ -45,5 +45,5 @@ index f38b55dfe..a26403482 100644 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"' else -- -2.17.1 +2.28.0 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.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb index 99176b2571..bbb7427b07 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb @@ -1,21 +1,18 @@ require gstreamer1.0-plugins-common.inc -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ - file://avoid-including-sys-poll.h-directly.patch \ - file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ - file://opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ -" -SRC_URI[md5sum] = "ccc7404230afddec723bbdb63c89feec" -SRC_URI[sha256sum] = "f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74" +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] = "b7e34b6b86272588fbd8b314dadfa6ceff895198cfb59e2950378e9e31ff22e0" S = "${WORKDIR}/gst-plugins-bad-${PV}" LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \ - file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 " +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" DEPENDS += "gstreamer1.0-plugins-base" @@ -31,6 +28,7 @@ PACKAGECONFIG ??= " \ ttml uvch264 webp \ " +PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass" PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" @@ -68,43 +66,41 @@ PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdr PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" -PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp" +PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled" PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" +PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt" PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" -PACKAGECONFIG[vdpau] = "-Dvdpau=enabled,-Dvdpau=disabled,libvdpau" +PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" +PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" -PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader shaderc-native" PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm" PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" - -# these plugins currently have no corresponding library in OE-core or meta-openembedded: -# aom androidmedia applemedia bs2b chromaprint d3dvideosink -# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc -# mplex musepack nvdec nvenc ofa openexr openni2 opensles -# soundtouch spandsp srt teletext wasapi wildmidi winks -# winscreencap wpe x265 +PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Ddecklink=enabled \ -Ddvb=enabled \ -Dfbdev=enabled \ -Dipcpipeline=enabled \ - -Dnetsim=enabled \ -Dshm=enabled \ - -Daom=disabled \ + -Dtranscode=enabled \ -Dandroidmedia=disabled \ -Dapplemedia=disabled \ + -Davtp=disabled \ -Dbs2b=disabled \ -Dchromaprint=disabled \ -Dd3dvideosink=disabled \ + -Dd3d11=disabled \ -Ddirectsound=disabled \ -Ddts=disabled \ -Dfdkaac=disabled \ @@ -115,26 +111,28 @@ EXTRA_OEMESON += " \ -Dkate=disabled \ -Dladspa=disabled \ -Dlv2=disabled \ + -Dmagicleap=disabled \ + -Dmediafoundation=disabled \ + -Dmicrodns=disabled \ -Dmpeg2enc=disabled \ -Dmplex=disabled \ -Dmusepack=disabled \ - -Dnvdec=disabled \ - -Dnvenc=disabled \ + -Dnvcodec=disabled \ -Dofa=disabled \ -Dopenexr=disabled \ -Dopenni2=disabled \ -Dopensles=disabled \ -Dsoundtouch=disabled \ -Dspandsp=disabled \ - -Dsrt=disabled \ + -Dsvthevcenc=disabled \ -Dteletext=disabled \ -Dwasapi=disabled \ + -Dwasapi2=disabled \ -Dwildmidi=disabled \ -Dwinks=disabled \ -Dwinscreencap=disabled \ -Dwpe=disabled \ - -Dx265=disabled \ - ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \ + -Dzxing=disabled \ " export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" @@ -144,4 +142,6 @@ 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/get-caps-from-src-pad-when-query-caps.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch index a4727e23ea..d5d9838372 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/get-caps-from-src-pad-when-query-caps.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch @@ -1,14 +1,13 @@ -From 41de2ec64ab06bb58c82c1659adaa3811bc5bcf8 Mon Sep 17 00:00:00 2001 +From f9d48cd85ee68207733b1b91a00453462c33524a Mon Sep 17 00:00:00 2001 From: zhouming <b42586@freescale.com> Date: Wed, 14 May 2014 10:16:20 +0800 -Subject: [PATCH] ENGR00312515: get caps from src pad when query caps +Subject: [PATCH 1/4] ENGR00312515: get caps from src pad when query caps https://bugzilla.gnome.org/show_bug.cgi?id=728312 Upstream-Status: Pending Signed-off-by: zhouming <b42586@freescale.com> - --- gst-libs/gst/tag/gsttagdemux.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) @@ -17,10 +16,10 @@ Signed-off-by: zhouming <b42586@freescale.com> diff --git a/gst-libs/gst/tag/gsttagdemux.c b/gst-libs/gst/tag/gsttagdemux.c old mode 100644 new mode 100755 -index 8a127c8..71c5d78 +index f545857..62d10ef --- a/gst-libs/gst/tag/gsttagdemux.c +++ b/gst-libs/gst/tag/gsttagdemux.c -@@ -1759,6 +1759,19 @@ gst_tag_demux_pad_query (GstPad * pad, GstObject * parent, GstQuery * query) +@@ -1777,6 +1777,19 @@ gst_tag_demux_pad_query (GstPad * pad, GstObject * parent, GstQuery * query) } break; } @@ -40,3 +39,6 @@ index 8a127c8..71c5d78 default: res = gst_pad_query_default (pad, parent, query); break; +-- +2.28.0 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 49ab471414..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 30672ba7d134553e59935ddc875104adba26f25c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Thu, 17 Oct 2019 20:06:24 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 264d84c9e..c8147c224 100644 ---- a/meson.build -+++ b/meson.build -@@ -372,7 +372,7 @@ endif - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ --- -2.17.1 - diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch deleted file mode 100644 index ca85744c19..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch +++ /dev/null @@ -1,235 +0,0 @@ -From 685731e989dc074a4b0d48b6c8062e2738f09719 Mon Sep 17 00:00:00 2001 -From: Thibault Saunier <tsaunier@igalia.com> -Date: Mon, 22 Oct 2018 11:44:37 +0200 -Subject: [PATCH] meson: Add variables for gir files - -And flatten list of sources for dependencies - -Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - gst-libs/gst/allocators/meson.build | 5 +++-- - gst-libs/gst/app/meson.build | 6 ++++-- - gst-libs/gst/audio/meson.build | 5 +++-- - gst-libs/gst/pbutils/meson.build | 5 +++-- - gst-libs/gst/rtp/meson.build | 6 ++++-- - gst-libs/gst/rtsp/meson.build | 5 +++-- - gst-libs/gst/sdp/meson.build | 6 ++++-- - gst-libs/gst/tag/meson.build | 5 +++-- - gst-libs/gst/video/meson.build | 5 +++-- - 9 files changed, 30 insertions(+), 18 deletions(-) - -diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build -index 364baeebf..56f156dc3 100644 ---- a/gst-libs/gst/allocators/meson.build -+++ b/gst-libs/gst/allocators/meson.build -@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version), - allocators_gen_sources = [] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ] -- allocators_gen_sources += [gnome.generate_gir(gstallocators, -+ allocators_gir = gnome.generate_gir(gstallocators, - sources : gst_allocators_sources + gst_allocators_headers, - namespace : 'GstAllocators', - nsversion : api_version, -@@ -33,7 +33,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : [gst_dep] -- )] -+ ) -+ allocators_gen_sources += allocators_gir - endif - - allocators_dep = declare_dependency(link_with: gstallocators, -diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build -index 81dd0f42c..7a90f5e10 100644 ---- a/gst-libs/gst/app/meson.build -+++ b/gst-libs/gst/app/meson.build -@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ] -- app_gen_sources += [gnome.generate_gir(gstapp, -+ app_gir = gnome.generate_gir(gstapp, - sources : app_sources + app_headers + [gstapp_c] + [gstapp_h], - namespace : 'GstApp', - nsversion : api_version, -@@ -43,7 +43,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : [gst_dep, gst_base_dep] -- )] -+ ) -+ -+ app_gen_sources += app_gir - endif - - app_dep = declare_dependency(link_with: gstapp, -diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build -index 0e4efab2e..2a449d4bf 100644 ---- a/gst-libs/gst/audio/meson.build -+++ b/gst-libs/gst/audio/meson.build -@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ] -- audio_gen_sources += [gnome.generate_gir(gstaudio, -+ audio_gir = gnome.generate_gir(gstaudio, - sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h], - namespace : 'GstAudio', - nsversion : api_version, -@@ -164,7 +164,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstaudio_deps -- )] -+ ) -+ audio_gen_sources += [audio_gir] - endif - - audio_dep = declare_dependency(link_with : gstaudio, -diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build -index 2faf62622..0e96722fd 100644 ---- a/gst-libs/gst/pbutils/meson.build -+++ b/gst-libs/gst/pbutils/meson.build -@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version), - pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ] -- pbutils_gen_sources += [gnome.generate_gir(pbutils, -+ pbutils_gir = gnome.generate_gir(pbutils, - sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h], - namespace : 'GstPbutils', - nsversion : api_version, -@@ -74,7 +74,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstpbutils_deps -- )] -+ ) -+ pbutils_gen_sources += [pbutils_gir] - endif - - pbutils_dep = declare_dependency(link_with : pbutils, -diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build -index f47ec6592..7ea6658d5 100644 ---- a/gst-libs/gst/rtp/meson.build -+++ b/gst-libs/gst/rtp/meson.build -@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version), - rtp_gen_sources = [gstrtp_enum_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ] -- rtp_gen_sources += [gnome.generate_gir(gst_rtp, -+ rtp_gir = gnome.generate_gir(gst_rtp, - sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h], - namespace : 'GstRtp', - nsversion : api_version, -@@ -60,7 +60,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstrtp_deps -- )] -+ ) -+ -+ rtp_gen_sources += [rtp_gir] - endif - - -diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build -index 27e309d5a..3632adceb 100644 ---- a/gst-libs/gst/rtsp/meson.build -+++ b/gst-libs/gst/rtsp/meson.build -@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version), - rtsp_gen_sources = [gstrtsp_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ] -- rtsp_gen_sources += [gnome.generate_gir(gst_rtsp, -+ rtsp_gir = gnome.generate_gir(gst_rtsp, - sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h], - namespace : 'GstRtsp', - nsversion : api_version, -@@ -65,7 +65,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstrtsp_deps + [sdp_dep] -- )] -+ ) -+ rtsp_gen_sources += [rtsp_gir] - endif - - rtsp_dep = declare_dependency(link_with : gst_rtsp, -diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build -index 62c18b732..24cdb5293 100644 ---- a/gst-libs/gst/sdp/meson.build -+++ b/gst-libs/gst/sdp/meson.build -@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version), - sdp_gen_sources = [] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ] -- sdp_gen_sources += [gnome.generate_gir(gstsdp, -+ sdp_gir = gnome.generate_gir(gstsdp, - sources : gst_sdp_sources + gst_sdp_headers, - namespace : 'GstSdp', - nsversion : api_version, -@@ -34,7 +34,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : rtsp_deps -- )] -+ ) -+ -+ sdp_gen_sources += [sdp_gir] - endif - - sdp_dep = declare_dependency(link_with: gstsdp, -diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build -index 27e66fd63..5ec37392a 100644 ---- a/gst-libs/gst/tag/meson.build -+++ b/gst-libs/gst/tag/meson.build -@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ] -- tag_gen_sources += [gnome.generate_gir(gsttag, -+ tag_gir = gnome.generate_gir(gsttag, - sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c], - namespace : 'GstTag', - nsversion : api_version, -@@ -104,7 +104,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : tag_deps -- )] -+ ) -+ tag_gen_sources += [tag_gir] - endif - - tag_dep = declare_dependency(link_with: gsttag, -diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build -index 5b35e1943..bf77aa157 100644 ---- a/gst-libs/gst/video/meson.build -+++ b/gst-libs/gst/video/meson.build -@@ -138,7 +138,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ] -- video_gen_sources += [gnome.generate_gir(gstvideo, -+ video_gir = gnome.generate_gir(gstvideo, - sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h], - namespace : 'GstVideo', - nsversion : api_version, -@@ -149,7 +149,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstvideo_deps -- )] -+ ) -+ video_gen_sources += [video_gir] - endif - - video_dep = declare_dependency(link_with : gstvideo, --- -2.17.1 - diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch index 9e95524057..e453a500c9 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-ssaparse-enhance-SSA-text-lines-parsing.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-ssaparse-enhance-SSA-text-lines-parsing.patch @@ -1,7 +1,7 @@ -From 918c96b24d10f61b7455b4cef3bab490849d0d77 Mon Sep 17 00:00:00 2001 +From f587861bbe12ad0b10370f835592746aafedbf56 Mon Sep 17 00:00:00 2001 From: Mingke Wang <mingke.wang@freescale.com> Date: Thu, 19 Mar 2015 14:17:10 +0800 -Subject: [PATCH] ssaparse: enhance SSA text lines parsing. +Subject: [PATCH 2/4] ssaparse: enhance SSA text lines parsing. some parser will pass in the original ssa text line which starts with "Dialog:" and there's are maybe multiple Dialog lines in one input buffer. @@ -9,9 +9,8 @@ and there's are maybe multiple Dialog lines in one input buffer. Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=747496] Signed-off-by: Mingke Wang <mingke.wang@freescale.com> - --- - gst/subparse/gstssaparse.c | 150 ++++++++++++++++++++++++++++++++++++++++----- + gst/subparse/gstssaparse.c | 150 +++++++++++++++++++++++++++++++++---- 1 file changed, 134 insertions(+), 16 deletions(-) mode change 100644 => 100755 gst/subparse/gstssaparse.c @@ -225,3 +224,6 @@ index c849c08..4b9636c if (ret != GST_FLOW_OK && GST_CLOCK_TIME_IS_VALID (ts)) { GstSegment segment; +-- +2.28.0 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch index 6e53d2e8b5..2af83ff8b9 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch @@ -1,7 +1,7 @@ -From bec38a0c2e2958927c42b2f9ae939969b7c4a326 Mon Sep 17 00:00:00 2001 +From 153f3b83a3fed77785bd1420bed8bbafa2d791b3 Mon Sep 17 00:00:00 2001 From: Carlos Rafael Giani <crg7475@mailbox.org> Date: Tue, 21 May 2019 14:01:11 +0200 -Subject: [PATCH] viv-fb: Make sure config.h is included +Subject: [PATCH 3/4] viv-fb: Make sure config.h is included This prevents build errors due to missing GST_API_* symbols @@ -13,7 +13,7 @@ Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> 1 file changed, 4 insertions(+) diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h -index 05e1f6229..96ce5e685 100644 +index 05e1f62..96ce5e6 100644 --- a/gst-libs/gst/gl/gl-prelude.h +++ b/gst-libs/gst/gl/gl-prelude.h @@ -22,6 +22,10 @@ @@ -28,5 +28,5 @@ index 05e1f6229..96ce5e685 100644 #ifdef BUILDING_GST_GL -- -2.17.1 +2.28.0 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch index e8094f459e..f45ea65ef3 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch @@ -1,7 +1,7 @@ -From c6b37a80806f9128de47f1ccc3f2354f8d436bb6 Mon Sep 17 00:00:00 2001 +From 79841a02ee754eba736cb32aaf2ed2b2fc0483d4 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 24 Sep 2015 19:47:32 +0300 -Subject: [PATCH] glimagesink: Downrank to marginal +Subject: [PATCH 4/4] glimagesink: Downrank to marginal On desktop, where there is good OpenGL, xvimagesink will come up first, on other platforms, OpenGL can't be trusted because it's either software (like @@ -15,7 +15,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c -index a4b2540..0ccaacd 100644 +index 302e845..463be9c 100644 --- a/ext/gl/gstopengl.c +++ b/ext/gl/gstopengl.c @@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) @@ -28,5 +28,5 @@ index a4b2540..0ccaacd 100644 } -- -2.1.4 +2.28.0 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb index 6563b6f738..84602246c9 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb @@ -1,26 +1,21 @@ require gstreamer1.0-plugins-common.inc LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" - -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ - file://get-caps-from-src-pad-when-query-caps.patch \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://0002-meson-Add-variables-for-gir-files.patch \ - file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \ - file://0005-viv-fb-Make-sure-config.h-is-included.patch \ - file://0009-glimagesink-Downrank-to-marginal.patch \ - " -SRC_URI[md5sum] = "3fdb32823535799a748c1fc14f978e2c" -SRC_URI[sha256sum] = "b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" + +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ + file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ + file://0004-glimagesink-Downrank-to-marginal.patch \ + " +SRC_URI[sha256sum] = "dbfa20283848f0347a223dd8523dfb62e09e5220b21b1d157a8b0c8b67ba9f52" S = "${WORKDIR}/gst-plugins-base-${PV}" DEPENDS += "iso-codes util-linux zlib" -inherit gobject-introspection gtk-doc +inherit gobject-introspection PACKAGES_DYNAMIC =+ "^libgst.*" @@ -72,18 +67,16 @@ OPENGL_WINSYS_append = "${@bb.utils.contains('PACKAGECONFIG', 'x11', ' x11', '', 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)}" 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)} \ " -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - 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" @@ -97,3 +90,5 @@ def get_opengl_cmdline_list(switch_name, options, d): return '-D' + switch_name + '=' + ','.join(selected_options) else: return '' + +CVE_PRODUCT += "gst-plugins-base" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch deleted file mode 100644 index 136848763b..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 3e0d5577444b32579bdf5b69d720a322322ff7bc Mon Sep 17 00:00:00 2001 -From: Milian Wolff <milian.wolff@kdab.com> -Date: Tue, 26 Nov 2019 15:08:20 +0100 -Subject: [PATCH] qmlgl: ensure Qt defines GLsync to fix compile on some platforms -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -By explictly including QtGui/qopengl.h we force the code path that -defines GLsync in the Qt-specific way. Without that, some platforms -failed to compile the qmlgl plugin, since neither Qt nor gstreamer -defined GLsync then, leading to e.g.: - -``` -make[4]: Entering directory '/.../gst-plugins-good-1.16.1/ext/qt' - CXX libgstqmlgl_la-qtitem.lo -In file included from gstqtgl.h:32, - from qtitem.h:27, - from qtitem.cc:28: -/.../usr/include/gstreamer-1.0/ -gst/gl/gstglfuncs.h:93:17: error: expected identifier before ‘*’ token - ret (GSTGLAPI *name) args; - ^ -/.../usr/include/gstreamer-1.0/ -gst/gl/glprototypes/sync.h:27:1: note: in expansion of macro -‘GST_GL_EXT_FUNCTION’ - GST_GL_EXT_FUNCTION (GLsync, FenceSync, - ^~~~~~~~~~~~~~~~~~~ -``` -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/commit/3e0d5577444b32579bdf5b69d720a322322ff7bc] ---- - ext/qt/gstqtgl.h | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - ---- a/ext/qt/gstqtgl.h -+++ b/ext/qt/gstqtgl.h -@@ -22,14 +22,7 @@ - #include <QtGui/qtgui-config.h> - #endif - --/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different -- * type which confuses the preprocessor. Instead of trying to reconcile the -- * two, we instead use the GLsync definition from Qt from above, and ensure -- * that we don't typedef GLsync in gstglfuncs.h */ - #include <gst/gl/gstglconfig.h> --#undef GST_GL_HAVE_GLSYNC --#define GST_GL_HAVE_GLSYNC 1 --#include <gst/gl/gstglfuncs.h> - - /* The glext.h guard was renamed in 2018, but some software which - * includes their own copy of the GL headers (such as qt) might have -@@ -46,6 +39,17 @@ - #endif - #endif - -+/* pulls in GLsync, see below */ -+#include <QtGui/qopengl.h> -+ -+/* qt uses the same trick as us to typedef GLsync on GLES2 but to a different -+ * type which confuses the preprocessor. Instead of trying to reconcile the -+ * two, we instead use the GLsync definition from Qt from above, and ensure -+ * that we don't typedef GLsync in gstglfuncs.h */ -+#undef GST_GL_HAVE_GLSYNC -+#define GST_GL_HAVE_GLSYNC 1 -+#include <gst/gl/gstglfuncs.h> -+ - #if defined(QT_OPENGL_ES_2) - #include <QtGui/QOpenGLContext> - #include <QtGui/QOpenGLFunctions> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch index 3d423154e0..788d752058 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch @@ -1,4 +1,4 @@ -From d08234a659bec1fd5c984fedefbeb8192af07839 Mon Sep 17 00:00:00 2001 +From bf8b2fa0f6870589d036f0f33c140a3f85b530a0 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Tue, 31 Mar 2020 21:23:28 -0700 Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h @@ -26,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc -index 2b314e0..12b15dd 100644 +index a05d26e..4cc9fc6 100644 --- a/ext/qt/gstqsgtexture.cc +++ b/ext/qt/gstqsgtexture.cc @@ -27,7 +27,7 @@ @@ -39,7 +39,7 @@ index 2b314e0..12b15dd 100644 #define GST_CAT_DEFAULT gst_qsg_texture_debug diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc -index 62d26b6..bf68ebb 100644 +index 9360c33..0dfd3f1 100644 --- a/ext/qt/qtwindow.cc +++ b/ext/qt/qtwindow.cc @@ -25,7 +25,7 @@ @@ -52,5 +52,5 @@ index 62d26b6..bf68ebb 100644 #include "gstqsgtexture.h" #include "gstqtglutility.h" -- -2.26.0 +2.28.0 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb index 17c9421394..7643e9e601 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb @@ -1,19 +1,15 @@ require gstreamer1.0-plugins-common.inc -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0001-qmlgl-ensure-Qt-defines-GLsync-to-fix-compile-on-som.patch \ - file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ - " +SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ + file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ + " -SRC_URI[md5sum] = "bd025f8f14974f94b75ac69a9d1b9c93" -SRC_URI[sha256sum] = "40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319" +SRC_URI[sha256sum] = "9b3b8e05d4d6073bf929fb33e2d8f74dd81ff21fa5b50c3273c78dfa2ab9c5cb" S = "${WORKDIR}/gst-plugins-good-${PV}" LICENSE = "GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607 \ file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" DEPENDS += "gstreamer1.0-plugins-base libcap zlib" @@ -23,6 +19,7 @@ RPROVIDES_${PN}-soup += "${PN}-souphttpsrc" PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'asm', '', d)} \ bz2 cairo flac gdk-pixbuf gudev jpeg lame libpng mpg123 soup speex taglib v4l2 \ " @@ -30,6 +27,9 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes libxdamage" X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled" X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled" +QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}" + +PACKAGECONFIG[asm] = "-Dasm=enabled,-Dasm=disabled,nasm-native" PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2" PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo" PACKAGECONFIG[dv1394] = "-Ddv1394=enabled,-Ddv1394=disabled,libiec61883 libavc1394 libraw1394" @@ -44,9 +44,10 @@ PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng" PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" -PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native" +PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4" PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" +PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" PACKAGECONFIG[v4l2] = "-Dv4l2=enabled -Dv4l2-probe=true,-Dv4l2=disabled -Dv4l2-probe=false" PACKAGECONFIG[vpx] = "-Dvpx=enabled,-Dvpx=disabled,libvpx" @@ -54,6 +55,7 @@ PACKAGECONFIG[wavpack] = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack" PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Daalib=disabled \ -Ddirectsound=disabled \ -Ddv=disabled \ diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb index be10800389..fe737a9984 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb @@ -9,8 +9,7 @@ LICENSE_FLAGS = "commercial" SRC_URI = " \ https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ " -SRC_URI[md5sum] = "10283ff5ef1e34d462dde77042e329bd" -SRC_URI[sha256sum] = "5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca" +SRC_URI[sha256sum] = "70f7429b25dd2f714eb18e80af61b1363b1f63019e16cd28e086e3a619eaa992" S = "${WORKDIR}/gst-plugins-ugly-${PV}" @@ -32,6 +31,7 @@ PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec" PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dsidplay=disabled \ " diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch deleted file mode 100644 index 053108ad50..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python/0001-meson.build-fix-builds-with-python-3.8.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 61cfd1b49dc82baf14bb36d88b6c5be7b8c3d23a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 2 Dec 2019 18:16:41 +0100 -Subject: [PATCH] meson.build: fix builds with python 3.8 - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-python/merge_requests/14] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 1da81d5..3e0db38 100644 ---- a/meson.build -+++ b/meson.build -@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d - - pymod = import('python') - python = pymod.find_installation(get_option('python')) --python_dep = python.dependency(required : true) -+python_dep = dependency('python3-embed', required : true) - - python_abi_flags = python.get_variable('ABIFLAGS', '') - pylib_loc = get_option('libpython-dir') diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb index 9e024eb9f3..897d246793 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb @@ -5,14 +5,11 @@ SECTION = "multimedia" LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" -SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ - file://0001-meson.build-fix-builds-with-python-3.8.patch \ - " -SRC_URI[md5sum] = "6ac709767334d8d0a71cb4e016f6abeb" -SRC_URI[sha256sum] = "208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8" +SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" +SRC_URI[sha256sum] = "4e630735276e08ff4d70337aa5d91fd008e5f1ed3dc0993674cd5820e264259a" -DEPENDS = "gstreamer1.0 python3-pygobject" -RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" +RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" PNREAL = "gst-python" @@ -23,15 +20,3 @@ REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" UNKNOWN_CONFIGURE_WHITELIST_append = " introspection" inherit meson pkgconfig distutils3-base upstream-version-is-even gobject-introspection features_check - -do_install_append() { - - # Note that this particular find line is taken from the Debian packaging for - # gst-python1.0. - find "${D}" \ - -name '*.pyc' -o \ - -name '*.pyo' -o \ - -name '*.la' -o \ - -name 'libgstpythonplugin*' \ - -delete -} diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 6962a50d6e..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Fri, 18 Oct 2019 00:42:12 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index e1e3b1d..3f45f0e 100644 ---- a/meson.build -+++ b/meson.build -@@ -173,7 +173,7 @@ endif - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \ - 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \ --- -2.17.1 - diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb index 02c3c83840..d6aaa5df79 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb @@ -8,18 +8,16 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" PNREAL = "gst-rtsp-server" -SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - " +SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[md5sum] = "8a998725820c771ba45be6e18bfdf73a" -SRC_URI[sha256sum] = "de07a2837b3b04820ce68264a4909f70c221b85dbff0cede7926e9cdbb1dc26e" +SRC_URI[sha256sum] = "4f7757293b3d73dc49768b7392791668c4d0c21d41824624ffbd75c7f9ee0168" S = "${WORKDIR}/${PNREAL}-${PV}" inherit meson pkgconfig upstream-version-is-even gobject-introspection EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dexamples=disabled \ -Dtests=disabled \ " @@ -29,3 +27,5 @@ GIR_MESON_DISABLE_FLAG = "disabled" # Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well require gstreamer1.0-plugins-packaging.inc + +CVE_PRODUCT += "gst-rtsp-server" diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch deleted file mode 100644 index 7945a923c9..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 0c28cf7bfa90f8947833722cddf23d513490c6c3 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 28 Nov 2018 15:08:48 +0800 -Subject: [PATCH] vaapsink: downgrade to marginal - -Using vaapisink with default poky configuration results in an -unresponsive display as of today because DRI2 rendering is currently broken -in non composited environments [1] and libva doesn't support DRI3 [2]. - -Downgrade vaapisink to marginal for now so playbin (and in turn gst-play -and gtk-play examples) use xvimagesink or others out of box. - -[1] https://gitlab.freedesktop.org/xorg/xserver/issues/13 -[2] https://github.com/intel/libva/issues/122 - -Upstream-Status: Pending - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - gst/vaapi/gstvaapi.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c -index 9a82454..4d94f2b 100644 ---- a/gst/vaapi/gstvaapi.c -+++ b/gst/vaapi/gstvaapi.c -@@ -195,7 +195,6 @@ plugin_init (GstPlugin * plugin) - { - GstVaapiDisplay *display; - GArray *decoders; -- guint rank; - - plugin_add_dependencies (plugin); - -@@ -220,10 +219,7 @@ plugin_init (GstPlugin * plugin) - gst_element_register (plugin, "vaapidecodebin", - GST_RANK_PRIMARY + 2, GST_TYPE_VAAPI_DECODE_BIN); - -- rank = GST_RANK_PRIMARY; -- if (g_getenv ("WAYLAND_DISPLAY")) -- rank = GST_RANK_MARGINAL; -- gst_element_register (plugin, "vaapisink", rank, GST_TYPE_VAAPISINK); -+ gst_element_register (plugin, "vaapisink", GST_RANK_MARGINAL, GST_TYPE_VAAPISINK); - - #if USE_ENCODERS - gst_vaapiencode_register (plugin, display); diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb index 1bedf25128..23040ad73c 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb @@ -8,28 +8,23 @@ REALPN = "gstreamer-vaapi" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" -SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz \ - file://0001-vaapsink-downgrade-to-marginal.patch \ - " +SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "13f7cb6a64bde24e67f563377487dcce" -SRC_URI[sha256sum] = "191de7b0ab64a85dd0875c990721e7be95518f60e2a9106beca162004ed7c601" +SRC_URI[sha256sum] = "ae9877f15757a661d4dfe6a09755a2faa959ab60752f14ca26b7ff10765e1f12" S = "${WORKDIR}/${REALPN}-${PV}" DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -inherit meson pkgconfig gtk-doc features_check upstream-version-is-even +inherit meson pkgconfig features_check upstream-version-is-even REQUIRED_DISTRO_FEATURES ?= "opengl" EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dexamples=disabled \ + -Dtests=enabled \ " -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - PACKAGES =+ "${PN}-tests" # OpenGL packageconfig factored out to make it easy for distros 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 67a872cddb..fe58e718a7 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,25 +1,41 @@ -From a1d7c582392c8bc87fa9411af77b20e011944357 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] 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. -Upstream-Status: Pending -Signed-off-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 + +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 430829d..3a75731 100644 +index d1e404d98..c626bf263 100644 --- a/gst/gstpluginloader.c +++ b/gst/gstpluginloader.c -@@ -471,9 +471,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); @@ -27,9 +43,24 @@ index 430829d..3a75731 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.15.1 +2.29.2 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-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/0001-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/0002-Remove-unused-valgrind-detection.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch new file mode 100644 index 0000000000..96abef17b0 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch @@ -0,0 +1,112 @@ +From 598d108e2c438d8f2ecd3bf948fa3ebbd3681490 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> +Date: Fri, 14 Aug 2020 16:38:26 +0100 +Subject: [PATCH 2/3] Remove unused valgrind detection + +Having this just to log a debug message in case we're +running inside valgrind doesn't seem very useful, and +the code that used to use this no longer exists it seems. + +Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/595> + +Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245] + +Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> +--- + gst/gst_private.h | 2 -- + gst/gstinfo.c | 39 --------------------------------------- + meson.build | 1 - + 3 files changed, 42 deletions(-) + +diff --git a/gst/gst_private.h b/gst/gst_private.h +index eefd044d9..8252ede51 100644 +--- a/gst/gst_private.h ++++ b/gst/gst_private.h +@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin + + G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin); + +-G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void); +- + /* init functions called from gst_init(). */ + G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void); + G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void); +diff --git a/gst/gstinfo.c b/gst/gstinfo.c +index 5d317877b..097f8b20d 100644 +--- a/gst/gstinfo.c ++++ b/gst/gstinfo.c +@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT; + static volatile gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT; + static volatile gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON; + +-/* FIXME: export this? */ +-gboolean +-_priv_gst_in_valgrind (void) +-{ +- static enum +- { +- GST_VG_UNCHECKED, +- GST_VG_NO_VALGRIND, +- GST_VG_INSIDE +- } +- in_valgrind = GST_VG_UNCHECKED; +- +- if (in_valgrind == GST_VG_UNCHECKED) { +-#ifdef HAVE_VALGRIND_VALGRIND_H +- if (RUNNING_ON_VALGRIND) { +- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind"); +- in_valgrind = GST_VG_INSIDE; +- } else { +- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff"); +- in_valgrind = GST_VG_NO_VALGRIND; +- } +-#else +- in_valgrind = GST_VG_NO_VALGRIND; +-#endif +- g_assert (in_valgrind == GST_VG_NO_VALGRIND || +- in_valgrind == GST_VG_INSIDE); +- } +- return (in_valgrind == GST_VG_INSIDE); +-} +- + static gchar * + _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token, + guint val) +@@ -463,9 +433,6 @@ _priv_gst_debug_init (void) + _priv_GST_CAT_PROTECTION = + _gst_debug_category_new ("GST_PROTECTION", 0, "protection"); + +- /* print out the valgrind message if we're in valgrind */ +- _priv_gst_in_valgrind (); +- + env = g_getenv ("GST_DEBUG_OPTIONS"); + if (env != NULL) { + if (strstr (env, "full_tags") || strstr (env, "full-tags")) +@@ -2503,12 +2470,6 @@ gst_debug_construct_win_color (guint colorinfo) + return 0; + } + +-gboolean +-_priv_gst_in_valgrind (void) +-{ +- return FALSE; +-} +- + void + _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file, + const gchar * func, gint line, GObject * obj, const gchar * msg, +diff --git a/meson.build b/meson.build +index ce1921aa4..7a84d0981 100644 +--- a/meson.build ++++ b/meson.build +@@ -200,7 +200,6 @@ check_headers = [ + 'sys/wait.h', + 'ucontext.h', + 'unistd.h', +- 'valgrind/valgrind.h', + 'sys/resource.h', + 'sys/uio.h', + ] +-- +2.29.2 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch deleted file mode 100644 index 1ed7198a5c..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 35db4a2433fbdf8612cf98b5aab5b14aeb5372f8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com> -Date: Thu, 17 Oct 2019 12:13:35 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -Fixes #454 and #381. - -Upstream-Status: Backport [35db4a2433fbdf8612cf98b5aab5b14aeb5372f8] - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 90d98d8eb..a47e7f34e 100644 ---- a/meson.build -+++ b/meson.build -@@ -466,7 +466,7 @@ rt_lib = cc.find_library('rt', required : false) - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') - --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ --- -2.17.1 - diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch index 0e6c44ea32..bf5e57249c 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0004-meson-Add-option-for-installed-tests.patch +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch @@ -1,7 +1,7 @@ -From b843400284751968862751dfe93853f151551c64 Mon Sep 17 00:00:00 2001 +From cf8077a7e3ab0ae236ebde79b7fc0b02eac658de 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] meson: Add option for installed tests +Subject: [PATCH 3/3] 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 @@ -23,7 +23,7 @@ Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> 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 +index 000000000..69e8a0faf --- /dev/null +++ b/build-aux/gen-installed-test-desc.py @@ -0,0 +1,18 @@ @@ -47,7 +47,7 @@ index 0000000..69e8a0f +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 +index 000000000..5da86fb37 --- /dev/null +++ b/build-aux/gen-installed-test-shscript.py @@ -0,0 +1,25 @@ @@ -77,10 +77,10 @@ index 0000000..5da86fb +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 8afde39..8884dcc 100644 +index 72c3997e2..346c423d4 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -16,6 +16,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso +@@ -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') @@ -90,10 +90,10 @@ index 8afde39..8884dcc 100644 # 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 04da83f..2db7f76 100644 +index a617cf159..e629131c5 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build -@@ -118,11 +118,17 @@ if add_languages('cpp', required : false) +@@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false) ] endif @@ -109,10 +109,10 @@ index 04da83f..2db7f76 100644 '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_STATE_IGNORE_ELEMENTS"', - '-DTESTFILE="' + meson.current_source_dir() + '/meson.build"', + '-DTESTFILE="@0@"'.format(test_files_path + '/testfile'), - '-DGST_USE_UNSTABLE_API', '-DGST_DISABLE_DEPRECATED', ] -@@ -137,6 +143,14 @@ endif + +@@ -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] @@ -127,7 +127,7 @@ index 04da83f..2db7f76 100644 foreach t : core_tests fname = t[0] test_name = fname.split('.')[0].underscorify() -@@ -150,8 +164,38 @@ foreach t : core_tests +@@ -151,8 +165,38 @@ foreach t : core_tests include_directories : [configinc], link_with : link_with_libs, dependencies : test_deps + glib_deps + gst_deps, @@ -168,7 +168,7 @@ index 04da83f..2db7f76 100644 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 +index 000000000..89954e0e2 --- /dev/null +++ b/tests/files/testfile @@ -0,0 +1,80 @@ @@ -253,5 +253,5 @@ index 0000000..89954e0 +................................................................................ +................................................................................ -- -2.17.1 +2.29.2 diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch deleted file mode 100644 index f553340f4d..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-valgrind-feature.patch +++ /dev/null @@ -1,74 +0,0 @@ -From f6c7973c03d9ba7dab60c496e768c5e6c4ee824c Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani <crg7475@mailbox.org> -Date: Sun, 20 Oct 2019 10:36:44 +0200 -Subject: [PATCH] meson: Add valgrind feature - -This allows for enabling/disabling Valgrind support. Since Valgrind is -an external dependency, such a feature is needed by build environemnts -such as Yocto to make sure builds are deterministic. These changes also -add more Valgrind specific configure log output. - -Upstream-Status: Pending - -Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> ---- - meson.build | 23 ++++++++++++++++++++++- - meson_options.txt | 1 + - 2 files changed, 23 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index b55ecc5..4751761 100644 ---- a/meson.build -+++ b/meson.build -@@ -199,7 +199,6 @@ check_headers = [ - 'sys/wait.h', - 'ucontext.h', - 'unistd.h', -- 'valgrind/valgrind.h', - 'sys/resource.h', - ] - -@@ -214,6 +213,28 @@ foreach h : check_headers - endif - endforeach - -+valgrind_option = get_option('valgrind') -+if valgrind_option.disabled() -+ message('Valgrind support not requested; disabled.') -+else -+ valgrind_header = 'valgrind/valgrind.h' -+ has_valgrind_header = cc.has_header(valgrind_header) -+ if has_valgrind_header -+ message('Valgrind support requested, and header ' + valgrind_header + \ -+ ' found. Enabled Valgrind support.') -+ define = 'HAVE_' + valgrind_header.underscorify().to_upper() -+ cdata.set(define, 1) -+ else -+ if valgrind_option.enabled() -+ error('Valgrind support requested and set as required, but header ' + \ -+ valgrind_header + ' not found.') -+ else -+ message('Valgrind support requested, but header ' + valgrind_header + \ -+ ' not found. Disabling Valgrind support.') -+ endif -+ endif -+endif -+ - if cc.has_member('struct tm', 'tm_gmtoff', prefix : '#include <time.h>') - cdata.set('HAVE_TM_GMTOFF', 1) - endif -diff --git a/meson_options.txt b/meson_options.txt -index e7ff7ba..8afde39 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -19,6 +19,7 @@ option('memory-alignment', type: 'combo', - - # Feature options - option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') -+option('valgrind', type : 'feature', value : 'auto', description : 'Enable Valgrind support') - option('libunwind', type : 'feature', value : 'auto', description : 'Use libunwind to generate backtraces') - option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind') - option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces') --- -2.17.1 - diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch deleted file mode 100644 index 7ca3d5ad4a..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/capfix.patch +++ /dev/null @@ -1,37 +0,0 @@ -Currently gstreamer configuration depends on whether setcap is found on the host -system. Turn this into a configure option to make builds deterinistic. - -RP 2020/2/19 -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> -Upstream-Status: Pending - -Index: gstreamer-1.16.1/libs/gst/helpers/meson.build -=================================================================== ---- gstreamer-1.16.1.orig/libs/gst/helpers/meson.build -+++ gstreamer-1.16.1/libs/gst/helpers/meson.build -@@ -73,7 +73,12 @@ if have_ptp - endif - endif - -- setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) -+ setcap_feature = get_option('setcap') -+ if setcap_feature.disabled() -+ setcap = find_program('dontexist', required : false) -+ else -+ setcap = find_program('setcap', '/usr/sbin/setcap', '/sbin/setcap', required : false) -+ endif - - # user/group to change to in gst-ptp-helper - ptp_helper_setuid_user = get_option('ptp-helper-setuid-user') -Index: gstreamer-1.16.1/meson_options.txt -=================================================================== ---- gstreamer-1.16.1.orig/meson_options.txt -+++ gstreamer-1.16.1/meson_options.txt -@@ -26,6 +26,7 @@ option('libunwind', type : 'feature', va - option('libdw', type : 'feature', value : 'auto', description : 'Use libdw to generate better backtraces from libunwind') - option('dbghelp', type : 'feature', value : 'auto', description : 'Use dbghelp to generate backtraces') - option('bash-completion', type : 'feature', value : 'auto', description : 'Install bash completion files') -+option('setcap', type : 'feature', value : 'auto', description : 'Use setcap') - - # Common feature options - option('examples', type : 'feature', value : 'auto', yield : true) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb index 50a872e292..9cb07726ed 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb @@ -6,25 +6,22 @@ BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" SECTION = "multimedia" LICENSE = "LGPLv2+" -DEPENDS = "glib-2.0 glib-2.0-native libcap libxml2 bison-native flex-native" +DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" -inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection gtk-doc +inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" S = "${WORKDIR}/gstreamer-${PV}" -SRC_URI = " \ - https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ - file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ - file://0002-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://0003-meson-Add-valgrind-feature.patch \ - file://0004-meson-Add-option-for-installed-tests.patch \ - file://capfix.patch \ -" -SRC_URI[md5sum] = "0e661ed5bdf1d8996e430228d022628e" -SRC_URI[sha256sum] = "e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e" +SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ + 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-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \ + " +SRC_URI[sha256sum] = "0c2e09e18f2df69a99b5cb3bd53c597b3cc2e35cf6c98043bb86a66f3d312100" PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ check \ @@ -35,12 +32,11 @@ PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false" PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false" PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled" PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false" -PACKAGECONFIG[valgrind] = "-Dvalgrind=enabled,-Dvalgrind=disabled,valgrind," 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] = "-Dsetcap=enabled,-Dsetcap=disabled,libcap libcap-native" +PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native" # TODO: put this in a gettext.bbclass patch def gettext_oemeson(d): @@ -52,15 +48,12 @@ def gettext_oemeson(d): return '-Dnls=enabled' EXTRA_OEMESON += " \ + -Ddoc=disabled \ -Dexamples=disabled \ -Ddbghelp=disabled \ ${@gettext_oemeson(d)} \ " -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - GIR_MESON_ENABLE_FLAG = "enabled" GIR_MESON_DISABLE_FLAG = "disabled" diff --git a/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb b/meta/recipes-multimedia/libomxil/libomxil_0.9.3.bb index 271c2a30a3..82cdaf54c7 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" @@ -26,6 +26,12 @@ EXTRA_OECONF += "--disable-doc --disable-Werror" 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. diff --git a/meta/recipes-multimedia/libpng/libpng_1.6.37.bb b/meta/recipes-multimedia/libpng/libpng_1.6.37.bb index 8c53d11642..edb2ac6146 100644 --- a/meta/recipes-multimedia/libpng/libpng_1.6.37.bb +++ b/meta/recipes-multimedia/libpng/libpng_1.6.37.bb @@ -20,7 +20,7 @@ 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" diff --git a/meta/recipes-multimedia/libtiff/tiff_4.1.0.bb b/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb index 9b907fbc24..43eb60b33c 100644 --- a/meta/recipes-multimedia/libtiff/tiff_4.1.0.bb +++ b/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb @@ -6,8 +6,7 @@ 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] = "eb0484e568ead8fa23b513e9b0041df7e327f4ee2d22db5a533929dfc19633cb" # exclude betas UPSTREAM_CHECK_REGEX = "tiff-(?P<pver>\d+(\.\d+)+).tar" diff --git a/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2017-14160.patch b/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2017-14160.patch deleted file mode 100644 index b7603c3b13..0000000000 --- a/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2017-14160.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 018ca26dece618457dd13585cad52941193c4a25 Mon Sep 17 00:00:00 2001 -From: Thomas Daede <daede003@umn.edu> -Date: Wed, 9 May 2018 14:56:59 -0700 -Subject: [PATCH] CVE-2017-14160: fix bounds check on very low sample rates. - ---- -CVE: CVE-2017-14160 CVE-2018-10393 - -Upstream-Status: Backport [gitlab.com/Xiph.Org/Vorbis/Commits/018ca26d...] - -Signed-off-by: Joe Slater <joe.slater@windriver.com> ---- ---- - lib/psy.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/lib/psy.c b/lib/psy.c -index 422c6f1..1310123 100644 ---- a/lib/psy.c -+++ b/lib/psy.c -@@ -602,8 +602,9 @@ static void bark_noise_hybridmp(int n,const long *b, - for (i = 0, x = 0.f;; i++, x += 1.f) { - - lo = b[i] >> 16; -- if( lo>=0 ) break; - hi = b[i] & 0xffff; -+ if( lo>=0 ) break; -+ if( hi>=n ) break; - - tN = N[hi] + N[-lo]; - tX = X[hi] - X[-lo]; --- -1.7.9.5 - diff --git a/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2018-10392.patch b/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2018-10392.patch deleted file mode 100644 index b7936b4b4d..0000000000 --- a/meta/recipes-multimedia/libvorbis/libvorbis/CVE-2018-10392.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 112d3bd0aaacad51305e1464d4b381dabad0e88b Mon Sep 17 00:00:00 2001 -From: Thomas Daede <daede003@umn.edu> -Date: Thu, 17 May 2018 16:19:19 -0700 -Subject: [PATCH] Sanity check number of channels in setup. - -Fixes #2335. - ---- -CVE: CVE-2018-10392 - -Upstream-Status: Backport [gitlab.com/Xiph.Org/Vorbis/Commits/112d3bd...] - -Signed-off-by: Joe Slater <joe.slater@windriver.com> ---- - - lib/vorbisenc.c | 1 + - 1 file changed, 1 insertion(+) - - -diff --git a/lib/vorbisenc.c b/lib/vorbisenc.c -index 4fc7b62..64a51b5 100644 ---- a/lib/vorbisenc.c -+++ b/lib/vorbisenc.c -@@ -684,6 +684,7 @@ int vorbis_encode_setup_init(vorbis_info *vi){ - highlevel_encode_setup *hi=&ci->hi; - - if(ci==NULL)return(OV_EINVAL); -+ if(vi->channels<1||vi->channels>255)return(OV_EINVAL); - if(!hi->impulse_block_p)i0=1; - - /* too low/high an ATH floater is nonsensical, but doesn't break anything */ --- -1.7.9.5 - diff --git a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.6.bb b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb index 1a3cdc2269..023bce0abe 100644 --- a/meta/recipes-multimedia/libvorbis/libvorbis_1.3.6.bb +++ b/meta/recipes-multimedia/libvorbis/libvorbis_1.3.7.bb @@ -2,20 +2,18 @@ SUMMARY = "Ogg Vorbis Audio Codec" DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ that is free of intellectual property restrictions. libvorbis \ is the main vorbis codec library." -HOMEPAGE = "http://www.vorbis.com/" -BUGTRACKER = "https://trac.xiph.org" +HOMEPAGE = "https://xiph.org/vorbis/" +BUGTRACKER = "https://gitlab.xiph.org/xiph/vorbis/-/issues" SECTION = "libs" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=70c7063491d2d9f76a098d62ed5134f1 \ - file://include/vorbis/vorbisenc.h;beginline=1;endline=11;md5=d1c1d138863d6315131193d4046d81cb" +LIC_FILES_CHKSUM = "file://COPYING;md5=73d9c8942c60b846c3bad13cc6c2e520 \ + file://include/vorbis/vorbisenc.h;beginline=1;endline=11;md5=c95a4ac2b4125f00a9acf61449ebb843" DEPENDS = "libogg" SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.xz \ file://0001-configure-Check-for-clang.patch \ - file://CVE-2018-10392.patch \ - file://CVE-2017-14160.patch \ " -SRC_URI[md5sum] = "b7d1692f275c73e7833ed1cc2697cd65" -SRC_URI[sha256sum] = "af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415" +SRC_URI[md5sum] = "50902641d358135f06a8392e61c9ac77" +SRC_URI[sha256sum] = "b33cc4934322bcbf6efcbacf49e3ca01aadbea4114ec9589d1b1e9d20f72954b" inherit autotools pkgconfig diff --git a/meta/recipes-multimedia/mpg123/mpg123_1.26.1.bb b/meta/recipes-multimedia/mpg123/mpg123_1.26.4.bb index affbac4919..35cad6ffc4 100644 --- a/meta/recipes-multimedia/mpg123/mpg123_1.26.1.bb +++ b/meta/recipes-multimedia/mpg123/mpg123_1.26.4.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] = "74d6629ab7f3dd9a588b0931528ba7ecfa989a2cad6bf53ffeef9de31b0fe032" +SRC_URI[sha256sum] = "081991540df7a666b29049ad870f293cfa28863b36488ab4d58ceaa7b5846454" 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: diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index c7f3e67022..e40b8c1c40 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -56,55 +56,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 - -# When compiling for Thumb or Thumb2, frame pointers _must_ be disabled since the -# Thumb frame pointer in r7 clashes with pulseaudio's use of inline asm to make syscalls -# (where r7 is used for the syscall NR). In most cases, frame pointers will be -# disabled automatically due to the optimisation level, but append an explicit -# -fomit-frame-pointer to handle cases where optimisation is set to -O0 or frame -# pointers have been enabled by -fno-omit-frame-pointer earlier in CFLAGS, etc. -CFLAGS_append_arm = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}" +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)} \ @@ -113,35 +105,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=true,-Dbluez5=false,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 @@ -151,13 +133,13 @@ set_cfg_value () { 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() { install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse + install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse } USERADD_PACKAGES = "pulseaudio-server" @@ -200,7 +182,7 @@ 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/volatiles.04_pulse" +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}/*" @@ -277,7 +259,6 @@ RDEPENDS_pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES 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" 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" diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch new file mode 100644 index 0000000000..d60a9a211f --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch @@ -0,0 +1,67 @@ +From 6d202833a5ae241eeb648631cf95090c452198f9 Mon Sep 17 00:00:00 2001 +From: Tanu Kaskinen <tanuk@iki.fi> +Date: Fri, 14 Feb 2020 07:29:33 +0200 +Subject: [PATCH] build-sys: Add an option for enabling/disabling Valgrind + +In OpenEmbedded the PulseAudio recipe currently disables Valgrind +support by passing "ac_cv_header_valgrind_memcheck_h=no" to the +configure script (this was added to make it deterministic whether +Valgrdind support gets enabled or not). I'm converting the PulseAudio +recipe to use Meson, and I needed an option to disable Valgrind. + +Upstream-Status: Backport + +Signed-off-by: Tanu Kaskinen <tanuk@iki.fi> +--- + meson.build | 6 +++++- + meson_options.txt | 3 +++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 658eeee57..258962724 100644 +--- a/meson.build ++++ b/meson.build +@@ -220,7 +220,6 @@ check_headers = [ + 'sys/un.h', + 'sys/wait.h', + 'syslog.h', +- 'valgrind/memcheck.h', + 'xlocale.h', + ] + +@@ -231,6 +230,10 @@ foreach h : check_headers + endif + endforeach + ++if cc.has_header('valgrind/memcheck.h', required: get_option('valgrind')) ++ cdata.set('HAVE_VALGRIND_MEMCHECK_H', 1) ++endif ++ + # FIXME: move this to the above set + if cc.has_header('pthread.h') + cdata.set('HAVE_PTHREAD', 1) +@@ -841,6 +844,7 @@ summary = [ + 'Enable SoXR (resampler): @0@'.format(soxr_dep.found()), + 'Enable WebRTC echo canceller: @0@'.format(webrtc_dep.found()), + 'Enable Gcov coverage: @0@'.format(get_option('gcov')), ++ 'Enable Valgrind: @0@'.format(cdata.has('HAVE_VALGRIND_MEMCHECK_H')), + 'Enable man pages: @0@'.format(get_option('man')), + 'Enable unit tests: @0@'.format(get_option('tests')), + '', +diff --git a/meson_options.txt b/meson_options.txt +index 824f24e08..115cc84af 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -138,6 +138,9 @@ option('systemd', + option('udev', + type : 'feature', value : 'auto', + description : 'Optional udev support') ++option('valgrind', ++ type : 'feature', value : 'auto', ++ description : 'Optional Valgrind support') + option('x11', + type : 'feature', value : 'auto', + description : 'Optional X11 support') +-- +2.20.1 + 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/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_14.2.bb index d2f201d06e..03b99306b3 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_13.0.bb +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb @@ -3,9 +3,10 @@ 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-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch \ + file://0001-meson-Check-for-__get_cpuid.patch \ file://volatiles.04_pulse \ " -SRC_URI[md5sum] = "e41d606f90254ed45c90520faf83d95c" -SRC_URI[sha256sum] = "961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057" +SRC_URI[md5sum] = "1efc916251910f1e9d4df7810e3e69f8" +SRC_URI[sha256sum] = "75d3f7742c1ae449049a4c88900e454b8b350ecaa8c544f3488a2562a9ff66f1" 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..04d82320c9 100644 --- a/meta/recipes-multimedia/sbc/sbc_1.4.bb +++ b/meta/recipes-multimedia/sbc/sbc_1.5.bb @@ -12,10 +12,11 @@ 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 diff --git a/meta/recipes-multimedia/webp/libwebp_1.1.0.bb b/meta/recipes-multimedia/webp/libwebp_1.2.0.bb index 68e5ae2b3c..33bec2fe70 100644 --- a/meta/recipes-multimedia/webp/libwebp_1.1.0.bb +++ b/meta/recipes-multimedia/webp/libwebp_1.2.0.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] = "2fc8bbde9f97f2ab403c0224fb9ca62b2e6852cbc519e91ceaa7c153ffd88a0c" UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html" diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb index 1ff5348b9e..f95fb0c41e 100644 --- a/meta/recipes-multimedia/x264/x264_git.bb +++ b/meta/recipes-multimedia/x264/x264_git.bb @@ -14,9 +14,9 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "296494a4011f58f32adc54304a2654627558c59a" +SRCREV = "544c61f082194728d0391fb280a6e138ba320a96" -PV = "r2991+git${SRCPV}" +PV = "r3039+git${SRCPV}" S = "${WORKDIR}/git" |