Accepting request 1035125 from home:XRevan86

- Update to version 0.3.60.

OBS-URL: https://build.opensuse.org/request/show/1035125
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pipewire?expand=0&rev=83
This commit is contained in:
Takashi Iwai 2022-11-14 13:25:41 +00:00 committed by Git OBS Bridge
parent 4a28bad86c
commit c1805357b9
10 changed files with 305 additions and 214 deletions

View File

@ -1,40 +0,0 @@
From 94a64268613adac8ef6f3e6c1f04468220540d00 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Mon, 3 Oct 2022 09:55:44 +0200
Subject: [PATCH] filter-chain: iterate the port correctly
Don't use the number of handles to iterate the output ports but the
number of output ports on the node.
Fixes #2737
---
src/modules/module-filter-chain.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c
index 6a899ef5f..9d65aa938 100644
--- a/src/modules/module-filter-chain.c
+++ b/src/modules/module-filter-chain.c
@@ -1561,6 +1561,10 @@ static int load_node(struct graph *graph, struct spa_json *json)
node->control_port = calloc(desc->n_control, sizeof(struct port));
node->notify_port = calloc(desc->n_notify, sizeof(struct port));
+ pw_log_info("loaded n_input:%d n_output:%d n_control:%d n_notify:%d",
+ desc->n_input, desc->n_output,
+ desc->n_control, desc->n_notify);
+
for (i = 0; i < desc->n_input; i++) {
struct port *port = &node->input_port[i];
port->node = node;
@@ -1953,6 +1957,8 @@ static int setup_graph(struct graph *graph, struct spa_json *inputs, struct spa_
gh->hndl = &node->hndl[i];
gh->desc = d;
+ }
+ for (i = 0; i < desc->n_output; i++) {
spa_list_for_each(link, &node->output_port[i].link_list, output_link)
link->input->node->n_deps--;
}
--
2.37.3

View File

@ -0,0 +1,36 @@
From b720da771efa950cf380101bed42d5d5ee177908 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 10 Nov 2022 16:13:33 +0100
Subject: [PATCH] pulse-server: also advance read pointer in underrun
So that we ask for more data from the client.
Also retested with #2799 that caused this regression.
Fixes #2821
---
src/modules/module-protocol-pulse/pulse-server.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
index b18273e98..07f664ba1 100644
--- a/src/modules/module-protocol-pulse/pulse-server.c
+++ b/src/modules/module-protocol-pulse/pulse-server.c
@@ -1433,10 +1433,11 @@ static void stream_process(void *data)
stream->buffer, MAXLENGTH,
index % MAXLENGTH,
p, avail);
- index += avail;
- pd.read_inc = avail;
- spa_ringbuffer_read_update(&stream->ring, index);
}
+ index += size;
+ pd.read_inc = size;
+ spa_ringbuffer_read_update(&stream->ring, index);
+
pd.playing_for = size;
}
pw_log_debug("%p: [%s] underrun read:%u avail:%d max:%u",
--
2.38.1

View File

@ -1,73 +0,0 @@
From a2278a5f70fcc03ee72173c44896928d4c6b88d5 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Sat, 29 Oct 2022 20:22:06 +0200
Subject: [PATCH] spa: support the speakers (output) only case in
report_jack_state()
The Realtek ALC4080 USB audio device (integrated in the
motherboards) can detect the presence on all I/O jacks.
If user connects only speakers, it's a valid case.
BugLink: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2744
---
spa/plugins/alsa/acp/acp.c | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
diff --git a/spa/plugins/alsa/acp/acp.c b/spa/plugins/alsa/acp/acp.c
index f23232ed3ab9..c49c9e088e88 100644
--- a/spa/plugins/alsa/acp/acp.c
+++ b/spa/plugins/alsa/acp/acp.c
@@ -624,7 +624,7 @@ static int report_jack_state(snd_mixer_elem_t *melem, unsigned int mask)
pa_card *impl = snd_mixer_elem_get_callback_private(melem);
snd_hctl_elem_t *elem = snd_mixer_elem_get_private(melem);
snd_ctl_elem_value_t *elem_value;
- bool plugged_in;
+ bool plugged_in, any_input_port_available;
void *state;
pa_alsa_jack *jack;
struct temp_port_avail *tp, *tports;
@@ -735,6 +735,31 @@ static int report_jack_state(snd_mixer_elem_t *melem, unsigned int mask)
if (impl->card.active_profile_index != ACP_INVALID_INDEX)
active_available = impl->card.profiles[impl->card.active_profile_index]->available;
+ /* First round - detect, if we have any input port available.
+ If the hardware can report the state for all I/O jacks, only speakers
+ may be plugged in. */
+ any_input_port_available = false;
+ PA_HASHMAP_FOREACH(profile, impl->profiles, state) {
+ pa_device_port *port;
+ void *state2;
+
+ if (profile->profile.flags & ACP_PROFILE_OFF)
+ continue;
+
+ PA_HASHMAP_FOREACH(port, impl->ports, state2) {
+ if (!pa_hashmap_get(port->profiles, profile->profile.name))
+ continue;
+
+ if (port->port.direction == ACP_DIRECTION_CAPTURE &&
+ port->port.available != ACP_AVAILABLE_NO) {
+ any_input_port_available = true;
+ goto input_port_found;
+ }
+ }
+ }
+input_port_found:
+
+ /* Second round */
PA_HASHMAP_FOREACH(profile, impl->profiles, state) {
pa_device_port *port;
void *state2;
@@ -768,7 +793,7 @@ static int report_jack_state(snd_mixer_elem_t *melem, unsigned int mask)
if (has_input_port && !has_output_port && found_available_input_port)
available = ACP_AVAILABLE_YES;
- if (has_output_port && !has_input_port && found_available_output_port)
+ if (has_output_port && (!has_input_port || !any_input_port_available) && found_available_output_port)
available = ACP_AVAILABLE_YES;
if (has_output_port && has_input_port && found_available_output_port && found_available_input_port)
available = ACP_AVAILABLE_YES;
--
2.35.3

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/pipewire.git</param>
<param name="revision">refs/tags/0.3.59</param>
<param name="revision">refs/tags/0.3.60</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="revision">master</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c2f72f2bb3a64d93016975d9c1f97dee1bbdaf4a205ac72a169ee045b515aa92
size 11299341

3
pipewire-0.3.60.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:97bd5beb4c7b1e62361b4bca62b39f252039e1bcc58dded0d1094145b6c65970
size 11512333

View File

@ -1,3 +1,157 @@
-------------------------------------------------------------------
Thu Nov 10 16:07:42 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 0.3.60:
* Highlights
- The filter-chain now handles errors better and has fixes for
many crasher bugs.
- A new RTP module was added with a sender and receiver.
It uses SAP to announce and consume RTP streams and is
compatible with the PulseAudio RTP modules.
- Many small bluetooth improvements and fixes.
- The alsa plugin will now only start playback when there is
data. This results in better synch and lower latency between
capture and playback.
- The v4l2 and libcamera plugins have seen a lot of
improvements. They support control properties now. Also
pw-v4l2 has seen many improvements and mostly passes the
v4l2-compliance test now.
- Many more bugfixes and improvements.
* PipeWire
- Code cleanups, compiler warning fixes.
- Add some extra checks to avoid scheduling an inactive node.
- Rework the sequence of events to start and stop nodes.
- Improve param enumeration.
- An option was added to give priority to the Buffer params of
the consumer. This makes it possible to use the default
values of the consumer (instead of the producer) when
capturing from a source.
- The graph rate selection was improved to pick a rate closest
to the requested one (instead of picking the default).
* Modules
- Fix some crashes in filter-chain.
- X11 Bell module will now be loaded by default when available.
- A new RTP module was added with a sender and receiver. It
uses SAP to announce and consume RTP streams and is
compatible with the PulseAudio RTP modules.
- Improve RAOP compatibility.
- The echo-cancel module now uses the resampler prefill option
to align input and output samples without buffering. Better
latency control when starting and stopping has been
implemented.
- The pulse tunnel will now write aligned samples to pulseaudio
even when the ringbuffer wraps around. This fixes playback
issues with multichannel sinks.
- Add a delay option to module-loopback using a ringbuffer.
- Implement echo-cancel params.
- The filter-chain module has better error reporting.
- The LADSPA search path was extended with some more common
paths.
- The echo-cancel input can now also be a monitor of a sink.
This improves compatibility with some proton games that
expect a real sink instead of a virtual one.
* Tools
- Better error reporting in pw-link.
- pw-top now also shows IEC958 passthrough formats and
JPEG/H264 video formats.
- pw-top refreshes the screen faster.
- pw-top now prints the state of the node and shows less info
for inactive nodes.
- pw-dump now uses the new seq field in the spa_param_info to
discard old param updates and avoid duplicate params in the
output.
* Bluetooth
- Add ModemManager support in the native backend.
- Clean up GetManagedObjects handling.
- Handle QoS from the endpoints in the codec.
- Increase the socket buffer to have more control over the rate
and QoS.
- Simplify the packet flushing code.
- Stop processing nodes before destroying them.
- Fix timers when a source switches drivers.
- Codecs can now share endpoints. This reduces the amount of
endpoints and avoids problems with devices that can't handle
a large amount of codec endpoints.
- Report batery status to UPower for HFP AG.
- Fix bitpool increase.
* SPA
- The audioresampler now avoids clicks and pops between
activating and deactivating the adaptive resampler when used
by the stream API.
- Use default locale to parse float parameters.
- The upmix functions now have SSE optimisations.
- Avoid recalculating the complete channelmix setup when only
the volume changes.
- The alsa plugin will now only start playback when there is
data. This results in better synch and lower latency between
capture and playback.
- The ALSA MIDI sequencer will now pull data from the graph
even when it did not output anything. Fixes some graph stalls
with the sequencer in some cases.
- v4l2 and libcamera sources now recycle buffers when nothing
is consuming them. This avoids stalling the graph.
- libcamera now suggests a more appropriate frame size than the
smallest poster frame.
- Improve state changes in audioconvert.
- A new seq field was added to spa_param_info to keep track of
pending param updates.
- Support speaker output only on RealTek ALC4080.
- The v4l2 source now supports setting controls.
- The libcamera plugin now supports enumerating and setting
controls.
- A new unit test for 6.1 channel mapping was added.
More debug info was added to audioconvert for the channel
matrix.
- Audioconvert will now also upmix a rear-center channel when
needed.
* pulse-server
- Add support for the RTP send and recv modules with the new
native RTP module.
- Add option to set latency for pulse-tunnel streams and
module-zeroconf-discover.
- The socket will now be given the same permissions as what
pulseaudio did (0777).
- Implement module-loopback latency_msec correctly with the new
delay parameter.
- sysfs.path is now filled with the same data as pulseaudio.
- The manager now uses the new seq field in the spa_param_info.
- Fix a bug where in some cases the read pointer would get out
of synch and cause too large requests.
* ALSA
- The alsa plugin now reuses the stream in prepare which
results in better performance.
- Some deadlocks have been fixed in the ALSA plugin.
- The ALSA plugin reports more accurate timing information in
some cases.
* V4l2
- The v4l2 compatibility layer has received a lot of updates.
- Improved node names and format enumeration.
- Support for multiple /dev/videoX devices, each mapped to a
unique PipeWire node.
- Passes the v4l2-compliance test now with both the v4l2 and
libcamera backend in PipeWire.
- Improved mmap support for inline buffer memory.
This makes it possible to consume PipeWire streams.
- Negotiation works more reliably now.
* JACK
- Implement jack_acquire_real_time_scheduling() and
jack_drop_real_time_scheduling() by keeping the thread utils
in a global state.
- Fix jack_client_thread_id() to return NULL when the client is
not active, just like jack1 and jack2.
- An option was added to let the jack_set_buffer_size()
function update the global metadata. A quirk was added so
that jack_bufsize uses this new feature to make the buffer
size settings persistent and global, just like jack.
- jack_port_register() and jack_port_unregister() can be called
on an active client so make this thread safe.
- Rebase reduce-meson-dependency.patch.
- Drop patches already included upstream:
* 0001-filter-chain-iterate-the-port-correctly.patch
* 0002-spa-support-the-speakers-output-only-case-in-report_.patch
- Add patch to make Telegram playback work again:
* 0001-pulse-server-also-advance-read-pointer-in-underrun.patch
-------------------------------------------------------------------
Wed Nov 2 12:48:20 UTC 2022 - Takashi Iwai <tiwai@suse.com>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 0.3.59
mtime: 1664524688
commit: f54a72fd9a67eeb8d1502d6d75979dbddb00fdf2
version: 0.3.60
mtime: 1668071248
commit: 38382d002d0905d60a964fc84dcaf4f8b507a473

View File

@ -35,16 +35,16 @@
%define with_ldacBT 0
%endif
%if 0%{?suse_version} >= 1550
%if 0%{?suse_version} > 1500
%bcond_without libcamera
%else
%bcond_with libcamera
%endif
%if 0%{?sle_version} && 0%{?sle_version} < 150400
%bcond_with aac
%else
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
%bcond_without aac
%else
%bcond_with aac
%endif
%if %{?pkg_vcmp:%{pkg_vcmp meson >= 0.59.0}}%{!?pkg_vcmp:0}
@ -54,7 +54,7 @@
%bcond_with aptx
Name: pipewire
Version: 0.3.59
Version: 0.3.60
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -64,10 +64,8 @@ Source0: %{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch0: reduce-meson-dependency.patch
# PATCH-FIX-UPSTREAM 0001-filter-chain-iterate-the-port-correctly.patch
Patch1: 0001-filter-chain-iterate-the-port-correctly.patch
# PATCH-FIX-UPSTREAM 0002-spa-support-the-speakers-output-only-case-in-report_.patch
Patch2: 0002-spa-support-the-speakers-output-only-case-in-report_.patch
# PATCH-FIX-UPSTREAM 0001-pulse-server-also-advance-read-pointer-in-underrun.patch
Patch1: 0001-pulse-server-also-advance-read-pointer-in-underrun.patch
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -77,7 +75,7 @@ BuildRequires: gcc9
BuildRequires: gcc9-c++
%endif
BuildRequires: graphviz
%if 0%{?sle_version} <= 150300
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300
BuildRequires: meson >= 0.54.0
%else
BuildRequires: meson >= 0.59.0
@ -111,7 +109,7 @@ BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
%if %{with libcamera}
BuildRequires: libcamera-devel >= 0.0.0+g3887.f1776100
BuildRequires: libcamera-devel >= 0.0.1
%endif
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(libcap)
@ -134,7 +132,7 @@ BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(vulkan)
BuildRequires: pkgconfig(webrtc-audio-processing)
BuildRequires: pkgconfig(x11)
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
BuildRequires: pkgconfig(xfixes)
%endif
BuildConflicts: pipewire-libjack-%{apiver_str}-devel
@ -323,7 +321,7 @@ Conflicts: pulseaudio
Conflicts: pulseaudio-daemon
# Virtual Provides to support swapping between PipeWire-PA and PA
Provides: pulseaudio-daemon
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
Requires(post): pulseaudio-setup
%endif
#Provides: pulseaudio-module-bluetooth
@ -336,11 +334,10 @@ This package provides a PulseAudio implementation based on PipeWire
%prep
%autosetup -N
%if 0%{?sle_version} <= 150300
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300
%patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
%build
%if %{pkg_vcmp gcc < 8}
@ -391,7 +388,10 @@ export CXX=g++-9
%else
-Djack-devel=false \
%endif
%if 0%{?suse_version} < 1550 && 0%{?sle_version} < 150400
%if 0%{?suse_version} <= 1500
-Dreadline=disabled \
%endif
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} < 150400
-Dx11-xfixes=disabled \
%endif
-Dsession-managers="[]" \
@ -494,7 +494,7 @@ if [ ! -L %{_sysconfdir}/systemd/user/sockets.target.wants/pipewire-pulse.socket
# https://bugzilla.opensuse.org/show_bug.cgi?id=1186561
EOF
fi
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
# Update the /etc/profile.d/pulseaudio.* files
setup-pulseaudio --auto > /dev/null
%endif

View File

@ -1,7 +1,7 @@
Index: pipewire-0.3.59/doc/meson.build
Index: pipewire-0.3.60/doc/meson.build
===================================================================
--- pipewire-0.3.59.orig/doc/meson.build
+++ pipewire-0.3.59/doc/meson.build
--- pipewire-0.3.60.orig/doc/meson.build
+++ pipewire-0.3.60/doc/meson.build
@@ -1,8 +1,8 @@
doxyfile_conf = configuration_data()
doxyfile_conf.set('PACKAGE_NAME', meson.project_name())
@ -102,10 +102,10 @@ Index: pipewire-0.3.59/doc/meson.build
doxyfile = configure_file(input: 'Doxyfile.in',
output: 'Doxyfile',
Index: pipewire-0.3.59/man/meson.build
Index: pipewire-0.3.60/man/meson.build
===================================================================
--- pipewire-0.3.59.orig/man/meson.build
+++ pipewire-0.3.59/man/meson.build
--- pipewire-0.3.60.orig/man/meson.build
+++ pipewire-0.3.60/man/meson.build
@@ -21,7 +21,7 @@ manpages = [
'pw-top.1.rst.in',
]
@ -115,20 +115,20 @@ Index: pipewire-0.3.59/man/meson.build
manpages += 'pw-jack.1.rst.in'
endif
Index: pipewire-0.3.59/meson.build
Index: pipewire-0.3.60/meson.build
===================================================================
--- pipewire-0.3.59.orig/meson.build
+++ pipewire-0.3.59/meson.build
--- pipewire-0.3.60.orig/meson.build
+++ pipewire-0.3.60/meson.build
@@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.59',
version : '0.3.60',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.59.0',
+ meson_version : '>= 0.54.0',
default_options : [ 'warning_level=3',
'c_std=gnu11',
'cpp_std=c++17',
@@ -235,8 +235,8 @@ includes_inc = include_directories('incl
@@ -236,8 +236,8 @@ includes_inc = include_directories('incl
pipewire_inc = include_directories('src')
makedata = configuration_data()
@ -139,7 +139,7 @@ Index: pipewire-0.3.59/meson.build
makedata.set('VERSION', pipewire_version)
if version_arr.length() == 4
makedata.set('TAG', 'HEAD')
@@ -333,7 +333,7 @@ endforeach
@@ -334,7 +334,7 @@ endforeach
gst_dp_found = gst_dep.length() > 0
summary({'gstreamer-device-provider': gst_dp_found}, bool_yn: true, section: 'Backend')
@ -148,7 +148,7 @@ Index: pipewire-0.3.59/meson.build
webrtc_dep = dependency('webrtc-audio-processing',
version : ['>= 0.2', '< 1.0'],
@@ -396,10 +396,10 @@ endforeach
@@ -397,10 +397,10 @@ endforeach
installed_tests_metadir = pipewire_datadir / 'installed-tests' / pipewire_name
installed_tests_execdir = pipewire_libexecdir / 'installed-tests' / pipewire_name
@ -161,7 +161,7 @@ Index: pipewire-0.3.59/meson.build
gstack = find_program('gstack', required : false)
cdata.set('HAVE_GSTACK', gstack.found())
endif
@@ -408,17 +408,17 @@ subdir('po')
@@ -409,17 +409,17 @@ subdir('po')
subdir('spa')
subdir('src')
@ -182,7 +182,7 @@ Index: pipewire-0.3.59/meson.build
subdir('pipewire-v4l2')
endif
@@ -429,7 +429,7 @@ if alsa_dep.found()
@@ -430,7 +430,7 @@ if alsa_dep.found()
endif
generate_manpages = false
@ -191,7 +191,7 @@ Index: pipewire-0.3.59/meson.build
rst2man = find_program('rst2man', required: false)
if not rst2man.found()
rst2man = find_program('rst2man.py', required: get_option('man'))
@@ -450,20 +450,20 @@ endif
@@ -451,20 +451,20 @@ endif
setenv = find_program('pw-uninstalled.sh')
run_target('pw-uninstalled',
command : [setenv,
@ -219,7 +219,7 @@ Index: pipewire-0.3.59/meson.build
devenv.set('GST_PLUGIN_PATH', builddir / 'src'/ 'gst')
@@ -475,4 +475,6 @@ devenv.set('LD_LIBRARY_PATH', builddir /
@@ -476,4 +476,6 @@ devenv.set('LD_LIBRARY_PATH', builddir /
devenv.set('PW_UNINSTALLED', '1')
@ -227,10 +227,10 @@ Index: pipewire-0.3.59/meson.build
+if meson.version().version_compare('>=0.58.0')
+ meson.add_devenv(devenv)
+endif
Index: pipewire-0.3.59/spa/meson.build
Index: pipewire-0.3.60/spa/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/meson.build
+++ pipewire-0.3.59/spa/meson.build
--- pipewire-0.3.60.orig/spa/meson.build
+++ pipewire-0.3.60/spa/meson.build
@@ -31,7 +31,7 @@ pkgconfig.generate(filebase : 'lib@0@'.f
subdir('include')
@ -240,7 +240,17 @@ Index: pipewire-0.3.59/spa/meson.build
udevrulesdir = get_option('udevrulesdir')
if udevrulesdir == ''
# absolute path, otherwise meson prepends the prefix
@@ -86,6 +86,6 @@ endif
@@ -66,7 +66,8 @@ if get_option('spa-plugins').allowed()
summary({'Opus': opus_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
lc3_dep = dependency('lc3', required : get_option('bluez5-codec-lc3'))
summary({'LC3': lc3_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
- if get_option('bluez5-backend-hsp-native').allowed() or get_option('bluez5-backend-hfp-native').allowed()
+ if (get_option('bluez5-backend-hsp-native').enabled() or get_option('bluez5-backend-hsp-native').auto()) or
+ (get_option('bluez5-backend-hfp-native').enabled() or get_option('bluez5-backend-hfp-native').auto())
mm_dep = dependency('ModemManager', version : '>= 1.10.0', required : get_option('bluez5-backend-native-mm'))
summary({'ModemManager': mm_dep.found()}, bool_yn: true, section: 'Bluetooth backends')
endif
@@ -90,6 +91,6 @@ endif
subdir('tools')
subdir('tests')
@ -248,10 +258,10 @@ Index: pipewire-0.3.59/spa/meson.build
+if (get_option('examples').enabled() or get_option('examples').auto())
subdir('examples')
endif
Index: pipewire-0.3.59/spa/plugins/audioconvert/meson.build
Index: pipewire-0.3.60/spa/plugins/audioconvert/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/plugins/audioconvert/meson.build
+++ pipewire-0.3.59/spa/plugins/audioconvert/meson.build
--- pipewire-0.3.60.orig/spa/plugins/audioconvert/meson.build
+++ pipewire-0.3.60/spa/plugins/audioconvert/meson.build
@@ -148,7 +148,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audioconvert'),
@ -270,10 +280,10 @@ Index: pipewire-0.3.59/spa/plugins/audioconvert/meson.build
])
if installed_tests_enabled
Index: pipewire-0.3.59/spa/plugins/audiomixer/meson.build
Index: pipewire-0.3.60/spa/plugins/audiomixer/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/plugins/audiomixer/meson.build
+++ pipewire-0.3.59/spa/plugins/audiomixer/meson.build
--- pipewire-0.3.60.orig/spa/plugins/audiomixer/meson.build
+++ pipewire-0.3.60/spa/plugins/audiomixer/meson.build
@@ -81,7 +81,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audiomixer'),
@ -292,11 +302,11 @@ Index: pipewire-0.3.59/spa/plugins/audiomixer/meson.build
])
if installed_tests_enabled
Index: pipewire-0.3.59/spa/plugins/bluez5/meson.build
Index: pipewire-0.3.60/spa/plugins/bluez5/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/plugins/bluez5/meson.build
+++ pipewire-0.3.59/spa/plugins/bluez5/meson.build
@@ -6,12 +6,12 @@ foreach dep: bluez5_deps
--- pipewire-0.3.60.orig/spa/plugins/bluez5/meson.build
+++ pipewire-0.3.60/spa/plugins/bluez5/meson.build
@@ -6,13 +6,13 @@ foreach dep: bluez5_deps
endforeach
cdata.set('HAVE_BLUEZ_5_BACKEND_NATIVE',
@ -304,40 +314,44 @@ Index: pipewire-0.3.59/spa/plugins/bluez5/meson.build
- get_option('bluez5-backend-hfp-native').allowed())
-cdata.set('HAVE_BLUEZ_5_BACKEND_HSP_NATIVE', get_option('bluez5-backend-hsp-native').allowed())
-cdata.set('HAVE_BLUEZ_5_BACKEND_HFP_NATIVE', get_option('bluez5-backend-hfp-native').allowed())
-cdata.set('HAVE_BLUEZ_5_BACKEND_NATIVE_MM', get_option('bluez5-backend-native-mm').allowed())
-cdata.set('HAVE_BLUEZ_5_BACKEND_OFONO', get_option('bluez5-backend-ofono').allowed())
-cdata.set('HAVE_BLUEZ_5_BACKEND_HSPHFPD', get_option('bluez5-backend-hsphfpd').allowed())
+ (get_option('bluez5-backend-hsp-native').enabled() or get_option('bluez5-backend-hsp-native').auto()) or
+ (get_option('bluez5-backend-hfp-native').enabled() or get_option('bluez5-backend-hfp-native').auto()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_HSP_NATIVE', (get_option('bluez5-backend-hsp-native').enabled() or get_option('bluez5-backend-hsp-native').auto()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_HFP_NATIVE', (get_option('bluez5-backend-hfp-native').enabled() or get_option('bluez5-backend-hfp-native').auto()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_NATIVE_MM', (get_option('bluez5-backend-native-mm').enabled() or get_option('bluez5-backend-native-mm').auto()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_OFONO', (get_option('bluez5-backend-ofono').enabled() or get_option('bluez5-backend-ofono').auto()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_HSPHFPD', (get_option('bluez5-backend-hsphfpd').enabled() or get_option('bluez5-backend-hsphfpd').auto()))
cdata.set('HAVE_BLUEZ_5_HCI', dependency('bluez', version: '< 6', required: false).found())
bluez5_sources = [
@@ -34,18 +34,18 @@ bluez5_data = ['bluez-hardware.conf']
@@ -35,7 +35,8 @@ bluez5_data = ['bluez-hardware.conf']
install_data(bluez5_data, install_dir : spa_datadir / 'bluez5')
-if get_option('bluez5-backend-hsp-native').allowed() or get_option('bluez5-backend-hfp-native').allowed()
+if (get_option('bluez5-backend-hsp-native').enabled() or get_option('bluez5-backend-hsp-native').auto()) or (get_option('bluez5-backend-hfp-native').enabled() or get_option('bluez5-backend-hfp-native').auto())
+if (get_option('bluez5-backend-hsp-native').enabled() or get_option('bluez5-backend-hsp-native').auto()) or
+ (get_option('bluez5-backend-hfp-native').enabled() or get_option('bluez5-backend-hfp-native').auto())
if libusb_dep.found()
bluez5_deps += libusb_dep
endif
bluez5_sources += ['backend-native.c']
@@ -46,11 +47,11 @@ if get_option('bluez5-backend-hsp-native
bluez5_sources += ['backend-native.c', 'upower.c']
endif
-if get_option('bluez5-backend-ofono').allowed()
+if (get_option('bluez5-backend-ofono').enabled() or get_option('bluez5-backend-ofono').auto())
+if get_option('bluez5-backend-ofono').enabled() or get_option('bluez5-backend-ofono').auto()
bluez5_sources += ['backend-ofono.c']
endif
-if get_option('bluez5-backend-hsphfpd').allowed()
+if (get_option('bluez5-backend-hsphfpd').enabled() or get_option('bluez5-backend-hsphfpd').auto())
+if get_option('bluez5-backend-hsphfpd').enabled() or get_option('bluez5-backend-hsphfpd').auto()
bluez5_sources += ['backend-hsphfpd.c']
endif
@@ -110,7 +110,7 @@ if ldac_dep.found()
@@ -115,7 +116,7 @@ if ldac_dep.found()
install_dir : spa_plugindir / 'bluez5')
endif
@ -346,7 +360,7 @@ Index: pipewire-0.3.59/spa/plugins/bluez5/meson.build
bluez_codec_lc3plus = shared_library('spa-codec-bluez5-lc3plus',
[ 'a2dp-codec-lc3plus.c', 'media-codecs.c' ],
include_directories : [ configinc ],
@@ -120,7 +120,7 @@ if get_option('bluez5-codec-lc3plus').al
@@ -125,7 +126,7 @@ if get_option('bluez5-codec-lc3plus').al
install_dir : spa_plugindir / 'bluez5')
endif
@ -355,7 +369,7 @@ Index: pipewire-0.3.59/spa/plugins/bluez5/meson.build
opus_args = codec_args
opus_dep = [ opus_dep ]
bluez_codec_opus = shared_library('spa-codec-bluez5-opus',
@@ -132,7 +132,7 @@ if get_option('bluez5-codec-opus').allow
@@ -137,7 +138,7 @@ if get_option('bluez5-codec-opus').allow
install_dir : spa_plugindir / 'bluez5')
endif
@ -364,10 +378,10 @@ Index: pipewire-0.3.59/spa/plugins/bluez5/meson.build
bluez_codec_lc3 = shared_library('spa-codec-bluez5-lc3',
[ 'bap-codec-lc3.c', 'media-codecs.c' ],
include_directories : [ configinc ],
Index: pipewire-0.3.59/spa/plugins/meson.build
Index: pipewire-0.3.60/spa/plugins/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/plugins/meson.build
+++ pipewire-0.3.59/spa/plugins/meson.build
--- pipewire-0.3.60.orig/spa/plugins/meson.build
+++ pipewire-0.3.60/spa/plugins/meson.build
@@ -1,19 +1,22 @@
if alsa_dep.found()
subdir('alsa')
@ -421,10 +435,10 @@ Index: pipewire-0.3.59/spa/plugins/meson.build
subdir('volume')
endif
if vulkan_headers
Index: pipewire-0.3.59/spa/plugins/support/meson.build
Index: pipewire-0.3.60/spa/plugins/support/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/plugins/support/meson.build
+++ pipewire-0.3.59/spa/plugins/support/meson.build
--- pipewire-0.3.60.orig/spa/plugins/support/meson.build
+++ pipewire-0.3.60/spa/plugins/support/meson.build
@@ -23,7 +23,7 @@ spa_support_lib = shared_library('spa-su
install_dir : spa_plugindir / 'support')
spa_support_dep = declare_dependency(link_with: spa_support_lib)
@ -434,10 +448,10 @@ Index: pipewire-0.3.59/spa/plugins/support/meson.build
evl_inc = include_directories('/usr/evl/include')
evl_lib = cc.find_library('evl',
dirs: ['/usr/evl/lib/'],
Index: pipewire-0.3.59/spa/tests/meson.build
Index: pipewire-0.3.60/spa/tests/meson.build
===================================================================
--- pipewire-0.3.59.orig/spa/tests/meson.build
+++ pipewire-0.3.59/spa/tests/meson.build
--- pipewire-0.3.60.orig/spa/tests/meson.build
+++ pipewire-0.3.60/spa/tests/meson.build
@@ -5,7 +5,7 @@ find = find_program('find', required: fa
summary({'find (for header testing)': find.found()}, bool_yn: true, section: 'Optional programs')
if find.found()
@ -456,10 +470,10 @@ Index: pipewire-0.3.59/spa/tests/meson.build
]
)
Index: pipewire-0.3.59/src/daemon/meson.build
Index: pipewire-0.3.60/src/daemon/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/daemon/meson.build
+++ pipewire-0.3.59/src/daemon/meson.build
--- pipewire-0.3.60.orig/src/daemon/meson.build
+++ pipewire-0.3.60/src/daemon/meson.build
@@ -18,9 +18,9 @@ conf_config.set('pulse_comment', '#')
conf_config_uninstalled = conf_config
@ -481,10 +495,10 @@ Index: pipewire-0.3.59/src/daemon/meson.build
)
#desktop_file = i18n.merge_file(
Index: pipewire-0.3.59/src/daemon/systemd/meson.build
Index: pipewire-0.3.60/src/daemon/systemd/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/daemon/systemd/meson.build
+++ pipewire-0.3.59/src/daemon/systemd/meson.build
--- pipewire-0.3.60.orig/src/daemon/systemd/meson.build
+++ pipewire-0.3.60/src/daemon/systemd/meson.build
@@ -1,6 +1,6 @@
-if get_option('systemd-system-service').allowed()
+if (get_option('systemd-system-service').enabled() or get_option('systemd-system-service').auto())
@ -494,20 +508,20 @@ Index: pipewire-0.3.59/src/daemon/systemd/meson.build
+if (get_option('systemd-user-service').enabled() or get_option('systemd-user-service').auto())
subdir('user')
endif
Index: pipewire-0.3.59/src/daemon/systemd/user/meson.build
Index: pipewire-0.3.60/src/daemon/systemd/user/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/daemon/systemd/user/meson.build
+++ pipewire-0.3.59/src/daemon/systemd/user/meson.build
--- pipewire-0.3.60.orig/src/daemon/systemd/user/meson.build
+++ pipewire-0.3.60/src/daemon/systemd/user/meson.build
@@ -1,4 +1,4 @@
-systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix])
+#systemd_user_services_dir = systemd.get_variable('systemduserunitdir', pkgconfig_define : [ 'prefix', prefix])
if get_option('systemd-user-unit-dir') != ''
systemd_user_services_dir = get_option('systemd-user-unit-dir')
endif
Index: pipewire-0.3.59/src/gst/meson.build
Index: pipewire-0.3.60/src/gst/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/gst/meson.build
+++ pipewire-0.3.59/src/gst/meson.build
--- pipewire-0.3.60.orig/src/gst/meson.build
+++ pipewire-0.3.60/src/gst/meson.build
@@ -8,7 +8,7 @@ pipewire_gst_sources = [
'gstpipewiresrc.c',
]
@ -517,10 +531,10 @@ Index: pipewire-0.3.59/src/gst/meson.build
pipewire_gst_sources += [ 'gstpipewiredeviceprovider.c' ]
endif
Index: pipewire-0.3.59/src/meson.build
Index: pipewire-0.3.60/src/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/meson.build
+++ pipewire-0.3.59/src/meson.build
--- pipewire-0.3.60.orig/src/meson.build
+++ pipewire-0.3.60/src/meson.build
@@ -3,10 +3,10 @@ subdir('pipewire')
subdir('daemon')
subdir('tools')
@ -534,11 +548,11 @@ Index: pipewire-0.3.59/src/meson.build
subdir('tests')
endif
Index: pipewire-0.3.59/src/modules/meson.build
Index: pipewire-0.3.60/src/modules/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/modules/meson.build
+++ pipewire-0.3.59/src/modules/meson.build
@@ -386,9 +386,9 @@ test('pw-test-protocol-native',
--- pipewire-0.3.60.orig/src/modules/meson.build
+++ pipewire-0.3.60/src/modules/meson.build
@@ -390,9 +390,9 @@ test('pw-test-protocol-native',
install_dir : installed_tests_execdir,
),
env : [
@ -551,7 +565,7 @@ Index: pipewire-0.3.59/src/modules/meson.build
]
)
@@ -527,8 +527,11 @@ pipewire_module_fallback_sink = shared_l
@@ -549,8 +549,11 @@ pipewire_module_fallback_sink = shared_l
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
)
@ -564,10 +578,10 @@ Index: pipewire-0.3.59/src/modules/meson.build
pipewire_module_avb = shared_library('pipewire-module-avb',
[ 'module-avb.c',
'module-avb/avb.c',
Index: pipewire-0.3.59/src/tests/meson.build
Index: pipewire-0.3.60/src/tests/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/tests/meson.build
+++ pipewire-0.3.59/src/tests/meson.build
--- pipewire-0.3.60.orig/src/tests/meson.build
+++ pipewire-0.3.60/src/tests/meson.build
@@ -14,9 +14,9 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir),
@ -581,10 +595,10 @@ Index: pipewire-0.3.59/src/tests/meson.build
])
if installed_tests_enabled
Index: pipewire-0.3.59/src/tools/meson.build
Index: pipewire-0.3.60/src/tools/meson.build
===================================================================
--- pipewire-0.3.59.orig/src/tools/meson.build
+++ pipewire-0.3.59/src/tools/meson.build
--- pipewire-0.3.60.orig/src/tools/meson.build
+++ pipewire-0.3.60/src/tools/meson.build
@@ -32,7 +32,7 @@ if ncurses_dep.found()
endif
@ -594,10 +608,10 @@ Index: pipewire-0.3.59/src/tools/meson.build
build_pw_cat = true
pwcat_sources = [
Index: pipewire-0.3.59/test/meson.build
Index: pipewire-0.3.60/test/meson.build
===================================================================
--- pipewire-0.3.59.orig/test/meson.build
+++ pipewire-0.3.59/test/meson.build
--- pipewire-0.3.60.orig/test/meson.build
+++ pipewire-0.3.60/test/meson.build
@@ -14,8 +14,8 @@ pwtest_deps = [
]