diff options
Diffstat (limited to 'meta-openembedded/meta-multimedia')
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch | 44 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb | 4 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch | 107 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb | 4 | ||||
-rw-r--r-- | meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.73.bb (renamed from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.71.bb) | 23 |
5 files changed, 175 insertions, 7 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch new file mode 100644 index 0000000000..92b52ad98a --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av/0001-all-Drop-xmlRecoverMemory.patch @@ -0,0 +1,44 @@ +From d99f71a4a52da7582d5e26992a1ab303b280d28a Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 30 Jun 2023 03:23:12 -0700 +Subject: [PATCH] Drop xmlRecoverMemory + +newer libxml has deprecated xmlRecoverMemory therefore replace it with xmlReadMemory + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gupnp/-/commit/80e68995b745a5900eaaa1d0c424d3a9d354e42d] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + gupnp-didl-lite-parser.c | 2 +- + gupnp-feature-list-parser.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gupnp-didl-lite-parser.c b/gupnp-didl-lite-parser.c +index 3a5727f..840d718 100644 +--- a/libgupnp-av/gupnp-didl-lite-parser.c ++++ b/libgupnp-av/gupnp-didl-lite-parser.c +@@ -230,7 +230,7 @@ gupnp_didl_lite_parser_parse_didl_recursive (GUPnPDIDLLiteParser *parser, + GUPnPAVXMLDoc *xml_doc = NULL; + gboolean result; + +- doc = xmlRecoverMemory (didl, strlen (didl)); ++ doc = xmlReadMemory (didl, strlen (didl), NULL, NULL, XML_PARSE_NONET | XML_PARSE_RECOVER); + if (doc == NULL) { + g_set_error (error, + G_MARKUP_ERROR, +diff --git a/gupnp-feature-list-parser.c b/gupnp-feature-list-parser.c +index 16208b5..f804fe7 100644 +--- a/libgupnp-av/gupnp-feature-list-parser.c ++++ b/libgupnp-av/gupnp-feature-list-parser.c +@@ -114,7 +114,7 @@ gupnp_feature_list_parser_parse_text + xmlNode *element; + GList *feature_list = NULL; + +- doc = xmlRecoverMemory (text, strlen (text)); ++ doc = xmlReadMemory (text, strlen (text), NULL, NULL, XML_PARSE_NONET | XML_PARSE_RECOVER); + if (doc == NULL) { + g_set_error (error, + G_MARKUP_ERROR, +-- +2.41.0 + diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb index b253c54d92..48de5868de 100644 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp-av_0.14.0.bb @@ -8,5 +8,7 @@ DEPENDS = "gupnp" inherit meson pkgconfig gobject-introspection vala -SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz" +SRC_URI = "${GNOME_MIRROR}/${BPN}/0.14/${BPN}-${PV}.tar.xz \ + file://0001-all-Drop-xmlRecoverMemory.patch \ + " SRC_URI[sha256sum] = "20aed546fc882e78a3f186a0c8bce5c841cc3a44b7ea528298fbdc82596fb156" diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch new file mode 100644 index 0000000000..a3941f345f --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp/0001-all-Drop-xmlRecoverMemory.patch @@ -0,0 +1,107 @@ +From 46f13d9929c81ec2340a1a5d48f596b1892c5a81 Mon Sep 17 00:00:00 2001 +From: Jens Georg <mail@jensge.org> +Date: Thu, 4 May 2023 19:14:29 +0200 +Subject: [PATCH] all: Drop xmlRecoverMemory + +use xmlReadMemory, also use NONET flat + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +Upstream-Status: Backport [https://github.com/GNOME/gupnp/commit/80e68995b745a5900eaaa1d0c424d3a9d354e42d] +--- + libgupnp/gupnp-control-point.c | 7 +++++-- + libgupnp/gupnp-service-info.c | 7 +++++-- + libgupnp/gupnp-service-proxy-action.c | 7 +++++-- + libgupnp/gupnp-service-proxy.c | 7 +++++-- + libgupnp/gupnp-service.c | 7 +++++-- + 5 files changed, 25 insertions(+), 10 deletions(-) + +diff --git a/libgupnp/gupnp-control-point.c b/libgupnp/gupnp-control-point.c +index dc04732..99ebda5 100644 +--- a/libgupnp/gupnp-control-point.c ++++ b/libgupnp/gupnp-control-point.c +@@ -608,8 +608,11 @@ got_description_url (SoupSession *session, + xmlDoc *xml_doc; + + /* Parse response */ +- xml_doc = xmlRecoverMemory (msg->response_body->data, +- msg->response_body->length); ++ xml_doc = xmlReadMemory (msg->response_body->data, ++ msg->response_body->length, ++ NULL, ++ NULL, ++ XML_PARSE_NONET | XML_PARSE_RECOVER); + if (xml_doc) { + doc = gupnp_xml_doc_new (xml_doc); + +diff --git a/libgupnp/gupnp-service-info.c b/libgupnp/gupnp-service-info.c +index 9a9f4de..d468801 100644 +--- a/libgupnp/gupnp-service-info.c ++++ b/libgupnp/gupnp-service-info.c +@@ -592,8 +592,11 @@ got_scpd_url (G_GNUC_UNUSED SoupSession *session, + if (SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) { + xmlDoc *scpd; + +- scpd = xmlRecoverMemory (msg->response_body->data, +- msg->response_body->length); ++ scpd = xmlReadMemory (msg->response_body->data, ++ msg->response_body->length, ++ NULL, ++ NULL, ++ XML_PARSE_NONET | XML_PARSE_RECOVER); + if (scpd) { + introspection = gupnp_service_introspection_new (scpd); + +diff --git a/libgupnp/gupnp-service-proxy-action.c b/libgupnp/gupnp-service-proxy-action.c +index 4d9336c..ef8a808 100644 +--- a/libgupnp/gupnp-service-proxy-action.c ++++ b/libgupnp/gupnp-service-proxy-action.c +@@ -86,8 +86,11 @@ check_action_response (G_GNUC_UNUSED GUPnPServiceProxy *proxy, + } + + /* Parse response */ +- response = xmlRecoverMemory (action->msg->response_body->data, +- action->msg->response_body->length); ++ response = xmlReadMemory (action->msg->response_body->data, ++ action->msg->response_body->length, ++ NULL, ++ NULL, ++ XML_PARSE_NONET | XML_PARSE_RECOVER); + + if (!response) { + if (action->msg->status_code == SOUP_STATUS_OK) { +diff --git a/libgupnp/gupnp-service-proxy.c b/libgupnp/gupnp-service-proxy.c +index 25d5ef6..af2fd46 100644 +--- a/libgupnp/gupnp-service-proxy.c ++++ b/libgupnp/gupnp-service-proxy.c +@@ -1560,8 +1560,11 @@ server_handler (G_GNUC_UNUSED SoupServer *soup_server, + } + + /* Parse the actual XML message content */ +- doc = xmlRecoverMemory (msg->request_body->data, +- msg->request_body->length); ++ doc = xmlReadMemory (msg->request_body->data, ++ msg->request_body->length, ++ NULL, ++ NULL, ++ XML_PARSE_NONET | XML_PARSE_RECOVER); + if (doc == NULL) { + /* Failed */ + g_warning ("Failed to parse NOTIFY message body"); +diff --git a/libgupnp/gupnp-service.c b/libgupnp/gupnp-service.c +index 67b3d43..0ebfb26 100644 +--- a/libgupnp/gupnp-service.c ++++ b/libgupnp/gupnp-service.c +@@ -985,8 +985,11 @@ control_server_handler (SoupServer *server, + *end = '\0'; + + /* Parse action_node */ +- doc = xmlRecoverMemory (msg->request_body->data, +- msg->request_body->length); ++ doc = xmlReadMemory (msg->request_body->data, ++ msg->request_body->length, ++ NULL, ++ NULL, ++ XML_PARSE_NONET | XML_PARSE_RECOVER); + if (doc == NULL) { + soup_message_set_status (msg, SOUP_STATUS_BAD_REQUEST); + diff --git a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb index 708e3844ff..c21e7a05bf 100644 --- a/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-connectivity/gupnp/gupnp_1.4.1.bb @@ -7,7 +7,9 @@ DEPENDS = "e2fsprogs gssdp libsoup-2.4 libxml2" inherit meson pkgconfig vala gobject-introspection -SRC_URI = "${GNOME_MIRROR}/${BPN}/1.4/${BPN}-${PV}.tar.xz" +SRC_URI = "${GNOME_MIRROR}/${BPN}/1.4/${BPN}-${PV}.tar.xz \ + file://0001-all-Drop-xmlRecoverMemory.patch \ +" SRC_URI[sha256sum] = "899196b5e66f03b8e25f046a7a658cd2a6851becb83f2d55345ab3281655dc0c" SYSROOT_PREPROCESS_FUNCS += "gupnp_sysroot_preprocess" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.71.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.73.bb index 7f117e10b2..b27886d0cc 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.71.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.73.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "dbus ncurses" -SRCREV = "bd225b14bbda1a6e2dc7a52780eaf728920e0ff2" +SRCREV = "44deacbc670ccf6c02d66a48b756a16167d8048f" SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" S = "${WORKDIR}/git" @@ -48,7 +48,7 @@ SYSTEMD_PACKAGES = "${PN}" # it just prevents this subproject feature. # # AptX and LDAC are not available in OE. Currently, neither -# are lv2 and ROC. +# are lv2, ROC, and libmysofa. # # The RTKit module is deprecated in favor of the newer RT module. # It still exists for legacy setups that still include it in @@ -66,6 +66,7 @@ EXTRA_OEMESON += " \ -Dbluez5-codec-aptx=disabled \ -Dbluez5-codec-ldac=disabled \ -Dlegacy-rtkit=false \ + -Dlibmysofa=disabled \ " # spa alsa plugin code uses typedef redefinition, which is officially a C11 feature. @@ -87,7 +88,7 @@ PACKAGECONFIG:class-target ??= " \ ${@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} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera \ + ${FFMPEG_AVAILABLE} avahi flatpak gstreamer gsettings jack libusb pw-cat raop sndfile v4l2 udev volume webrtc-echo-cancelling libcamera readline \ " # "jack" and "pipewire-jack" packageconfigs cannot be both enabled, @@ -100,6 +101,10 @@ 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[bluez-opus] = "-Dbluez5-codec-opus=enabled,-Dbluez5-codec-opus=disabled,libopus" +# From the pipewire git log: +# "Some Linux phones doesn't use oFono but ModemManager to control the modem." +# This packageconfig enables modemmanager specific code in the BlueZ backend. +PACKAGECONFIG[bluez-backend-native-mm] = "-Dbluez5-backend-native-mm=enabled,-Dbluez5-backend-native-mm=disabled,modemmanager" PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native graphviz-native" PACKAGECONFIG[ffmpeg] = "-Dffmpeg=enabled,-Dffmpeg=disabled,ffmpeg" PACKAGECONFIG[flatpak] = "-Dflatpak=enabled,-Dflatpak=disabled,glib-2.0" @@ -115,6 +120,9 @@ PACKAGECONFIG[pipewire-alsa] = "-Dpipewire-alsa=enabled,-Dpipewire-alsa=disabled 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" +# Starting with version 0.3.60, readline usage can be turned off in pw-cli. +# If it is disabled, getline() is used as a fallback. +PACKAGECONFIG[readline] = "-Dreadline=enabled,-Dreadline=disabled,readline" PACKAGECONFIG[sdl2] = "-Dsdl2=enabled,-Dsdl2=disabled,libsdl2" PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1" PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd" @@ -241,6 +249,7 @@ PACKAGES =+ "\ ${PN}-modules-meta \ ${PN}-alsa-card-profile \ ${PN}-v4l2 \ + ${PN}-aes67 \ gstreamer1.0-pipewire \ " @@ -255,8 +264,6 @@ FILES:${PN} = " \ ${systemd_user_unitdir} \ ${bindir}/pipewire \ ${bindir}/pipewire-avb \ - ${bindir}/pipewire-aes67 \ - ${sysconfdir}/security/limits.d \ " RRECOMMENDS:${PN}:class-target += " \ @@ -350,6 +357,7 @@ RRECOMMENDS:${PN}-modules += "${PN}-modules-meta" CONFFILES:${PN}-modules-rt = "${datadir}/pipewire/client-rt.conf" FILES:${PN}-modules-rt += " \ ${datadir}/pipewire/client-rt.conf \ + ${sysconfdir}/security/limits.d/* \ " CONFFILES:${PN}-modules-filter-chain = "${datadir}/pipewire/filter-chain/*" @@ -368,6 +376,11 @@ FILES:${PN}-v4l2 += " \ ${libdir}/${PW_MODULE_SUBDIR}/v4l2/libpw-v4l2.so \ " +# AES67 is a standard for audio over IP, from the Audio Engineering Society (AES). +FILES:${PN}-aes67 += " \ + ${bindir}/pipewire-aes67 \ +" + FILES:gstreamer1.0-pipewire = " \ ${libdir}/gstreamer-1.0/* \ " |