diff options
Diffstat (limited to 'poky/meta/recipes-multimedia')
31 files changed, 492 insertions, 175 deletions
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch new file mode 100644 index 000000000..6b96bd674 --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35965.patch new file mode 100644 index 000000000..ddab8e9ac --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb index 97b2d21d3..ded823271 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.3.1.bb @@ -27,6 +27,8 @@ 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] = "ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb index 2e09ef9c2..21a31b41f 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.18.3.bb @@ -12,7 +12,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV} file://0001-connect-has-a-different-signature-on-musl.patch \ " -SRC_URI[sha256sum] = "712212babd2238233d55beecfc0fe1ea8db18e8807ac6ab05a64505b2c7ab0df" +SRC_URI[sha256sum] = "3025fee3607caf5069154c099533785675916e044ee92c936bbeacdda3750f26" DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" RRECOMMENDS_${PN} = "git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb index 048b45a08..35a8928f5 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_1.18.3.bb @@ -9,7 +9,7 @@ SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=http file://gst-player.desktop \ " -SRCREV = "998ee69af18a5928759dbe17fffbceebbc8d72d0" +SRCREV = "06599904baa5d0e47b5cb9501372156567760f8e" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb index 38bbffafa..8fa93253a 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.3.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ " SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz" -SRC_URI[sha256sum] = "39a717bc2613efbbba19df3cf5cacff0987471fc8281ba2c5dcdeaded79c2ed8" +SRC_URI[sha256sum] = "ad20546bcd78ac1e7cf194666d73c4f33efeb62647d2b6af22993b540699e91c" S = "${WORKDIR}/gst-libav-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb index 513d66f9f..797ed6072 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.18.3.bb @@ -9,7 +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[sha256sum] = "42a8e0f9518b94655981ede441638f9f9395f4b1b9a4b329f068ee793975a965" +SRC_URI[sha256sum] = "ed0f26504e9a60e15055134410f156e40952336410f2a59bdbbda45e61e8b93f" S = "${WORKDIR}/gst-omx-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch new file mode 100644 index 000000000..cb3bb7d36 --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb index ebd8c5a27..bbb7427b0 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.3.bb @@ -5,8 +5,9 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad file://0002-avoid-including-sys-poll.h-directly.patch \ file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \ file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ + file://0005-msdk-fix-includedir-path.patch \ " -SRC_URI[sha256sum] = "c195978c85d97406c05eb9d43ac54b9ab35eda6ffdae32b3ed597b8f1743c1b2" +SRC_URI[sha256sum] = "b7e34b6b86272588fbd8b314dadfa6ceff895198cfb59e2950378e9e31ff22e0" S = "${WORKDIR}/gst-plugins-bad-${PV}" @@ -27,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" @@ -64,7 +66,7 @@ PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdr PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg" PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump" PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc" -PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp" +PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled" PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2" PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" PACKAGECONFIG[srt] = "-Dsrt=enabled,-Dsrt=disabled,srt" @@ -72,6 +74,7 @@ PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp" PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa" PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo" PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev" +PACKAGECONFIG[v4l2codecs] = "-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" PACKAGECONFIG[va] = "-Dva=enabled,-Dva=disabled,libva" PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc" PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc" @@ -81,14 +84,7 @@ PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp" PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" -PACKAGECONFIG[v4l2codecs] = "-D-Dv4l2codecs=enabled,-Dv4l2codecs=disabled,libgudev" - -# these plugins currently have no corresponding library in OE-core or meta-openembedded: -# aom androidmedia applemedia bs2b chromaprint d3dvideosink -# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc -# mplex musepack nvdec nvenc ofa openexr openni2 opensles -# soundtouch spandsp teletext wasapi wildmidi winks -# winscreencap wpe x265 +PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" EXTRA_OEMESON += " \ -Ddoc=disabled \ @@ -96,9 +92,8 @@ EXTRA_OEMESON += " \ -Ddvb=enabled \ -Dfbdev=enabled \ -Dipcpipeline=enabled \ - -Dnetsim=enabled \ -Dshm=enabled \ - -Daom=disabled \ + -Dtranscode=enabled \ -Dandroidmedia=disabled \ -Dapplemedia=disabled \ -Davtp=disabled \ @@ -137,7 +132,6 @@ EXTRA_OEMESON += " \ -Dwinks=disabled \ -Dwinscreencap=disabled \ -Dwpe=disabled \ - -Dx265=disabled \ -Dzxing=disabled \ " diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb index 1b2bd4fe1..84602246c 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.3.bb @@ -9,7 +9,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ file://0004-glimagesink-Downrank-to-marginal.patch \ " -SRC_URI[sha256sum] = "1ba654d7de30f7284b4c7071b32f881b609733ce02ab6d9d9ea29386a036c641" +SRC_URI[sha256sum] = "dbfa20283848f0347a223dd8523dfb62e09e5220b21b1d157a8b0c8b67ba9f52" S = "${WORKDIR}/gst-plugins-base-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch deleted file mode 100644 index 685ee08e5..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3ec4fe5507a39383b161f1ab7687acb4a57c32f8 Mon Sep 17 00:00:00 2001 -From: Jose Quaresma <quaresma.jose@gmail.com> -Date: Sun, 15 Nov 2020 11:30:07 +0000 -Subject: [PATCH] rpicamsrc: add vchostif library as it is required to build - successful - -fix: undefined reference to `vc_gencmd' -/usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd' - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/818] - -Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> ---- - sys/rpicamsrc/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sys/rpicamsrc/meson.build b/sys/rpicamsrc/meson.build -index dc18a8345..48b2ceb66 100644 ---- a/sys/rpicamsrc/meson.build -+++ b/sys/rpicamsrc/meson.build -@@ -34,7 +34,7 @@ if not cc.has_header('bcm_host.h', args: rpi_inc_args) - endif - - mmal_deps = [] --foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'bcm_host'] -+foreach rpi_lib : ['mmal_core', 'mmal_util', 'mmal_vc_client', 'vcos', 'vchostif', 'bcm_host'] - l = cc.find_library(rpi_lib, dirs: rpi_lib_path, required: false) - if not l.found() - if get_option('rpicamsrc').enabled() --- -2.29.2 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb index 77e1333dd..7643e9e60 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.3.bb @@ -2,10 +2,9 @@ require gstreamer1.0-plugins-common.inc SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ - file://0001-rpicamsrc-add-vchostif-library-as-it-is-required-to-.patch \ " -SRC_URI[sha256sum] = "e210e91a5590ecb6accc9d06c949a58ca6897d8edb3b3d55828e424c624f626c" +SRC_URI[sha256sum] = "9b3b8e05d4d6073bf929fb33e2d8f74dd81ff21fa5b50c3273c78dfa2ab9c5cb" S = "${WORKDIR}/gst-plugins-good-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb index 614ef8d74..fe737a998 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.3.bb @@ -9,7 +9,7 @@ LICENSE_FLAGS = "commercial" SRC_URI = " \ https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ " -SRC_URI[sha256sum] = "18cd6cb829eb9611ca63cbcbf46aca0f0de1dd28b2df18caa2834326a75ff725" +SRC_URI[sha256sum] = "70f7429b25dd2f714eb18e80af61b1363b1f63019e16cd28e086e3a619eaa992" S = "${WORKDIR}/gst-plugins-ugly-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb index c0c5d271d..897d24679 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.18.3.bb @@ -6,7 +6,7 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[sha256sum] = "42b289422f7ab32757670848cf2245c5a8a8b08a665a9cab65ded8d69364f6f6" +SRC_URI[sha256sum] = "4e630735276e08ff4d70337aa5d91fd008e5f1ed3dc0993674cd5820e264259a" DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" RDEPENDS_${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb index 30534c978..d6aaa5df7 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.3.bb @@ -10,7 +10,7 @@ PNREAL = "gst-rtsp-server" SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[sha256sum] = "10a82865c3d199e66731017ca4b120bad071df9889e60cfe4dd6c49d953ef754" +SRC_URI[sha256sum] = "4f7757293b3d73dc49768b7392791668c4d0c21d41824624ffbd75c7f9ee0168" S = "${WORKDIR}/${PNREAL}-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb index acf5598a6..23040ad73 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.18.3.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz" -SRC_URI[sha256sum] = "400d3c42810b50b4566df03f37319a6bdd758f969560c40147e7d9a3b0e8a6ea" +SRC_URI[sha256sum] = "ae9877f15757a661d4dfe6a09755a2faa959ab60752f14ca26b7ff10765e1f12" S = "${WORKDIR}/${REALPN}-${PV}" DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch index 17f8a0beb..fe58e718a 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch @@ -1,27 +1,41 @@ -From f700975f514758a4a7582c2c972fa54ecfca3302 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 25 Jan 2018 17:55:02 +0200 -Subject: [PATCH 1/4] gst/gstpluginloader.c: when env var is set do not fall - through to system plugin scanner +From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001 +From: Jose Quaresma <quaresma.jose@gmail.com> +Date: Sat, 10 Oct 2020 19:09:03 +0000 +Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through + to system plugin scanner If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that. Falling through to the one installed on the system is problamatic in cross-compilation environemnts, regardless of whether one pointed to by the env var succeeded or failed. -written by: Alexander Kanavin <alex.kanavin@gmail.com> +taken from: +http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669] Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> --- - gst/gstpluginloader.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) + gst/gstpluginloader.c | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c -index d1e404d..2e00c3c 100644 +index d1e404d98..c626bf263 100644 --- a/gst/gstpluginloader.c +++ b/gst/gstpluginloader.c -@@ -475,9 +475,7 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) +@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) + if (loader->child_running) + return TRUE; + +- /* Find the gst-plugin-scanner: first try the env-var if it is set, +- * otherwise use the installed version */ ++ /* Find the gst-plugin-scanner */ + env = g_getenv ("GST_PLUGIN_SCANNER_1_0"); + if (env == NULL) + env = g_getenv ("GST_PLUGIN_SCANNER"); + + if (env != NULL && *env != '\0') { ++ /* use the env-var if it is set */ + GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env); helper_bin = g_strdup (env); res = gst_plugin_loader_try_helper (loader, helper_bin); g_free (helper_bin); @@ -29,9 +43,24 @@ index d1e404d..2e00c3c 100644 - - if (!res) { + } else { ++ /* use the installed version */ GST_LOG ("Trying installed plugin scanner"); #ifdef G_OS_WIN32 +@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader) + #endif + res = gst_plugin_loader_try_helper (loader, helper_bin); + g_free (helper_bin); ++ } + +- if (!res) { +- GST_INFO ("No gst-plugin-scanner available, or not working"); +- } ++ if (!res) { ++ GST_INFO ("No gst-plugin-scanner available, or not working"); + } + + return loader->child_running; -- -2.28.0 +2.29.2 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch deleted file mode 100644 index a2d215d72..000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4449246a8d788e71dfe4679fba95955cec5894c1 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 3 Nov 2020 22:58:26 -0800 -Subject: [PATCH] gst_private.h: increse padding in struct _GstClockEntryImpl - -When compiling for 32bit architectures with 64bit time_t e.g. riscv32, -the static assert that the GstClockEntryImpl smaller or -equal to the struct _GstClockEntryImpl triggered. -(they were 12bytes off). - -To fix this, the padding is increased by 8 bytes (on 32bit). - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/694] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - gst/gst_private.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/gst_private.h b/gst/gst_private.h -index a8897e1..8252ede 100644 ---- a/gst/gst_private.h -+++ b/gst/gst_private.h -@@ -522,7 +522,7 @@ struct _GstClockEntryImpl - GstClockEntry entry; - GWeakRef clock; - GDestroyNotify destroy_entry; -- gpointer padding[19]; /* padding for allowing e.g. systemclock -+ gpointer padding[21]; /* padding for allowing e.g. systemclock - * to add data in lieu of overridable - * virtual functions on the clock */ - }; --- -2.29.2 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch new file mode 100644 index 000000000..e0e64e2c7 --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch index c8bd58d47..96abef17b 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch @@ -1,7 +1,7 @@ -From 355dd938bfb2cd36d6c3c4ed59ba1dcafdc78d95 Mon Sep 17 00:00:00 2001 +From 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/4] Remove unused valgrind detection +Subject: [PATCH 2/3] Remove unused valgrind detection Having this just to log a debug message in case we're running inside valgrind doesn't seem very useful, and @@ -19,7 +19,7 @@ Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 3 files changed, 42 deletions(-) diff --git a/gst/gst_private.h b/gst/gst_private.h -index 1b0f02b..a8897e1 100644 +index 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 @@ -32,10 +32,10 @@ index 1b0f02b..a8897e1 100644 G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void); G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void); diff --git a/gst/gstinfo.c b/gst/gstinfo.c -index 37987d3..15f522e 100644 +index 5d317877b..097f8b20d 100644 --- a/gst/gstinfo.c +++ b/gst/gstinfo.c -@@ -304,36 +304,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT; +@@ -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; @@ -72,7 +72,7 @@ index 37987d3..15f522e 100644 static gchar * _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token, guint val) -@@ -462,9 +432,6 @@ _priv_gst_debug_init (void) +@@ -463,9 +433,6 @@ _priv_gst_debug_init (void) _priv_GST_CAT_PROTECTION = _gst_debug_category_new ("GST_PROTECTION", 0, "protection"); @@ -82,7 +82,7 @@ index 37987d3..15f522e 100644 env = g_getenv ("GST_DEBUG_OPTIONS"); if (env != NULL) { if (strstr (env, "full_tags") || strstr (env, "full-tags")) -@@ -2502,12 +2469,6 @@ gst_debug_construct_win_color (guint colorinfo) +@@ -2503,12 +2470,6 @@ gst_debug_construct_win_color (guint colorinfo) return 0; } @@ -96,7 +96,7 @@ index 37987d3..15f522e 100644 _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file, const gchar * func, gint line, GObject * obj, const gchar * msg, diff --git a/meson.build b/meson.build -index f95b4f7..143c043 100644 +index ce1921aa4..7a84d0981 100644 --- a/meson.build +++ b/meson.build @@ -200,7 +200,6 @@ check_headers = [ @@ -108,5 +108,5 @@ index f95b4f7..143c043 100644 'sys/uio.h', ] -- -2.28.0 +2.29.2 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch index 1c0e1f817..bf5e57249 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0/0003-meson-Add-option-for-installed-tests.patch @@ -1,7 +1,7 @@ -From 24867db22a5cc35e7643bc218e959ce56c306aca 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 3/4] 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,7 +77,7 @@ 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 72c3997..346c423 100644 +index 72c3997e2..346c423d4 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -15,6 +15,8 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso @@ -90,7 +90,7 @@ index 72c3997..346c423 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 372ea41..bb0dcfa 100644 +index a617cf159..e629131c5 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build @@ -120,11 +120,17 @@ if add_languages('cpp', native: false, required: false) @@ -168,7 +168,7 @@ index 372ea41..bb0dcfa 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.28.0 +2.29.2 diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb index d55b2871e..9cb07726e 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.3.bb @@ -19,9 +19,9 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ file://0002-Remove-unused-valgrind-detection.patch \ file://0003-meson-Add-option-for-installed-tests.patch \ - file://0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch \ + file://0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \ " -SRC_URI[sha256sum] = "79df8de21f284a105a5c1568527f8c559c583c85c0f2bd7bdb5b0372b8beecba" +SRC_URI[sha256sum] = "0c2e09e18f2df69a99b5cb3bd53c597b3cc2e35cf6c98043bb86a66f3d312100" PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ check \ @@ -36,7 +36,7 @@ PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils" PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion" PACKAGECONFIG[tools] = "-Dtools=enabled,-Dtools=disabled" -PACKAGECONFIG[setcap] = ",,libcap libcap-native" +PACKAGECONFIG[setcap] = "-Dptp-helper-permissions=capabilities,,libcap libcap-native" # TODO: put this in a gettext.bbclass patch def gettext_oemeson(d): diff --git a/poky/meta/recipes-multimedia/libtiff/tiff_4.1.0.bb b/poky/meta/recipes-multimedia/libtiff/tiff_4.2.0.bb index 9b907fbc2..43eb60b33 100644 --- a/poky/meta/recipes-multimedia/libtiff/tiff_4.1.0.bb +++ b/poky/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/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.3.bb b/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.4.bb index 0746d8d47..35cad6ffc 100644 --- a/poky/meta/recipes-multimedia/mpg123/mpg123_1.26.3.bb +++ b/poky/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] = "30c998785a898f2846deefc4d17d6e4683a5a550b7eacf6ea506e30a7a736c6e" +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/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index 3a26cb59d..e40b8c1c4 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -56,47 +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 +inherit bash-completion meson pkgconfig useradd gettext perlnative systemd manpages gsettings # *.desktop rules wont be generated during configure and build will fail # if using --disable-nls USE_NLS = "yes" -EXTRA_OECONF = "\ - --disable-hal-compat \ - --disable-orc \ - --enable-tcpwrap=no \ - --with-access-group=audio \ - --disable-openssl \ - --with-database=simple \ - --without-zsh-completion-dir \ - --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ - ac_cv_header_valgrind_memcheck_h=no \ - --disable-tests \ - --disable-running-from-build-tree \ +EXTRA_OEMESON = "\ + -Dhal-compat=false \ + -Dorc=disabled \ + -Daccess_group=audio \ + -Dopenssl=disabled \ + -Ddatabase=simple \ + -Dzshcompletiondir=no \ + -Dudevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \ + -Dvalgrind=disabled \ + -Dtests=false \ + -Drunning-from-build-tree=false \ " # soxr (the SoX Resampler library) doesn't seem to be currently packaged in # oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now. -EXTRA_OECONF += "--without-soxr" +EXTRA_OEMESON += "-Dsoxr=disabled" # The FFTW dependency (for module-equalizer-sink) was removed in commit # ddbd713293 without explaining why it was not made a PACKAGECONFIG item # instead. Oh well, let's keep it disabled until someone expresses some # interest in having it enabled. -EXTRA_OECONF += "--without-fftw" +EXTRA_OEMESON += "-Dfftw=disabled" # The "adrian" echo canceller implementation has a non-standard license # (src/modules/echo-cancel/adrian-license.txt). It's a permissive license, so # the licensing terms are probably not problematic, but it would be an extra # hassle to add the license to OE-Core's set of licenses. The canceller isn't # very good anyway, better alternatives exist (such as the webrtc canceller). -EXTRA_OECONF += "--disable-adrian-aec" +EXTRA_OEMESON += "-Dadrian-aec=false" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ @@ -105,35 +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 @@ -143,7 +133,7 @@ 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 } @@ -269,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/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-build-sys-Add-an-option-for-enabling-disabling-Valgr.patch new file mode 100644 index 000000000..d60a9a211 --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-meson-Check-for-__get_cpuid.patch new file mode 100644 index 000000000..c9d8abcbf --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch index 43add75db..48f049217 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch +++ b/poky/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/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb index ac0c82e37..03b99306b 100644 --- a/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.0.bb +++ b/poky/meta/recipes-multimedia/pulseaudio/pulseaudio_14.2.bb @@ -3,8 +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-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] = "84a7776e63dd55c40db8fbd7c7e2e18e" -SRC_URI[sha256sum] = "a834775d9382b055504e5ee7625dc50768daac29329531deb6597bf05e06c261" +SRC_URI[md5sum] = "1efc916251910f1e9d4df7810e3e69f8" +SRC_URI[sha256sum] = "75d3f7742c1ae449049a4c88900e454b8b350ecaa8c544f3488a2562a9ff66f1" UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar" diff --git a/poky/meta/recipes-multimedia/sbc/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch b/poky/meta/recipes-multimedia/sbc/sbc/0001-sbc_primitives-Fix-build-on-non-x86.patch new file mode 100644 index 000000000..11cec74fb --- /dev/null +++ b/poky/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/poky/meta/recipes-multimedia/sbc/sbc_1.4.bb b/poky/meta/recipes-multimedia/sbc/sbc_1.5.bb index 674d77ef4..04d82320c 100644 --- a/poky/meta/recipes-multimedia/sbc/sbc_1.4.bb +++ b/poky/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 |