diff --git a/multimedia/pipewire/pipewire/Makefile b/multimedia/pipewire/pipewire/Makefile index 881f00151f4..3394a7b1a41 100644 --- a/multimedia/pipewire/pipewire/Makefile +++ b/multimedia/pipewire/pipewire/Makefile @@ -2,10 +2,10 @@ COMMENT-main= low-level multimedia framework - client & server COMMENT-libs= low-level multimedia framework - libraries PW_PROJECT= pipewire -PW_VERSION= 1.4.10 +PW_VERSION= 1.6.6 PKGNAME-libs= lib${PW_PROJECT}-${PW_VERSION} -SHARED_LIBS += pipewire-0.3 0.3 # 0.1409.0 +SHARED_LIBS += pipewire-0.3 0.4 # 0.1606.0 MULTI_PACKAGES= -main -libs @@ -54,7 +54,7 @@ CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include/libepol CONFIGURE_ARGS= -Dman=enabled \ -Dsession-managers=[] \ - -Dsystemd=disabled \ + -Dlibsystemd=disabled \ -Dsystemd-user-service=disabled \ -Dlogind=disabled \ -Dudev=disabled \ @@ -75,7 +75,8 @@ CONFIGURE_ARGS += -Dpipewire-alsa=disabled \ -Davb=disabled \ -Dlibffado=disabled \ -Dlibmysofa=disabled \ - -Davahi=disabled + -Davahi=disabled \ + -Donnxruntime=disabled # PAM limits.d file CONFIGURE_ARGS += -Drlimits-install=false @@ -98,6 +99,7 @@ CONFIGURE_ARGS += -Djack=disabled # Jack3 server CONFIGURE_ARGS += -Dpipewire-jack=disabled +CFLAGS += -DECHRNG=ERANGE pre-configure: ${SUBST_CMD} ${WRKSRC}/src/daemon/pipewire.conf.in diff --git a/multimedia/pipewire/pipewire/distinfo b/multimedia/pipewire/pipewire/distinfo index 6e221b1bef0..fcb344a9d01 100644 --- a/multimedia/pipewire/pipewire/distinfo +++ b/multimedia/pipewire/pipewire/distinfo @@ -1,2 +1,2 @@ -SHA256 (pipewire-1.4.10.tar.gz) = IBhLP6wuJ1k4UwJCO98E22RJCjx5oJEUeZOoIq6ZISg= -SIZE (pipewire-1.4.10.tar.gz) = 2581033 +SHA256 (pipewire-1.6.6.tar.gz) = sqCo3mlGuBRaRTY5yTZVW+sMvy8khuCxxnbP/arwKdk= +SIZE (pipewire-1.6.6.tar.gz) = 2743017 diff --git a/multimedia/pipewire/pipewire/patches/patch-meson_build b/multimedia/pipewire/pipewire/patches/patch-meson_build index 403f5d83ae1..61a59f822c6 100644 --- a/multimedia/pipewire/pipewire/patches/patch-meson_build +++ b/multimedia/pipewire/pipewire/patches/patch-meson_build @@ -4,7 +4,7 @@ Instead, properly detect availability of getauxval(3) and elf_aux_info(3). Index: meson.build --- meson.build.orig +++ meson.build -@@ -355,7 +355,11 @@ cdata.set('HAVE_OPUS', opus_dep.found()) +@@ -367,7 +367,11 @@ cdata.set('HAVE_OPUS', opus_dep.found()) summary({'readline (for pw-cli)': readline_dep.found()}, bool_yn: true, section: 'Misc dependencies') cdata.set('HAVE_READLINE', readline_dep.found()) @@ -16,7 +16,7 @@ Index: meson.build sndfile_dep = dependency('sndfile', version : '>= 1.0.20', required : get_option('sndfile')) summary({'sndfile': sndfile_dep.found()}, bool_yn: true, section: 'pw-cat/pw-play/pw-dump/filter-chain') cdata.set('HAVE_SNDFILE', sndfile_dep.found()) -@@ -475,10 +479,13 @@ endif +@@ -489,10 +493,13 @@ endif # On FreeBSD and MidnightBSD, epoll-shim library is required for eventfd() and timerfd() epoll_shim_dep = (host_machine.system() == 'freebsd' or host_machine.system() == 'midnightbsd' @@ -30,7 +30,7 @@ Index: meson.build ? dependency('libinotify', required: true) : dependency('', required: false)) -@@ -534,6 +541,8 @@ check_functions = [ +@@ -548,6 +555,8 @@ check_functions = [ ['XSetIOErrorExitHandler', '#include ', [], [x11_dep]], ['malloc_trim', '#include ', [], []], ['malloc_info', '#include ', [], []], diff --git a/multimedia/pipewire/pipewire/patches/patch-pipewire-v4l2_src_pipewire-v4l2_c b/multimedia/pipewire/pipewire/patches/patch-pipewire-v4l2_src_pipewire-v4l2_c index 247af5b3912..62955443332 100644 --- a/multimedia/pipewire/pipewire/patches/patch-pipewire-v4l2_src_pipewire-v4l2_c +++ b/multimedia/pipewire/pipewire/patches/patch-pipewire-v4l2_src_pipewire-v4l2_c @@ -13,7 +13,7 @@ Index: pipewire-v4l2/src/pipewire-v4l2.c #include "pipewire-v4l2.h" -@@ -2441,7 +2445,7 @@ static int v4l2_ioctl(int fd, unsigned long int reques +@@ -2443,7 +2447,7 @@ static int v4l2_ioctl(int fd, unsigned long int reques if ((file = find_file(fd, &flags)) == NULL) return globals.old_fops.ioctl(fd, request, arg); diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_dsd-utils_h b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_dsd-utils_h new file mode 100644 index 00000000000..3599660e78c --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_dsd-utils_h @@ -0,0 +1,14 @@ +Index: spa/include/spa/param/audio/dsd-utils.h +--- spa/include/spa/param/audio/dsd-utils.h.orig ++++ spa/include/spa/param/audio/dsd-utils.h +@@ -11,6 +11,10 @@ + #include + #include + ++#ifndef ECHRNG ++#define ECHRNG ERANGE ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_layout-types_h b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_layout-types_h new file mode 100644 index 00000000000..b6c23305e3c --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_layout-types_h @@ -0,0 +1,14 @@ +Index: spa/include/spa/param/audio/layout-types.h +--- spa/include/spa/param/audio/layout-types.h.orig ++++ spa/include/spa/param/audio/layout-types.h +@@ -9,6 +9,10 @@ + #include + #include + ++#ifndef ECHRNG ++#define ECHRNG ERANGE ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_raw-json_h b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_raw-json_h new file mode 100644 index 00000000000..17227840a01 --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_raw-json_h @@ -0,0 +1,14 @@ +Index: spa/include/spa/param/audio/raw-json.h +--- spa/include/spa/param/audio/raw-json.h.orig ++++ spa/include/spa/param/audio/raw-json.h +@@ -11,6 +11,10 @@ + #include + #include + ++#ifndef ECHRNG ++#define ECHRNG ERANGE ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_raw-utils_h b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_raw-utils_h new file mode 100644 index 00000000000..a715d3ae49f --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-spa_include_spa_param_audio_raw-utils_h @@ -0,0 +1,14 @@ +Index: spa/include/spa/param/audio/raw-utils.h +--- spa/include/spa/param/audio/raw-utils.h.orig ++++ spa/include/spa/param/audio/raw-utils.h +@@ -11,6 +11,10 @@ + #include + #include + ++#ifndef ECHRNG ++#define ECHRNG ERANGE ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_meson_build b/multimedia/pipewire/pipewire/patches/patch-spa_meson_build new file mode 100644 index 00000000000..e93d27f68f9 --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-spa_meson_build @@ -0,0 +1,12 @@ +Needs linux/limits.h + +Index: spa/meson.build +--- spa/meson.build.orig ++++ spa/meson.build +@@ -162,6 +162,5 @@ if get_option('spa-plugins').allowed() + endif + + subdir('tools') +-subdir('tests') + subdir('examples') + subdir('lib') diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_filter-graph_c b/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_filter-graph_c index 3f7edcbdd88..15f96112225 100644 --- a/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_filter-graph_c +++ b/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_filter-graph_c @@ -1,7 +1,7 @@ Index: spa/plugins/filter-graph/filter-graph.c --- spa/plugins/filter-graph/filter-graph.c.orig +++ spa/plugins/filter-graph/filter-graph.c -@@ -298,7 +298,11 @@ static struct port *find_port(struct node *node, const +@@ -384,7 +384,11 @@ static struct port *find_port(struct node *node, const const struct spa_fga_descriptor *d; uint32_t i, n_ports, port_id = SPA_ID_INVALID; diff --git a/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_plugin_builtin_c b/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_plugin_builtin_c new file mode 100644 index 00000000000..f58bf61e20c --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-spa_plugins_filter-graph_plugin_builtin_c @@ -0,0 +1,20 @@ +XXX fix + +Index: spa/plugins/filter-graph/plugin_builtin.c +--- spa/plugins/filter-graph/plugin_builtin.c.orig ++++ spa/plugins/filter-graph/plugin_builtin.c +@@ -2973,12 +2973,14 @@ static void busy_run(void * Instance, unsigned long Sa + struct timespec ts; + uint64_t busy_nsec; + ++#ifndef __OpenBSD__ + if (impl->wait_scale > 0.0f) { + busy_nsec = (uint64_t)(impl->wait_scale * SampleCount); + ts.tv_sec = busy_nsec / SPA_NSEC_PER_SEC; + ts.tv_nsec = busy_nsec % SPA_NSEC_PER_SEC; + clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, NULL); + } ++#endif + if (impl->cpu_scale > 0.0f) { + clock_gettime(CLOCK_MONOTONIC, &ts); + busy_nsec = SPA_TIMESPEC_TO_NSEC(&ts); diff --git a/multimedia/pipewire/pipewire/patches/patch-src_daemon_pipewire_conf_in b/multimedia/pipewire/pipewire/patches/patch-src_daemon_pipewire_conf_in index 562675c0132..6d504be3875 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_daemon_pipewire_conf_in +++ b/multimedia/pipewire/pipewire/patches/patch-src_daemon_pipewire_conf_in @@ -3,7 +3,7 @@ Automatically start wireplumber (no support for systemd services). Index: src/daemon/pipewire.conf.in --- src/daemon/pipewire.conf.in.orig +++ src/daemon/pipewire.conf.in -@@ -360,6 +360,8 @@ context.exec = [ +@@ -361,6 +361,8 @@ context.exec = [ # @sm_comment@{ path = "@session_manager_path@" args = "@session_manager_args@" @sm_comment@ condition = [ { exec.session-manager = !false } ] } diff --git a/multimedia/pipewire/pipewire/patches/patch-src_examples_meson_build b/multimedia/pipewire/pipewire/patches/patch-src_examples_meson_build new file mode 100644 index 00000000000..dafa948767e --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-src_examples_meson_build @@ -0,0 +1,12 @@ +Index: src/examples/meson.build +--- src/examples/meson.build.orig ++++ src/examples/meson.build +@@ -61,7 +61,7 @@ foreach c : examples + c, c + '.c', + install : installed_tests_enabled, + install_dir : installed_tests_execdir / 'examples', +- dependencies : [pipewire_dep, mathlib] + deps, ++ dependencies : [pipewire_dep, mathlib, epoll_shim_dep] + deps, + ) + endif + endforeach diff --git a/multimedia/pipewire/pipewire/patches/patch-src_examples_video-src-fixate_c b/multimedia/pipewire/pipewire/patches/patch-src_examples_video-src-fixate_c new file mode 100644 index 00000000000..b98856ae31a --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-src_examples_video-src-fixate_c @@ -0,0 +1,13 @@ +Index: src/examples/video-src-fixate.c +--- src/examples/video-src-fixate.c.orig ++++ src/examples/video-src-fixate.c +@@ -18,7 +18,9 @@ + #include + #include + #include ++#ifndef __OpenBSD__ + #include ++#endif + #include + + #include diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-pipe-tunnel_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-pipe-tunnel_c index ff2ac7c955d..297b3c9eba0 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-pipe-tunnel_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-pipe-tunnel_c @@ -1,9 +1,9 @@ Index: src/modules/module-pipe-tunnel.c --- src/modules/module-pipe-tunnel.c.orig +++ src/modules/module-pipe-tunnel.c -@@ -16,6 +16,10 @@ - #include - #include +@@ -3,6 +3,10 @@ + /* SPDX-FileCopyrightText: Copyright © 2022 Wim Taymans */ + /* SPDX-License-Identifier: MIT */ +#if defined(__OpenBSD__) +#include @@ -11,4 +11,4 @@ Index: src/modules/module-pipe-tunnel.c + #include "config.h" - #include + #include diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-protocol-native_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-protocol-native_c index 9ad3bb34c4b..7b9a27fe23d 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-protocol-native_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-protocol-native_c @@ -1,7 +1,7 @@ Index: src/modules/module-protocol-native.c --- src/modules/module-protocol-native.c.orig +++ src/modules/module-protocol-native.c -@@ -613,6 +613,8 @@ static struct client_data *client_new(struct server *s +@@ -601,6 +601,8 @@ static struct client_data *client_new(struct server *s socklen_t len; #if defined(__FreeBSD__) || defined(__MidnightBSD__) struct xucred xucred; @@ -10,7 +10,7 @@ Index: src/modules/module-protocol-native.c #else struct ucred ucred; #endif -@@ -626,7 +628,7 @@ static struct client_data *client_new(struct server *s +@@ -614,7 +616,7 @@ static struct client_data *client_new(struct server *s if (props == NULL) goto exit; diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rt_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rt_c index c30bf3c69a7..bccbf6e8b9a 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rt_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rt_c @@ -1,7 +1,7 @@ Index: src/modules/module-rt.c --- src/modules/module-rt.c.orig +++ src/modules/module-rt.c -@@ -256,6 +256,8 @@ static pid_t _gettid(void) +@@ -255,6 +255,8 @@ static pid_t _gettid(void) long pid; thr_self(&pid); return (pid_t)pid; diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-sap_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-sap_c index 332653bc085..f74d498aa30 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-sap_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-sap_c @@ -3,7 +3,7 @@ No SO_PASSCRED on OpenBSD. Index: src/modules/module-rtp-sap.c --- src/modules/module-rtp-sap.c.orig +++ src/modules/module-rtp-sap.c -@@ -390,11 +390,13 @@ static int make_unix_socket(const char *path) { +@@ -411,11 +411,13 @@ static int make_unix_ptp_mgmt_socket(const char *path) return -1; } @@ -17,7 +17,7 @@ Index: src/modules/module-rtp-sap.c spa_zero(addr); addr.sun_family = AF_UNIX; -@@ -478,9 +480,9 @@ static int make_recv_socket(struct sockaddr_storage *s +@@ -502,9 +504,9 @@ static int make_recv_socket(struct sockaddr_storage *s spa_zero(req); if (ifname) { snprintf(req.ifr_name, sizeof(req.ifr_name), "%s", ifname); diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-session_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-session_c index 046198b037d..cbea9131469 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-session_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-session_c @@ -1,7 +1,7 @@ Index: src/modules/module-rtp-session.c --- src/modules/module-rtp-session.c.orig +++ src/modules/module-rtp-session.c -@@ -1091,9 +1091,9 @@ static int make_socket(const struct sockaddr_storage* +@@ -1097,9 +1097,9 @@ static int make_socket(const struct sockaddr_storage* spa_zero(req); if (ifname) { snprintf(req.ifr_name, sizeof(req.ifr_name), "%s", ifname); diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-source_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-source_c index 6c94db4ed7c..fcaedbcb14b 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-source_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-rtp-source_c @@ -1,7 +1,7 @@ Index: src/modules/module-rtp-source.c --- src/modules/module-rtp-source.c.orig +++ src/modules/module-rtp-source.c -@@ -258,9 +258,9 @@ static int make_socket(const struct sockaddr* sa, sock +@@ -506,9 +506,9 @@ static int make_socket(const struct sockaddr* sa, sock spa_zero(req); if (ifname) { snprintf(req.ifr_name, sizeof(req.ifr_name), "%s", ifname); diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-vban-recv_c b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-vban-recv_c index 28954817c5e..53a73b31dd5 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_module-vban-recv_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_module-vban-recv_c @@ -1,7 +1,7 @@ Index: src/modules/module-vban-recv.c --- src/modules/module-vban-recv.c.orig +++ src/modules/module-vban-recv.c -@@ -232,9 +232,9 @@ static int make_socket(const struct sockaddr* sa, sock +@@ -234,9 +234,9 @@ static int make_socket(const struct sockaddr* sa, sock spa_zero(req); if (ifname) { snprintf(req.ifr_name, sizeof(req.ifr_name), "%s", ifname); diff --git a/multimedia/pipewire/pipewire/patches/patch-src_modules_network-utils_h b/multimedia/pipewire/pipewire/patches/patch-src_modules_network-utils_h index 46093bf0c64..b81c9e0ec7a 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_modules_network-utils_h +++ b/multimedia/pipewire/pipewire/patches/patch-src_modules_network-utils_h @@ -1,9 +1,9 @@ Index: src/modules/network-utils.h --- src/modules/network-utils.h.orig +++ src/modules/network-utils.h -@@ -8,7 +8,7 @@ - #include - #include +@@ -14,7 +14,7 @@ + + #include -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__OpenBSD__) diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_context_c b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_context_c new file mode 100644 index 00000000000..c0b76848026 --- /dev/null +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_context_c @@ -0,0 +1,33 @@ +Index: src/pipewire/context.c +--- src/pipewire/context.c.orig ++++ src/pipewire/context.c +@@ -346,21 +346,29 @@ static int adjust_rlimits(const struct spa_dict *dict) + { + const struct spa_dict_item *it; + static const char* rlimit_table[] = { ++#ifndef __OpenBSD__ + [RLIMIT_AS] = "as", + [RLIMIT_CORE] = "core", ++#endif + [RLIMIT_CPU] = "cpu", + [RLIMIT_DATA] = "data", + [RLIMIT_FSIZE] = "fsize", ++#ifndef __OpenBSD__ + [RLIMIT_LOCKS] = "locks", ++#endif + [RLIMIT_MEMLOCK] = "memlock", ++#ifndef __OpenBSD__ + [RLIMIT_MSGQUEUE] = "msgqueue", + [RLIMIT_NICE] = "nice", ++#endif + [RLIMIT_NOFILE] = "nofile", + [RLIMIT_NPROC] = "nproc", + [RLIMIT_RSS] = "rss", ++#ifndef __OpenBSD__ + [RLIMIT_RTPRIO] = "rtprio", + [RLIMIT_RTTIME] = "rttime", + [RLIMIT_SIGPENDING] = "sigpending", ++#endif + [RLIMIT_STACK] = "stack", + }; + int res; diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_impl-node_c b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_impl-node_c index cb5260ae801..ded3f5dba61 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_impl-node_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_impl-node_c @@ -1,7 +1,7 @@ Index: src/pipewire/impl-node.c --- src/pipewire/impl-node.c.orig +++ src/pipewire/impl-node.c -@@ -8,7 +8,9 @@ +@@ -10,7 +10,9 @@ #include #include #include @@ -10,4 +10,4 @@ Index: src/pipewire/impl-node.c +#endif #include - #include "config.h" + #include diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_mem_c b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_mem_c index 368c7a5f28a..112ff5c0824 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_mem_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_mem_c @@ -21,7 +21,7 @@ Index: src/pipewire/mem.c #define MAP_LOCKED 0 #endif -@@ -568,7 +568,7 @@ struct pw_memblock * pw_mempool_alloc(struct pw_mempoo +@@ -571,7 +571,7 @@ struct pw_memblock * pw_mempool_alloc(struct pw_mempoo #else char filename[128]; snprintf(filename, sizeof(filename), diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_meson_build b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_meson_build index 9caf924511b..e0f542c8089 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_meson_build +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_meson_build @@ -1,7 +1,7 @@ Index: src/pipewire/meson.build --- src/pipewire/meson.build.orig +++ src/pipewire/meson.build -@@ -94,7 +94,7 @@ libpipewire_c_args = [ +@@ -97,7 +97,7 @@ libpipewire_c_args = [ '-DOLD_MEDIA_SESSION_WORKAROUND=1' ] diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_c b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_c index e6441930623..f15ca59dc56 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_c @@ -18,7 +18,19 @@ Index: src/pipewire/pipewire.c #include #include #include -@@ -484,7 +488,7 @@ static struct spa_log *load_journal_logger(struct supp +@@ -310,7 +314,11 @@ struct spa_handle *pw_load_spa_handle(const char *lib, + error: + pw_log_error("load lib: pw_init() was not called"); + pthread_mutex_unlock(&support_lock); ++#ifdef __linux__ + errno = EBADFD; ++#else ++ errno = EBADF; ++#endif + return NULL; + } + +@@ -495,7 +503,7 @@ static struct spa_log *load_journal_logger(struct supp * This function can be called multiple times. */ SPA_EXPORT @@ -27,7 +39,7 @@ Index: src/pipewire/pipewire.c { const char *str; struct spa_dict_item items[6]; -@@ -599,7 +603,7 @@ done: +@@ -610,7 +618,7 @@ done: * used again after being deinitialized with a new pw_init() call. */ SPA_EXPORT @@ -36,7 +48,7 @@ Index: src/pipewire/pipewire.c { struct support *support = &global_support; struct registry *registry = &support->registry; -@@ -625,6 +629,21 @@ done: +@@ -636,6 +644,21 @@ done: } @@ -58,7 +70,7 @@ Index: src/pipewire/pipewire.c /** Check if a debug category is enabled * * \param name the name of the category to check -@@ -672,7 +691,7 @@ static void init_prgname(void) +@@ -683,7 +706,7 @@ static void init_prgname(void) } } #endif @@ -67,7 +79,7 @@ Index: src/pipewire/pipewire.c { if (prctl(PR_GET_NAME, (unsigned long) name, 0, 0, 0) == 0) { prgname = name; -@@ -790,4 +809,21 @@ SPA_EXPORT +@@ -801,4 +824,21 @@ SPA_EXPORT const struct spa_type_info * pw_type_info(void) { return type_info; diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_h b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_h index 1a208a939ab..1bab11b56ed 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_h +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_pipewire_h @@ -3,7 +3,7 @@ https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819 Index: src/pipewire/pipewire.h --- src/pipewire/pipewire.h.orig +++ src/pipewire/pipewire.h -@@ -50,9 +50,15 @@ extern "C" { +@@ -53,9 +53,15 @@ extern "C" { * \{ */ void diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_private_h b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_private_h index 9704f4fe718..7be8bd55953 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_private_h +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_private_h @@ -1,7 +1,7 @@ Index: src/pipewire/private.h --- src/pipewire/private.h.orig +++ src/pipewire/private.h -@@ -14,6 +14,10 @@ extern "C" { +@@ -10,6 +10,10 @@ #include #include /* for pthread_t */ diff --git a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_thread_c b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_thread_c index 83926d5d757..5983472df92 100644 --- a/multimedia/pipewire/pipewire/patches/patch-src_pipewire_thread_c +++ b/multimedia/pipewire/pipewire/patches/patch-src_pipewire_thread_c @@ -54,7 +54,7 @@ Index: src/pipewire/thread.c static struct spa_thread *impl_create(void *object, const struct spa_dict *props, -@@ -115,9 +123,11 @@ static struct spa_thread *impl_create(void *object, +@@ -117,16 +125,20 @@ static struct spa_thread *impl_create(void *object, if ((str = spa_dict_lookup(props, SPA_KEY_THREAD_NAME)) != NULL && (err = pthread_setname_np(pt, str)) != 0) pw_log_warn("pthread_setname error: %s", strerror(err)); @@ -62,7 +62,16 @@ Index: src/pipewire/thread.c if ((str = spa_dict_lookup(props, SPA_KEY_THREAD_AFFINITY)) != NULL && (err = thread_setaffinity(pt, str)) != 0) pw_log_warn("pthread_setaffinity error: %s", strerror(-err)); + if ((str = spa_dict_lookup(props, SPA_KEY_THREAD_RESET_ON_FORK)) != NULL) + reset_on_fork = spa_atob(str); +#endif } - return (struct spa_thread*)pt; - } + + pthread_getschedparam(pt, &old_policy, &sp); + new_policy = old_policy; ++#ifndef __OpenBSD__ + SPA_FLAG_UPDATE(new_policy, SCHED_RESET_ON_FORK, reset_on_fork); ++#endif + if (old_policy != new_policy) + pthread_setschedparam(pt, new_policy, &sp); + diff --git a/multimedia/pipewire/pipewire/patches/patch-test_meson_build b/multimedia/pipewire/pipewire/patches/patch-test_meson_build index 819833d0548..b004eb383f6 100644 --- a/multimedia/pipewire/pipewire/patches/patch-test_meson_build +++ b/multimedia/pipewire/pipewire/patches/patch-test_meson_build @@ -1,7 +1,7 @@ Index: test/meson.build --- test/meson.build.orig +++ test/meson.build -@@ -80,7 +80,7 @@ test('test-loop', +@@ -79,7 +79,7 @@ test('test-loop', executable('test-loop', 'test-loop.c', include_directories: pwtest_inc, diff --git a/multimedia/pipewire/pipewire/patches/patch-test_test-functional_c b/multimedia/pipewire/pipewire/patches/patch-test_test-functional_c index a8a8ba5ce4e..e8183eed674 100644 --- a/multimedia/pipewire/pipewire/patches/patch-test_test-functional_c +++ b/multimedia/pipewire/pipewire/patches/patch-test_test-functional_c @@ -1,12 +1,12 @@ Index: test/test-functional.c --- test/test-functional.c.orig +++ test/test-functional.c -@@ -4,6 +4,8 @@ - - #include +@@ -2,6 +2,8 @@ + /* SPDX-FileCopyrightText: Copyright © 2019 Wim Taymans */ + /* SPDX-License-Identifier: MIT */ +#include /* WEXITSTATUS */ + #include "config.h" - #include "pwtest.h" + #include diff --git a/multimedia/pipewire/pipewire/pkg/PLIST-libs b/multimedia/pipewire/pipewire/pkg/PLIST-libs index 558352498dd..e5dabfaba41 100644 --- a/multimedia/pipewire/pipewire/pkg/PLIST-libs +++ b/multimedia/pipewire/pipewire/pkg/PLIST-libs @@ -4,6 +4,7 @@ include/pipewire-0.3/ include/pipewire-0.3/pipewire/ include/pipewire-0.3/pipewire/array.h include/pipewire-0.3/pipewire/buffers.h +include/pipewire-0.3/pipewire/capabilities.h include/pipewire-0.3/pipewire/client.h include/pipewire-0.3/pipewire/conf.h include/pipewire-0.3/pipewire/context.h @@ -109,6 +110,8 @@ include/spa-0.2/spa/param/audio/ include/spa-0.2/spa/param/audio/aac-types.h include/spa-0.2/spa/param/audio/aac-utils.h include/spa-0.2/spa/param/audio/aac.h +include/spa-0.2/spa/param/audio/ac3-utils.h +include/spa-0.2/spa/param/audio/ac3.h include/spa-0.2/spa/param/audio/alac-utils.h include/spa-0.2/spa/param/audio/alac.h include/spa-0.2/spa/param/audio/amr-types.h @@ -121,6 +124,11 @@ include/spa-0.2/spa/param/audio/dsd-utils.h include/spa-0.2/spa/param/audio/dsd.h include/spa-0.2/spa/param/audio/dsp-utils.h include/spa-0.2/spa/param/audio/dsp.h +include/spa-0.2/spa/param/audio/dts-types.h +include/spa-0.2/spa/param/audio/dts-utils.h +include/spa-0.2/spa/param/audio/dts.h +include/spa-0.2/spa/param/audio/eac3-utils.h +include/spa-0.2/spa/param/audio/eac3.h include/spa-0.2/spa/param/audio/flac-utils.h include/spa-0.2/spa/param/audio/flac.h include/spa-0.2/spa/param/audio/format-utils.h @@ -128,10 +136,13 @@ include/spa-0.2/spa/param/audio/format.h include/spa-0.2/spa/param/audio/iec958-types.h include/spa-0.2/spa/param/audio/iec958-utils.h include/spa-0.2/spa/param/audio/iec958.h +include/spa-0.2/spa/param/audio/layout-types.h include/spa-0.2/spa/param/audio/layout.h include/spa-0.2/spa/param/audio/mp3-types.h include/spa-0.2/spa/param/audio/mp3-utils.h include/spa-0.2/spa/param/audio/mp3.h +include/spa-0.2/spa/param/audio/mpegh-utils.h +include/spa-0.2/spa/param/audio/mpegh.h include/spa-0.2/spa/param/audio/opus.h include/spa-0.2/spa/param/audio/ra-utils.h include/spa-0.2/spa/param/audio/ra.h @@ -139,6 +150,8 @@ include/spa-0.2/spa/param/audio/raw-json.h include/spa-0.2/spa/param/audio/raw-types.h include/spa-0.2/spa/param/audio/raw-utils.h include/spa-0.2/spa/param/audio/raw.h +include/spa-0.2/spa/param/audio/truehd-utils.h +include/spa-0.2/spa/param/audio/truehd.h include/spa-0.2/spa/param/audio/type-info.h include/spa-0.2/spa/param/audio/vorbis-utils.h include/spa-0.2/spa/param/audio/vorbis.h @@ -150,6 +163,9 @@ include/spa-0.2/spa/param/bluetooth/audio.h include/spa-0.2/spa/param/bluetooth/type-info.h include/spa-0.2/spa/param/buffers-types.h include/spa-0.2/spa/param/buffers.h +include/spa-0.2/spa/param/dict-types.h +include/spa-0.2/spa/param/dict-utils.h +include/spa-0.2/spa/param/dict.h include/spa-0.2/spa/param/format-types.h include/spa-0.2/spa/param/format-utils.h include/spa-0.2/spa/param/format.h @@ -158,6 +174,9 @@ include/spa-0.2/spa/param/latency-utils.h include/spa-0.2/spa/param/latency.h include/spa-0.2/spa/param/param-types.h include/spa-0.2/spa/param/param.h +include/spa-0.2/spa/param/peer-types.h +include/spa-0.2/spa/param/peer-utils.h +include/spa-0.2/spa/param/peer.h include/spa-0.2/spa/param/port-config-types.h include/spa-0.2/spa/param/port-config.h include/spa-0.2/spa/param/profile-types.h @@ -174,6 +193,7 @@ include/spa-0.2/spa/param/tag.h include/spa-0.2/spa/param/type-info.h include/spa-0.2/spa/param/video/ include/spa-0.2/spa/param/video/chroma.h +include/spa-0.2/spa/param/video/color-types.h include/spa-0.2/spa/param/video/color.h include/spa-0.2/spa/param/video/dsp-utils.h include/spa-0.2/spa/param/video/dsp.h @@ -182,6 +202,8 @@ include/spa-0.2/spa/param/video/format-utils.h include/spa-0.2/spa/param/video/format.h include/spa-0.2/spa/param/video/h264-utils.h include/spa-0.2/spa/param/video/h264.h +include/spa-0.2/spa/param/video/h265-utils.h +include/spa-0.2/spa/param/video/h265.h include/spa-0.2/spa/param/video/mjpg-utils.h include/spa-0.2/spa/param/video/mjpg.h include/spa-0.2/spa/param/video/multiview.h @@ -190,6 +212,7 @@ include/spa-0.2/spa/param/video/raw-utils.h include/spa-0.2/spa/param/video/raw.h include/spa-0.2/spa/param/video/type-info.h include/spa-0.2/spa/pod/ +include/spa-0.2/spa/pod/body.h include/spa-0.2/spa/pod/builder.h include/spa-0.2/spa/pod/command.h include/spa-0.2/spa/pod/compare.h @@ -199,6 +222,7 @@ include/spa-0.2/spa/pod/filter.h include/spa-0.2/spa/pod/iter.h include/spa-0.2/spa/pod/parser.h include/spa-0.2/spa/pod/pod.h +include/spa-0.2/spa/pod/simplify.h include/spa-0.2/spa/pod/vararg.h include/spa-0.2/spa/support/ include/spa-0.2/spa/support/cpu.h diff --git a/multimedia/pipewire/pipewire/pkg/PLIST-main b/multimedia/pipewire/pipewire/pkg/PLIST-main index 3fa310bcb23..5208b2d24fe 100644 --- a/multimedia/pipewire/pipewire/pkg/PLIST-main +++ b/multimedia/pipewire/pipewire/pkg/PLIST-main @@ -13,6 +13,8 @@ bin/pw-encplay @bin bin/pw-link @bin bin/pw-loopback @bin bin/pw-metadata +bin/pw-midi2play +bin/pw-midi2record @bin bin/pw-mididump bin/pw-midiplay bin/pw-midirecord @@ -21,6 +23,7 @@ bin/pw-play @bin bin/pw-profiler bin/pw-record @bin bin/pw-reserve +bin/pw-sysex @bin bin/pw-top @bin bin/spa-inspect @bin bin/spa-json-dump @@ -195,6 +198,7 @@ lib/spa-0.2/videotestsrc/ @man man/man7/pipewire-pulse-module-zeroconf-discover.7 @man man/man7/pipewire-pulse-modules.7 share/locale/af/LC_MESSAGES/pipewire.mo +share/locale/ar/LC_MESSAGES/pipewire.mo share/locale/as/LC_MESSAGES/pipewire.mo share/locale/be/LC_MESSAGES/pipewire.mo share/locale/bg/LC_MESSAGES/pipewire.mo @@ -255,6 +259,7 @@ share/pipewire/client.conf.avail/20-upmix.conf share/pipewire/filter-chain/ share/pipewire/filter-chain.conf share/pipewire/filter-chain/demonic.conf +share/pipewire/filter-chain/sink-dolby-pro-logic-ii.conf share/pipewire/filter-chain/sink-dolby-surround.conf share/pipewire/filter-chain/sink-eq6.conf share/pipewire/filter-chain/sink-make-LFE.conf