diff options
Diffstat (limited to 'meta-openembedded/meta-multimedia/recipes-multimedia')
18 files changed, 299 insertions, 95 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb index 778dc192c8..36db45e265 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.0.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb @@ -6,9 +6,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ " -SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=master" +SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main" -SRCREV = "307ce06ed82d93885ee8ed53e152c9268ac0d98d" +SRCREV = "fd0c9275d36930a6eea6d3c35972e7cf9c512944" S = "${WORKDIR}/git" @@ -19,4 +19,5 @@ EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \ " +CFLAGS:append:libc-musl = " -D_GNU_SOURCE" EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb index 98970d5b71..90a69e5e23 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb @@ -2,9 +2,8 @@ SUMMARY = "Linux DVB API applications and utilities" HOMEPAGE = "http://www.linuxtv.org" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRCREV = "3d43b280298c39a67d1d889e01e173f52c12da35" -SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \ +SRC_URI = "https://www.linuxtv.org/hg/dvb-apps/archive/3d43b280298c.tar.bz2;downloadfilename=${BPN}-3d43b280298c.tar.bz2 \ file://dvb-scan-table \ file://0001-Fix-generate-keynames.patch \ file://0003-handle-static-shared-only-build.patch \ @@ -13,8 +12,8 @@ SRC_URI = "hg://linuxtv.org/hg;module=dvb-apps;protocol=http \ file://0006-CA_SET_PID.patch \ file://0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch \ " - -S = "${WORKDIR}/${BPN}" +SRC_URI[sha256sum] = "f39e2f0ebed7e32bce83522062ad4d414f67fccd5df1b647618524497e15e057" +S = "${WORKDIR}/${BPN}-3d43b280298c" inherit perlnative diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch index 9035b56f4a..e89f9a3cdc 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dvb-apps/files/0001-dvbdate-Remove-Obsoleted-stime-API-calls.patch @@ -11,22 +11,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> util/dvbdate/dvbdate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/util/dvbdate/dvbdate.c b/util/dvbdate/dvbdate.c -index f0df437..492ed79 100644 --- a/util/dvbdate/dvbdate.c +++ b/util/dvbdate/dvbdate.c -@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsigned int to) +@@ -309,7 +309,10 @@ int atsc_scan_date(time_t *rx_time, unsi */ int set_time(time_t * new_time) { - if (stime(new_time)) { -+ struct timespec ts; -+ ts.tv_sec = &new_time; -+ ts.tv_nsec = 0; -+ if (clock_settime(CLOCK_REALTIME, &ts)) { ++ struct timespec s = {0}; ++ s.tv_sec = *new_time; ++ ++ if (clock_settime(CLOCK_REALTIME, &s)) { perror("Unable to set time"); return -1; } --- -2.24.1 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch new file mode 100644 index 0000000000..1fae37614c --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz/0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch @@ -0,0 +1,50 @@ +From 06b2a6aa70616aafab780514d9d26e85bd98d965 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 25 Aug 2022 14:02:16 -0700 +Subject: [PATCH] http/fetch: Pass a non-null buffer to + ne_set_request_body_buffer API + +Newer versions of neon has added a check for non-null arguments for +ne_set_request_body_buffer() API and this is triggered but older +compiler only treats -Wnonnull as warning so all was fine, however gcc +12.2 has started to throw this warning as error by default and builds +are breaking + +Fixes +src/HTTPFetch.cc:186:38: warning: null passed to a callee that requires a non-null argument [-Wnonnull] + ne_set_request_body_buffer(req,0,0); + ~ ^ +Upstream-Status: Submitted [https://github.com/metabrainz/libmusicbrainz/pull/18] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/HTTPFetch.cc | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/HTTPFetch.cc b/src/HTTPFetch.cc +index baec359..0c0d919 100644 +--- a/src/HTTPFetch.cc ++++ b/src/HTTPFetch.cc +@@ -182,8 +182,10 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R + } + + ne_request *req = ne_request_create(sess, Request.c_str(), URL.c_str()); ++ ne_buffer *body = ne_buffer_create(); ++ + if (Request=="PUT") +- ne_set_request_body_buffer(req,0,0); ++ ne_set_request_body_buffer(req, body->data, ne_buffer_size(body)); + + if (Request!="GET") + ne_set_request_flag(req, NE_REQFLAG_IDEMPOTENT, 0); +@@ -195,6 +197,8 @@ int MusicBrainz5::CHTTPFetch::Fetch(const std::string& URL, const std::string& R + + Ret=m_d->m_Data.size(); + ++ ne_buffer_destroy(body); ++ + ne_request_destroy(req); + + m_d->m_ErrorMessage = ne_get_error(sess); +-- +2.37.2 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb index 803c6279ce..3b365444e2 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb @@ -8,7 +8,9 @@ DEPENDS = "expat libxml2 libxml2-native neon neon-native libmusicbrainz-native" PV = "5.1.0+git${SRCPV}" SRCREV = "8be45b12a86bc0e46f2f836c8ac88e1e98d82aee" -SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https" +SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git;branch=master;protocol=https \ + file://0001-http-fetch-Pass-a-non-null-buffer-to-ne_set_request_.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch deleted file mode 100644 index 4a2b25cdd9..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd-11.8.17/glibc-2.20.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libmpd-11.8.17/src/libmpd-internal.h.orig 2014-09-30 04:08:50.963292427 +0200 -+++ libmpd-11.8.17/src/libmpd-internal.h 2014-09-30 04:08:30.595292223 +0200 -@@ -21,6 +21,7 @@ - #define __MPD_INTERNAL_LIB_ - - #include "libmpdclient.h" -+#include "config.h" - struct _MpdData_real; - - typedef struct _MpdData_real { diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch new file mode 100644 index 0000000000..dd50a71f7d --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0001-fix-return-makes-integer-from-pointer-without-a-cast.patch @@ -0,0 +1,27 @@ +From f0f8cc5ac6f1fa9cb5c98cb0b3688f44c64fa8ee Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Wed, 19 Jul 2017 14:22:48 +0200 +Subject: [PATCH 1/3] fix return makes integer from pointer without a cast + +Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/libmpd-playlist.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libmpd-playlist.c b/src/libmpd-playlist.c +index c3c30ec..64c64ea 100644 +--- a/src/libmpd-playlist.c ++++ b/src/libmpd-playlist.c +@@ -780,7 +780,7 @@ int mpd_playlist_load(MpdObj *mi, const char *path) + if(mpd_lock_conn(mi)) + { + debug_printf(DEBUG_ERROR,"lock failed\n"); +- return NULL; ++ return MPD_LOCK_FAILED; + } + mpd_sendLoadCommand(mi->connection,path); + mpd_finishCommand(mi->connection); +-- +2.37.2 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch new file mode 100644 index 0000000000..66d921ed6d --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0002-fix-comparison-between-pointer-and-zero-character-co.patch @@ -0,0 +1,27 @@ +From fa3b3b3759986171a85230ba8b53764beafdb37f Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Wed, 19 Jul 2017 14:40:00 +0200 +Subject: [PATCH 2/3] fix comparison between pointer and zero character constant + +Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/libmpd-database.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libmpd-database.c b/src/libmpd-database.c +index 2480d5e..edafc0a 100644 +--- a/src/libmpd-database.c ++++ b/src/libmpd-database.c +@@ -961,7 +961,7 @@ MpdData * mpd_database_get_directory_recursive(MpdObj *mi, const char *path) + debug_printf(DEBUG_WARNING,"not connected\n"); + return NULL; + } +- if(path == '\0' || path[0] == '\0') ++ if(path == NULL || path[0] == '\0') + { + debug_printf(DEBUG_ERROR, "argumant invalid\n"); + return NULL; +-- +2.37.2 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch new file mode 100644 index 0000000000..805204c0b2 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd/0003-include-config.h.patch @@ -0,0 +1,26 @@ +From 67eae4f20af9aaaf693025d95a05527a2c1fed1a Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Wed, 19 Jul 2017 14:38:43 +0200 +Subject: [PATCH 3/3] include config.h + +Upstream-Status: Pending [https://github.com/archlinux/svntogit-packages/tree/packages/libmpd/trunk] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/libmpd-strfsong.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/libmpd-strfsong.c b/src/libmpd-strfsong.c +index 7d47bed..76fa3ff 100644 +--- a/src/libmpd-strfsong.c ++++ b/src/libmpd-strfsong.c +@@ -28,6 +28,7 @@ + #include <unistd.h> + #include <string.h> + #include <glib.h> ++#include <config.h> + #include "libmpd.h" + #include "libmpd-internal.h" + +-- +2.37.2 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb index d5ee395af8..3a4b3aa1a0 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/libmpd_11.8.17.bb @@ -5,9 +5,10 @@ HOMEPAGE ="http://sourceforge.net/projects/musicpd" DEPENDS = "glib-2.0" SRC_URI = "http://www.musicpd.org/download/${BPN}/${PV}/${BP}.tar.gz \ - file://glibc-2.20.patch \ + file://0001-fix-return-makes-integer-from-pointer-without-a-cast.patch \ + file://0002-fix-comparison-between-pointer-and-zero-character-co.patch \ + file://0003-include-config.h.patch \ " -SRC_URI[md5sum] = "5ae3d87467d52aef3345407adb0a2488" SRC_URI[sha256sum] = "fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83" inherit autotools pkgconfig diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.6.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.9.bb index c74f1074cc..e63c1b5e19 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.6.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.9.bb @@ -21,7 +21,7 @@ DEPENDS += " \ SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=v0.23.x;protocol=https \ file://mpd.conf.in \ " -SRCREV = "f591193ddaa7f9bcb6c85ff5899517fc7b53e35a" +SRCREV = "12147f6d5822899cc4316799b494c093b4b47f91" S = "${WORKDIR}/git" EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb new file mode 100644 index 0000000000..9fdb60380b --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire-media-session_0.4.1.bb @@ -0,0 +1,25 @@ +SUMMARY = "PipeWire Media Session is an example session manager for PipeWire" +HOMEPAGE = "https://gitlab.freedesktop.org/pipewire/media-session" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://COPYING;md5=97be96ca4fab23e9657ffa590b931c1a" + +DEPENDS = " \ + pipewire \ + alsa-lib \ + dbus \ +" + +SRC_URI = "git://gitlab.freedesktop.org/pipewire/media-session.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" +SRCREV = "e5d5cf2404786af8bcc40bdb8a2962bef4ec18b6" + +inherit meson pkgconfig + +FILES:${PN} += " \ + ${systemd_user_unitdir}/pipewire-media-session.service \ + ${datadir}/pipewire/media-session.d/* \ +" + +RRECOMMENDS:${PN} += "pipewire" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch new file mode 100644 index 0000000000..fc618b4a7c --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-avb-fix-compilation-on-big-endian.patch @@ -0,0 +1,53 @@ +From 1a5ec4452fa21592eaeeb823ad95a1db6eb60376 Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Tue, 19 Jul 2022 13:49:42 +0200 +Subject: [PATCH 001/113] avb: fix compilation on big endian + +Patch-Status: Backport + +--- + src/modules/module-avb/aaf.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/modules/module-avb/aaf.h b/src/modules/module-avb/aaf.h +index cb4871ca6..b444ce251 100644 +--- a/src/modules/module-avb/aaf.h ++++ b/src/modules/module-avb/aaf.h +@@ -35,7 +35,7 @@ struct avb_packet_aaf { + unsigned gv:1; + unsigned tv:1; + +- uint8_t seq_number; ++ uint8_t seq_num; + + unsigned _r2:7; + unsigned tu:1; +diff --git a/src/modules/module-avb/iec61883.h b/src/modules/module-avb/iec61883.h +index d3b3a7daa..6ca8724ad 100644 +--- a/src/modules/module-avb/iec61883.h ++++ b/src/modules/module-avb/iec61883.h +@@ -37,7 +37,7 @@ struct avb_packet_iec61883 { + unsigned gv:1; + unsigned tv:1; + +- uint8_t seq_number; ++ uint8_t seq_num; + + unsigned _r2:7; + unsigned tu:1; +diff --git a/spa/plugins/avb/avbtp/packets.h b/spa/plugins/avb/avbtp/packets.h +index 7047456bf..3d4a652ee 100644 +--- a/spa/plugins/avb/avbtp/packets.h ++++ b/spa/plugins/avb/avbtp/packets.h +@@ -116,7 +116,7 @@ struct spa_avbtp_packet_aaf { + unsigned gv:1; + unsigned tv:1; + +- uint8_t seq_number; ++ uint8_t seq_num; + + unsigned _r2:7; + unsigned tu:1; +-- +2.34.1 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch deleted file mode 100644 index ad6448a10a..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-spa-fix-c90-header-include.patch +++ /dev/null @@ -1,47 +0,0 @@ -From d3ea3142e1a4de206e616bc18f63a529e6b4986a Mon Sep 17 00:00:00 2001 -From: psykose <alice@ayaya.dev> -Date: Wed, 13 Apr 2022 21:57:49 +0000 -Subject: [PATCH 001/154] spa: fix c90 header include - -placing declarations after code is invalid under ISO c90 - -Fixes !1211 - -Patch-Status: Backport ---- - spa/include/spa/utils/string.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/spa/include/spa/utils/string.h b/spa/include/spa/utils/string.h -index e80434537..43d19616c 100644 ---- a/spa/include/spa/utils/string.h -+++ b/spa/include/spa/utils/string.h -@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t size, const char *format, . - static inline float spa_strtof(const char *str, char **endptr) - { - static locale_t locale = NULL; -+ locale_t prev; - float v; - if (SPA_UNLIKELY(locale == NULL)) - locale = newlocale(LC_ALL_MASK, "C", NULL); -- locale_t prev = uselocale(locale); -+ prev = uselocale(locale); - v = strtof(str, endptr); - uselocale(prev); - return v; -@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val) - static inline double spa_strtod(const char *str, char **endptr) - { - static locale_t locale = NULL; -+ locale_t prev; - double v; - if (SPA_UNLIKELY(locale == NULL)) - locale = newlocale(LC_ALL_MASK, "C", NULL); -- locale_t prev = uselocale(locale); -+ prev = uselocale(locale); - v = strtod(str, endptr); - uselocale(prev); - return v; --- -2.25.1 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb index c176c6eeb1..feefe7c151 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.50.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.56.bb @@ -13,10 +13,10 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "dbus ncurses" -SRCREV = "64cf5e80e6240284e6b757907b900507fe56f1b5" +SRCREV = "f274e53d25ee8f483ac6fce9e516bb1830abe88b" SRC_URI = " \ git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https \ - file://0001-spa-fix-c90-header-include.patch \ + file://0001-avb-fix-compilation-on-big-endian.patch \ " S = "${WORKDIR}/git" @@ -62,7 +62,6 @@ EXTRA_OEMESON += " \ -Dudevrulesdir=${nonarch_base_libdir}/udev/rules.d/ \ -Dsystemd-system-unit-dir=${systemd_system_unitdir} \ -Dsystemd-user-unit-dir=${systemd_user_unitdir} \ - -Dvulkan=disabled \ -Dman=disabled \ -Dsession-managers='[]' \ -Dlv2=disabled \ @@ -72,12 +71,26 @@ EXTRA_OEMESON += " \ -Dlegacy-rtkit=false \ " -PACKAGECONFIG:class-target ??= "\ +# spa alsa plugin code uses typedef redefinition, which is officially a C11 feature. +# Pipewire builds with 'c_std=gnu99' by default. Recent versions of gcc don't issue this warning in gnu99 +# mode but it looks like clang still does +CFLAGS:append = " -Wno-typedef-redefinition" + +# According to wireplumber documentation only one session manager should be installed at a time +# Possible options are media-session, which has fewer dependencies but is very simple, +# or wireplumber, which is more powerful. +PIPEWIRE_SESSION_MANAGER ??= "media-session" + +FFMPEG_AVAILABLE = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)}" +BLUETOOTH_AAC = "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'bluez-aac', '', d)}" + +PACKAGECONFIG:class-target ??= " \ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa', d)} \ - gstreamer jack libusb pw-cat raop sndfile v4l2 \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez ${BLUETOOTH_AAC}', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa vulkan pulseaudio', d)} \ + ${PIPEWIRE_SESSION_MANAGER} \ + ${FFMPEG_AVAILABLE} gstreamer jack libusb pw-cat raop sndfile v4l2 udev volume \ " # "jack" and "pipewire-jack" packageconfigs cannot be both enabled, @@ -85,19 +98,21 @@ PACKAGECONFIG:class-target ??= "\ # libjack.so* files, thus colliding with the libpack package. This # is why these two are marked in their respective packageconfigs # as being in conflict. -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev" +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa pipewire-alsa-card-profile" PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" PACKAGECONFIG[bluez-aac] = "-Dbluez5-codec-aac=enabled,-Dbluez5-codec-aac=disabled,fdk-aac" PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native" PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" -PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base,,gstreamer1.0-pipewire" PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack,,,pipewire-jack" -PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera" +PACKAGECONFIG[libcamera] = "-Dlibcamera=enabled,-Dlibcamera=disabled,libcamera libdrm" PACKAGECONFIG[libcanberra] = "-Dlibcanberra=enabled,-Dlibcanberra=disabled,libcanberra" PACKAGECONFIG[libusb] = "-Dlibusb=enabled,-Dlibusb=disabled,libusb" +PACKAGECONFIG[media-session] = ",,,pipewire-media-session,,wireplumber" +PACKAGECONFIG[pulseaudio] = "-Dlibpulse=enabled,-Dlibpulse=disabled,pulseaudio,,pipewire-pulse" PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled,alsa-lib" -PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,,jack" +PACKAGECONFIG[pipewire-jack] = "-Dpipewire-jack=enabled -Dlibjack-path=${libdir}/${PW_MODULE_SUBDIR}/jack,-Dpipewire-jack=disabled,jack,,pipewire-jack,jack" PACKAGECONFIG[pw-cat] = "-Dpw-cat=enabled,-Dpw-cat=disabled" PACKAGECONFIG[raop] = "-Draop=enabled,-Draop=disabled,openssl" PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2" @@ -109,8 +124,12 @@ PACKAGECONFIG[systemd-system-service] = "-Dsystemd-system-service=enabled,-Dsyst # currently lacks the feature of enabling user services. PACKAGECONFIG[systemd-user-service] = "-Dsystemd-user-service=enabled,-Dsystemd-user-service=disabled,systemd" # pw-cat needs sndfile packageconfig to be enabled +PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev" PACKAGECONFIG[v4l2] = "-Dv4l2=enabled,-Dv4l2=disabled,udev" +PACKAGECONFIG[volume] = "-Dvolume=enabled,-Dvolume=disabled" +PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-headers vulkan-loader" PACKAGECONFIG[webrtc-echo-cancelling] = "-Decho-cancel-webrtc=enabled,-Decho-cancel-webrtc=disabled,webrtc-audio-processing" +PACKAGECONFIG[wireplumber] = ",,,wireplumber,,media-session" PACKAGESPLITFUNCS:prepend = " split_dynamic_packages " PACKAGESPLITFUNCS:append = " set_dynamic_metapkg_rdepends " @@ -227,10 +246,16 @@ PACKAGES_DYNAMIC = "^${PN}-spa-plugins.* ^${PN}-modules.*" SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'systemd-system-service', 'pipewire.service', '', d)}" CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf" FILES:${PN} = " \ - ${datadir}/pipewire/pipewire.conf \ - ${systemd_system_unitdir}/pipewire.* \ - ${systemd_user_unitdir}/pipewire.* \ + ${datadir}/pipewire \ + ${systemd_system_unitdir}/pipewire* \ + ${systemd_user_unitdir}/pipewire* \ ${bindir}/pipewire \ + ${bindir}/pipewire-avb \ +" + +RRECOMMENDS:${PN}:class-target += " \ + pipewire-modules-meta \ + pipewire-spa-plugins-meta \ " FILES:${PN}-dev += " \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch new file mode 100644 index 0000000000..36a31a85cd --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools/0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch @@ -0,0 +1,27 @@ +From 8c10181547c93438fc10f753e7164ee004add6d1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sat, 27 Aug 2022 10:28:47 -0700 +Subject: [PATCH] ogginfo: Include utf8.h for missing utf8_decode + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + ogginfo/codec_skeleton.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ogginfo/codec_skeleton.c b/ogginfo/codec_skeleton.c +index a27f8da..3ac13f6 100644 +--- a/ogginfo/codec_skeleton.c ++++ b/ogginfo/codec_skeleton.c +@@ -25,6 +25,7 @@ + #include <ogg/ogg.h> + + #include "i18n.h" ++#include "utf8.h" /* utf8_decode */ + + #include "private.h" + +-- +2.37.2 + diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb index 290162127f..61a4aedb85 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb @@ -12,6 +12,7 @@ DEPENDS = "libogg libvorbis" SRC_URI = "http://downloads.xiph.org/releases/vorbis/${BP}.tar.gz \ file://gettext.patch \ + file://0001-ogginfo-Include-utf8.h-for-missing-utf8_decode.patch \ " SRC_URI[md5sum] = "998fca293bd4e4bdc2b96fb70f952f4e" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb index 0a2ca3b6f7..e093734ed2 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.9.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.4.11.bb @@ -11,7 +11,7 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ " -SRCREV = "8b97b40c4467951fbd4181afb47e4175361365a6" +SRCREV = "80b3559963f0ad40a7bfa6c23b0098275c0b5ebe" SRC_URI = "git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ file://90-OE-disable-session-dbus-dependent-features.lua \ " @@ -36,7 +36,7 @@ EXTRA_OEMESON += " \ " PACKAGECONFIG ??= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd systemd-system-service systemd-user-service', '', d)} \ " PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" @@ -130,7 +130,9 @@ CONFFILES:${PN} += " \ # Add pipewire to RRECOMMENDS, since WirePlumber expects a PipeWire daemon to # be present. While in theory any application that uses libpipewire can configure # itself to become a daemon, in practice, the PipeWire daemon is used. -RRECOMMENDS:${PN} += "${PN}-scripts pipewire" +RRECOMMENDS:${PN} += "pipewire ${PN}-scripts ${PN}-modules-meta" + +FILES:${PN} += "${systemd_user_unitdir}" FILES:libwireplumber = " \ ${libdir}/libwireplumber-*.so.* \ |