Accepting request 1039108 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1039108
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=68
This commit is contained in:
Dominique Leuenberger 2022-12-01 15:58:16 +00:00 committed by Git OBS Bridge
commit 47da2af423
12 changed files with 188 additions and 305 deletions

View File

@ -1,34 +0,0 @@
From bf3516ba0496b644b3944b114253f23964178897 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Tue, 15 Nov 2022 15:40:47 +0100
Subject: [PATCH] audioadapter: perform setup again after a PortConfig
After the ports are reconfigured, we need to perform the setup again so
that buffers and processing can happen with the right settings.
This fixes an issue when autoswitching between A2DP and HFP with
bluetooth headsets when there is also a stereo capture device available.
The input stream of the browser is quickly reconfigured between stereo
and mono with only a Pause command in between, clearing the setup state
is enough to redo the setup when going back to Playing.
Fixes #2764
---
spa/plugins/audioconvert/audioconvert.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c
index 6c7144d38..7fe62228f 100644
--- a/spa/plugins/audioconvert/audioconvert.c
+++ b/spa/plugins/audioconvert/audioconvert.c
@@ -979,6 +979,7 @@ static int reconfigure_mode(struct impl *this, enum spa_param_port_config_mode m
}
this->monitor = monitor;
+ this->setup = false;
dir->control = control;
dir->have_profile = true;
dir->mode = mode;
--
GitLab

View File

@ -1,36 +0,0 @@
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,24 +0,0 @@
From 086ad336ad1e29c6260251e287de8994397a7dc7 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Tue, 15 Nov 2022 16:29:46 +0100
Subject: [PATCH] audioconvert: redo setup when format changes
---
spa/plugins/audioconvert/audioconvert.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c
index 7fe62228f..ba2ea4178 100644
--- a/spa/plugins/audioconvert/audioconvert.c
+++ b/spa/plugins/audioconvert/audioconvert.c
@@ -1989,6 +1989,7 @@ static int port_set_format(void *object,
}
this->dir[direction].format = info;
this->dir[direction].have_format = true;
+ this->setup = false;
}
port->format = info;
port->have_format = true;
--
GitLab

View File

@ -1,47 +0,0 @@
From 50a24ac69e491512b7ada0690be5973d5bffa024 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Tue, 15 Nov 2022 16:30:26 +0100
Subject: [PATCH] acp: do probing in 44100 Hz again
Some devices don't seem to work when probed in 48000 so bring it back
to 44100 until we figure out what is going on.
Fixes #2718
---
spa/plugins/alsa/acp/acp.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/spa/plugins/alsa/acp/acp.c b/spa/plugins/alsa/acp/acp.c
index c49c9e088..4bbe5ee92 100644
--- a/spa/plugins/alsa/acp/acp.c
+++ b/spa/plugins/alsa/acp/acp.c
@@ -34,6 +34,8 @@ void *_acp_log_data;
struct spa_i18n *acp_i18n;
+#define DEFAULT_RATE 44100
+
#define VOLUME_ACCURACY (PA_VOLUME_NORM/100) /* don't require volume adjustments to be perfectly correct. don't necessarily extend granularity in software unless the differences get greater than this level */
static const uint32_t channel_table[PA_CHANNEL_POSITION_MAX] = {
@@ -312,7 +314,7 @@ static int add_pro_profile(pa_card *impl, uint32_t index)
snd_pcm_uframes_t try_period_size, try_buffer_size;
ss.format = PA_SAMPLE_S32LE;
- ss.rate = 48000;
+ ss.rate = DEFAULT_RATE;
ss.channels = 64;
ap = pa_xnew0(pa_alsa_profile, 1);
@@ -1571,7 +1573,7 @@ struct acp_card *acp_card_new(uint32_t index, const struct acp_dict *props)
}
impl->ucm.default_sample_spec.format = PA_SAMPLE_S16NE;
- impl->ucm.default_sample_spec.rate = 48000;
+ impl->ucm.default_sample_spec.rate = DEFAULT_RATE;
impl->ucm.default_sample_spec.channels = 2;
pa_channel_map_init_extend(&impl->ucm.default_channel_map,
impl->ucm.default_sample_spec.channels, PA_CHANNEL_MAP_ALSA);
--
GitLab

View File

@ -1,30 +0,0 @@
From b46d8a8c921a8da6883610ad4b68da95bf59b59e Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Wed, 16 Nov 2022 20:45:38 +0100
Subject: [PATCH] alsa: force playback start when buffer is full
When we try to play data but the ringbuffer is full, we need to start
the device or else we will stay in this situation forever and stay
silent.
Fixes #2830
---
spa/plugins/alsa/alsa-pcm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spa/plugins/alsa/alsa-pcm.c b/spa/plugins/alsa/alsa-pcm.c
index fed56e7bb..5e0a60b37 100644
--- a/spa/plugins/alsa/alsa-pcm.c
+++ b/spa/plugins/alsa/alsa-pcm.c
@@ -2128,7 +2128,7 @@ again:
state->sample_count += total_written;
- if (SPA_UNLIKELY(!state->alsa_started && total_written > 0))
+ if (SPA_UNLIKELY(!state->alsa_started && (total_written > 0 || frames == 0)))
do_start(state);
return 0;
--
GitLab

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.60</param>
<param name="revision">refs/tags/0.3.61</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:97bd5beb4c7b1e62361b4bca62b39f252039e1bcc58dded0d1094145b6c65970
size 11512333

3
pipewire-0.3.61.obscpio Normal file
View File

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

View File

@ -1,3 +1,74 @@
-------------------------------------------------------------------
Thu Nov 24 22:05:43 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 0.3.61:
* Highlights
- Fix a bug in audioadapter that could cause crashes when
switching bluetooth profiles.
- Fix sound in QEMU, deadbeef and openal again.
- libcamera plugin fixes, dynamic add and remove should now
work with the next wireplumber version.
- Fix a regression in pw-midiplay where the first buffer would
not play and some events would be missing.
- The network module now doesn't export other network sources
anymore.
- pulse-server now detects clients that keep underrunning for a
long time and will pause them to save power.
- Many more bugfixes and improvements.
* PipeWire
- Optimise away some useless graph recalculations.
- Increase alternative sample rates from 16 to 32.
- Silence some module loading errors when the error can be
ignored.
- Fix initial buffer requested size for pw-stream when
operating in async mode. This also indirectly fixes the first
buffer in pw-midiplay.
* Modules
- Set the network property on pulse-tunnel streams so that they
are not exported anymore.
- Filter-chain has optimized mix functions now.
* SPA
- Handle some errors in libcamera better.
- Fix libcamera remove events. Fix the id allocation for
devices.
- Fix a bug in audioadapter where it would not renegotiate
after a port reconfiguration, leading to crashes, especially
when automatically switching profiles in bluetooth.
- Do ALSA probing in 44100Hz again. Some devices seem to fail
otherwise for some unknown reason.
- Force playback start when the ALSA buffer is full. This fixes
sound in QEMU.
- Support Digital 5.1 AC3 for Asus Xonar SE.
- Improve format renegotiation in audioadapter. This makes the
ALSA plugin work again for deadbeef.
- Fix latency reporting on adapter DSP ports.
* pulse-server
- Fix a bug where openal based applications would hang.
- Improve zeroconf publish. Only publish on the address of the
first running server. This avoids duplicate entries for IPv4
and IPv6.
Add support for republish entries when new servers are
started.
- Add a pulse.idle.timeout option (default to 5 seconds) to
pause streams that have been underrunning for this amount of
time. Badly behaving clients will then not keep the graph and
device busy so that devices can be suspended to save battery.
This should give better default behaviour with
speech-dispatcher.
* JACK
- Add an option to configure the filter character.
- Fix connect_callbacks. It was only called once for output
ports.
- Add option to set node.passive on jack clients. Make some
quirks for qsynth to make it suspend and fade out better.
- Rebase reduce-meson-dependency.patch.
- Drop patches already included upstream:
* 0001-audioadapter-perform-setup-again-after-a-PortConfig.patch
* 0001-pulse-server-also-advance-read-pointer-in-underrun.patch
* 0002-audioconvert-redo-setup-when-format-changes.patch
* 0003-acp-do-probing-in-44100Hz-again.patch
* 0004-alsa-force-playback-start-when-buffer-is-full.patch
-------------------------------------------------------------------
Thu Nov 17 07:47:37 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: pipewire
version: 0.3.60
mtime: 1668071248
commit: 38382d002d0905d60a964fc84dcaf4f8b507a473
version: 0.3.61
mtime: 1669280279
commit: f038e3f23824f9319daaa9f9a31600fc6df49a39

View File

@ -54,7 +54,7 @@
%bcond_with aptx
Name: pipewire
Version: 0.3.60
Version: 0.3.61
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: MIT
@ -64,16 +64,6 @@ Source0: %{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-OPENSUSE reduce-meson-dependency.patch
Patch0: reduce-meson-dependency.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
# PATCH-FIX-UPSTREAM 0001-audioadapter-perform-setup-again-after-a-PortConfig.patch
Patch2: 0001-audioadapter-perform-setup-again-after-a-PortConfig.patch
# PATCH-FIX-UPSTREAM 0002-audioconvert-redo-setup-when-format-changes.patch
Patch3: 0002-audioconvert-redo-setup-when-format-changes.patch
# PATCH-FIX-UPSTREAM 0003-acp-do-probing-in-44100Hz-again.patch
Patch4: 0003-acp-do-probing-in-44100Hz-again.patch
# PATCH-FIX-UPSTREAM 0004-alsa-force-playback-start-when-buffer-is-full.patch
Patch5: 0004-alsa-force-playback-start-when-buffer-is-full.patch
BuildRequires: docutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -346,11 +336,6 @@ This package provides a PulseAudio implementation based on PipeWire
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300
%patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
%if %{pkg_vcmp gcc < 8}

View File

@ -1,7 +1,7 @@
Index: pipewire-0.3.60/doc/meson.build
Index: pipewire-0.3.61/doc/meson.build
===================================================================
--- pipewire-0.3.60.orig/doc/meson.build
+++ pipewire-0.3.60/doc/meson.build
--- pipewire-0.3.61.orig/doc/meson.build
+++ pipewire-0.3.61/doc/meson.build
@@ -1,8 +1,8 @@
doxyfile_conf = configuration_data()
doxyfile_conf.set('PACKAGE_NAME', meson.project_name())
@ -102,26 +102,26 @@ Index: pipewire-0.3.60/doc/meson.build
doxyfile = configure_file(input: 'Doxyfile.in',
output: 'Doxyfile',
Index: pipewire-0.3.60/man/meson.build
Index: pipewire-0.3.61/man/meson.build
===================================================================
--- pipewire-0.3.60.orig/man/meson.build
+++ pipewire-0.3.60/man/meson.build
--- pipewire-0.3.61.orig/man/meson.build
+++ pipewire-0.3.61/man/meson.build
@@ -21,7 +21,7 @@ manpages = [
'pw-top.1.rst.in',
]
-if get_option('pipewire-jack').allowed()
+if (get_option('pipewire-jack').enabled() or get_option('pipewire-jack').auto())
+if not get_option('pipewire-jack').disabled()
manpages += 'pw-jack.1.rst.in'
endif
Index: pipewire-0.3.60/meson.build
Index: pipewire-0.3.61/meson.build
===================================================================
--- pipewire-0.3.60.orig/meson.build
+++ pipewire-0.3.60/meson.build
--- pipewire-0.3.61.orig/meson.build
+++ pipewire-0.3.61/meson.build
@@ -1,7 +1,7 @@
project('pipewire', ['c' ],
version : '0.3.60',
version : '0.3.61',
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
- meson_version : '>= 0.59.0',
+ meson_version : '>= 0.54.0',
@ -144,7 +144,7 @@ Index: pipewire-0.3.60/meson.build
summary({'gstreamer-device-provider': gst_dp_found}, bool_yn: true, section: 'Backend')
-cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', get_option('gstreamer-device-provider').allowed())
+cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', get_option('gstreamer-device-provider').enabled() or get_option('gstreamer-device-provider').auto())
+cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', (not get_option('gstreamer-device-provider').disabled()))
webrtc_dep = dependency('webrtc-audio-processing',
version : ['>= 0.2', '< 1.0'],
@ -153,11 +153,11 @@ Index: pipewire-0.3.60/meson.build
installed_tests_metadir = pipewire_datadir / 'installed-tests' / pipewire_name
installed_tests_execdir = pipewire_libexecdir / 'installed-tests' / pipewire_name
-installed_tests_enabled = get_option('installed_tests').allowed()
+installed_tests_enabled = (get_option('installed_tests').enabled() or get_option('installed_tests').auto())
+installed_tests_enabled = (not get_option('installed_tests').disabled())
installed_tests_template = files('template.test.in')
-if get_option('tests').allowed()
+if (get_option('tests').enabled() or get_option('tests').auto())
+if not get_option('tests').disabled()
gstack = find_program('gstack', required : false)
cdata.set('HAVE_GSTACK', gstack.found())
endif
@ -166,7 +166,7 @@ Index: pipewire-0.3.60/meson.build
subdir('src')
-if get_option('tests').allowed()
+if (get_option('tests').enabled() or get_option('tests').auto())
+if not get_option('tests').disabled()
subdir('test')
endif
@ -174,11 +174,11 @@ Index: pipewire-0.3.60/meson.build
configuration : cdata)
-if get_option('pipewire-jack').allowed()
+if (get_option('pipewire-jack').enabled() or get_option('pipewire-jack').auto())
+if not get_option('pipewire-jack').disabled()
subdir('pipewire-jack')
endif
-if get_option('pipewire-v4l2').allowed()
+if (get_option('pipewire-v4l2').enabled() or get_option('pipewire-v4l2').auto())
+if not get_option('pipewire-v4l2').disabled()
subdir('pipewire-v4l2')
endif
@ -187,7 +187,7 @@ Index: pipewire-0.3.60/meson.build
generate_manpages = false
-if get_option('man').allowed()
+if (get_option('man').enabled() or get_option('man').auto())
+if not get_option('man').disabled()
rst2man = find_program('rst2man', required: false)
if not rst2man.found()
rst2man = find_program('rst2man.py', required: get_option('man'))
@ -227,41 +227,40 @@ Index: pipewire-0.3.60/meson.build
+if meson.version().version_compare('>=0.58.0')
+ meson.add_devenv(devenv)
+endif
Index: pipewire-0.3.60/spa/meson.build
Index: pipewire-0.3.61/spa/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/meson.build
+++ pipewire-0.3.60/spa/meson.build
--- pipewire-0.3.61.orig/spa/meson.build
+++ pipewire-0.3.61/spa/meson.build
@@ -31,7 +31,7 @@ pkgconfig.generate(filebase : 'lib@0@'.f
subdir('include')
-if get_option('spa-plugins').allowed()
+if (get_option('spa-plugins').enabled() or get_option('spa-plugins').auto())
+if not get_option('spa-plugins').disabled()
udevrulesdir = get_option('udevrulesdir')
if udevrulesdir == ''
# absolute path, otherwise meson prepends the prefix
@@ -66,7 +66,8 @@ if get_option('spa-plugins').allowed()
@@ -66,7 +66,7 @@ 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())
+ if (not get_option('bluez5-backend-hsp-native').disabled()) or (not get_option('bluez5-backend-hfp-native').disabled())
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
@@ -90,6 +90,6 @@ endif
subdir('tools')
subdir('tests')
-if get_option('examples').allowed()
+if (get_option('examples').enabled() or get_option('examples').auto())
+if not get_option('examples').disabled()
subdir('examples')
endif
Index: pipewire-0.3.60/spa/plugins/audioconvert/meson.build
Index: pipewire-0.3.61/spa/plugins/audioconvert/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/plugins/audioconvert/meson.build
+++ pipewire-0.3.60/spa/plugins/audioconvert/meson.build
--- pipewire-0.3.61.orig/spa/plugins/audioconvert/meson.build
+++ pipewire-0.3.61/spa/plugins/audioconvert/meson.build
@@ -148,7 +148,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audioconvert'),
@ -280,10 +279,10 @@ Index: pipewire-0.3.60/spa/plugins/audioconvert/meson.build
])
if installed_tests_enabled
Index: pipewire-0.3.60/spa/plugins/audiomixer/meson.build
Index: pipewire-0.3.61/spa/plugins/audiomixer/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/plugins/audiomixer/meson.build
+++ pipewire-0.3.60/spa/plugins/audiomixer/meson.build
--- pipewire-0.3.61.orig/spa/plugins/audiomixer/meson.build
+++ pipewire-0.3.61/spa/plugins/audiomixer/meson.build
@@ -81,7 +81,7 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'audiomixer'),
@ -302,10 +301,10 @@ Index: pipewire-0.3.60/spa/plugins/audiomixer/meson.build
])
if installed_tests_enabled
Index: pipewire-0.3.60/spa/plugins/bluez5/meson.build
Index: pipewire-0.3.61/spa/plugins/bluez5/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/plugins/bluez5/meson.build
+++ pipewire-0.3.60/spa/plugins/bluez5/meson.build
--- pipewire-0.3.61.orig/spa/plugins/bluez5/meson.build
+++ pipewire-0.3.61/spa/plugins/bluez5/meson.build
@@ -6,13 +6,13 @@ foreach dep: bluez5_deps
endforeach
@ -317,96 +316,95 @@ Index: pipewire-0.3.60/spa/plugins/bluez5/meson.build
-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()))
+ (not get_option('bluez5-backend-hsp-native').disabled()) or
+ (not get_option('bluez5-backend-hfp-native').disabled()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_HSP_NATIVE', (not get_option('bluez5-backend-hsp-native').disabled()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_HFP_NATIVE', (not get_option('bluez5-backend-hfp-native').disabled()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_NATIVE_MM', (not get_option('bluez5-backend-native-mm').disabled()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_OFONO', (not get_option('bluez5-backend-ofono').disabled()))
+cdata.set('HAVE_BLUEZ_5_BACKEND_HSPHFPD', (not get_option('bluez5-backend-hsphfpd').disabled()))
cdata.set('HAVE_BLUEZ_5_HCI', dependency('bluez', version: '< 6', required: false).found())
bluez5_sources = [
@@ -35,7 +35,8 @@ bluez5_data = ['bluez-hardware.conf']
@@ -35,7 +35,7 @@ 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 (not get_option('bluez5-backend-hsp-native').disabled()) or (not get_option('bluez5-backend-hfp-native').disabled())
if libusb_dep.found()
bluez5_deps += libusb_dep
endif
@@ -46,11 +47,11 @@ if get_option('bluez5-backend-hsp-native
@@ -46,11 +46,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 not get_option('bluez5-backend-ofono').disabled()
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 not get_option('bluez5-backend-hsphfpd').disabled()
bluez5_sources += ['backend-hsphfpd.c']
endif
@@ -115,7 +116,7 @@ if ldac_dep.found()
@@ -115,7 +115,7 @@ if ldac_dep.found()
install_dir : spa_plugindir / 'bluez5')
endif
-if get_option('bluez5-codec-lc3plus').allowed() and lc3plus_dep.found()
+if (get_option('bluez5-codec-lc3plus').enabled() or get_option('bluez5-codec-lc3plus').auto()) and lc3plus_dep.found()
+if (not get_option('bluez5-codec-lc3plus').disabled()) and lc3plus_dep.found()
bluez_codec_lc3plus = shared_library('spa-codec-bluez5-lc3plus',
[ 'a2dp-codec-lc3plus.c', 'media-codecs.c' ],
include_directories : [ configinc ],
@@ -125,7 +126,7 @@ if get_option('bluez5-codec-lc3plus').al
@@ -125,7 +125,7 @@ if get_option('bluez5-codec-lc3plus').al
install_dir : spa_plugindir / 'bluez5')
endif
-if get_option('bluez5-codec-opus').allowed() and opus_dep.found()
+if (get_option('bluez5-codec-opus').enabled() or get_option('bluez5-codec-opus').auto()) and opus_dep.found()
+if (not get_option('bluez5-codec-opus').disabled()) and opus_dep.found()
opus_args = codec_args
opus_dep = [ opus_dep ]
bluez_codec_opus = shared_library('spa-codec-bluez5-opus',
@@ -137,7 +138,7 @@ if get_option('bluez5-codec-opus').allow
@@ -137,7 +137,7 @@ if get_option('bluez5-codec-opus').allow
install_dir : spa_plugindir / 'bluez5')
endif
-if get_option('bluez5-codec-lc3').allowed() and lc3_dep.found()
+if (get_option('bluez5-codec-lc3').enabled() or get_option('bluez5-codec-lc3').auto()) and lc3_dep.found()
+if (not get_option('bluez5-codec-lc3').disabled()) and lc3_dep.found()
bluez_codec_lc3 = shared_library('spa-codec-bluez5-lc3',
[ 'bap-codec-lc3.c', 'media-codecs.c' ],
include_directories : [ configinc ],
Index: pipewire-0.3.60/spa/plugins/meson.build
Index: pipewire-0.3.61/spa/plugins/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/plugins/meson.build
+++ pipewire-0.3.60/spa/plugins/meson.build
--- pipewire-0.3.61.orig/spa/plugins/meson.build
+++ pipewire-0.3.61/spa/plugins/meson.build
@@ -1,19 +1,22 @@
if alsa_dep.found()
subdir('alsa')
endif
-if get_option('avb').require(host_machine.system() == 'linux', error_message: 'AVB support is only available on Linux').allowed()
+if (get_option('avb').enabled() or get_option('avb').auto())
+if not get_option('avb').disabled()
+ if (host_machine.system() != 'linux')
+ error('AVB support is only available on Linux')
+ endif
subdir('avb')
endif
-if get_option('audioconvert').allowed()
+if (get_option('audioconvert').enabled() or get_option('audioconvert').auto())
+if not get_option('audioconvert').disabled()
subdir('audioconvert')
endif
-if get_option('audiomixer').allowed()
+if (get_option('audiomixer').enabled() or get_option('audiomixer').auto())
+if not get_option('audiomixer').disabled()
subdir('audiomixer')
endif
-if get_option('control').allowed()
+if (get_option('control').enabled() or get_option('control').auto())
+if not get_option('control').disabled()
subdir('control')
endif
-if get_option('audiotestsrc').allowed()
+if (get_option('audiotestsrc').enabled() or get_option('audiotestsrc').auto())
+if not get_option('audiotestsrc').disabled()
subdir('audiotestsrc')
endif
if bluez_dep.found()
@ -415,43 +413,43 @@ Index: pipewire-0.3.60/spa/plugins/meson.build
subdir('jack')
endif
-if get_option('support').allowed()
+if (get_option('support').enabled() or get_option('support').auto())
+if not get_option('support').disabled()
subdir('support')
endif
-if get_option('test').allowed()
+if (get_option('test').enabled() or get_option('test').auto())
+if not get_option('test').disabled()
subdir('test')
endif
-if get_option('videoconvert').allowed()
+if (get_option('videoconvert').enabled() or get_option('videoconvert').auto())
+if not get_option('videoconvert').disabled()
subdir('videoconvert')
endif
-if get_option('videotestsrc').allowed()
+if (get_option('videotestsrc').enabled() or get_option('videotestsrc').auto())
+if not get_option('videotestsrc').disabled()
subdir('videotestsrc')
endif
-if get_option('volume').allowed()
+if (get_option('volume').enabled() or get_option('volume').auto())
+if not get_option('volume').disabled()
subdir('volume')
endif
if vulkan_headers
Index: pipewire-0.3.60/spa/plugins/support/meson.build
Index: pipewire-0.3.61/spa/plugins/support/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/plugins/support/meson.build
+++ pipewire-0.3.60/spa/plugins/support/meson.build
--- pipewire-0.3.61.orig/spa/plugins/support/meson.build
+++ pipewire-0.3.61/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)
-if get_option('evl').allowed()
+if (get_option('evl').enabled() or get_option('evl').auto())
+if not get_option('evl').disabled()
evl_inc = include_directories('/usr/evl/include')
evl_lib = cc.find_library('evl',
dirs: ['/usr/evl/lib/'],
Index: pipewire-0.3.60/spa/tests/meson.build
Index: pipewire-0.3.61/spa/tests/meson.build
===================================================================
--- pipewire-0.3.60.orig/spa/tests/meson.build
+++ pipewire-0.3.60/spa/tests/meson.build
--- pipewire-0.3.61.orig/spa/tests/meson.build
+++ pipewire-0.3.61/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()
@ -470,10 +468,10 @@ Index: pipewire-0.3.60/spa/tests/meson.build
]
)
Index: pipewire-0.3.60/src/daemon/meson.build
Index: pipewire-0.3.61/src/daemon/meson.build
===================================================================
--- pipewire-0.3.60.orig/src/daemon/meson.build
+++ pipewire-0.3.60/src/daemon/meson.build
--- pipewire-0.3.61.orig/src/daemon/meson.build
+++ pipewire-0.3.61/src/daemon/meson.build
@@ -18,9 +18,9 @@ conf_config.set('pulse_comment', '#')
conf_config_uninstalled = conf_config
@ -495,64 +493,64 @@ Index: pipewire-0.3.60/src/daemon/meson.build
)
#desktop_file = i18n.merge_file(
Index: pipewire-0.3.60/src/daemon/systemd/meson.build
Index: pipewire-0.3.61/src/daemon/systemd/meson.build
===================================================================
--- pipewire-0.3.60.orig/src/daemon/systemd/meson.build
+++ pipewire-0.3.60/src/daemon/systemd/meson.build
--- pipewire-0.3.61.orig/src/daemon/systemd/meson.build
+++ pipewire-0.3.61/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())
+if not get_option('systemd-system-service').disabled()
subdir('system')
endif
-if get_option('systemd-user-service').allowed()
+if (get_option('systemd-user-service').enabled() or get_option('systemd-user-service').auto())
+if not get_option('systemd-user-service').disabled()
subdir('user')
endif
Index: pipewire-0.3.60/src/daemon/systemd/user/meson.build
Index: pipewire-0.3.61/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
--- pipewire-0.3.61.orig/src/daemon/systemd/user/meson.build
+++ pipewire-0.3.61/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.60/src/gst/meson.build
Index: pipewire-0.3.61/src/gst/meson.build
===================================================================
--- pipewire-0.3.60.orig/src/gst/meson.build
+++ pipewire-0.3.60/src/gst/meson.build
--- pipewire-0.3.61.orig/src/gst/meson.build
+++ pipewire-0.3.61/src/gst/meson.build
@@ -8,7 +8,7 @@ pipewire_gst_sources = [
'gstpipewiresrc.c',
]
-if get_option('gstreamer-device-provider').allowed()
+if (get_option('gstreamer-device-provider').enabled() or get_option('gstreamer-device-provider').auto())
+if not get_option('gstreamer-device-provider').disabled()
pipewire_gst_sources += [ 'gstpipewiredeviceprovider.c' ]
endif
Index: pipewire-0.3.60/src/meson.build
Index: pipewire-0.3.61/src/meson.build
===================================================================
--- pipewire-0.3.60.orig/src/meson.build
+++ pipewire-0.3.60/src/meson.build
--- pipewire-0.3.61.orig/src/meson.build
+++ pipewire-0.3.61/src/meson.build
@@ -3,10 +3,10 @@ subdir('pipewire')
subdir('daemon')
subdir('tools')
subdir('modules')
-if get_option('examples').allowed()
+if (get_option('examples').enabled() or get_option('examples').auto())
+if not get_option('examples').disabled()
subdir('examples')
endif
-if get_option('tests').allowed()
+if (get_option('tests').enabled() or get_option('tests').auto())
+if not get_option('tests').disabled()
subdir('tests')
endif
Index: pipewire-0.3.60/src/modules/meson.build
Index: pipewire-0.3.61/src/modules/meson.build
===================================================================
--- 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',
--- pipewire-0.3.61.orig/src/modules/meson.build
+++ pipewire-0.3.61/src/modules/meson.build
@@ -393,9 +393,9 @@ test('pw-test-protocol-native',
install_dir : installed_tests_execdir,
),
env : [
@ -565,12 +563,12 @@ Index: pipewire-0.3.60/src/modules/meson.build
]
)
@@ -549,8 +549,11 @@ pipewire_module_fallback_sink = shared_l
@@ -552,8 +552,11 @@ pipewire_module_fallback_sink = shared_l
dependencies : [mathlib, dl_lib, rt_lib, pipewire_dep],
)
-build_module_avb = get_option('avb').require(host_machine.system() == 'linux', error_message: 'AVB support is only available on Linux').allowed()
+build_module_avb = (get_option('avb').enabled() or get_option('avb').auto())
+build_module_avb = (not get_option('avb').disabled())
if build_module_avb
+if (host_machine.system() != 'linux')
+ error('AVB support is only available on Linux')
@ -578,10 +576,10 @@ Index: pipewire-0.3.60/src/modules/meson.build
pipewire_module_avb = shared_library('pipewire-module-avb',
[ 'module-avb.c',
'module-avb/avb.c',
Index: pipewire-0.3.60/src/tests/meson.build
Index: pipewire-0.3.61/src/tests/meson.build
===================================================================
--- pipewire-0.3.60.orig/src/tests/meson.build
+++ pipewire-0.3.60/src/tests/meson.build
--- pipewire-0.3.61.orig/src/tests/meson.build
+++ pipewire-0.3.61/src/tests/meson.build
@@ -14,9 +14,9 @@ foreach a : test_apps
install : installed_tests_enabled,
install_dir : installed_tests_execdir),
@ -595,23 +593,23 @@ Index: pipewire-0.3.60/src/tests/meson.build
])
if installed_tests_enabled
Index: pipewire-0.3.60/src/tools/meson.build
Index: pipewire-0.3.61/src/tools/meson.build
===================================================================
--- pipewire-0.3.60.orig/src/tools/meson.build
+++ pipewire-0.3.60/src/tools/meson.build
--- pipewire-0.3.61.orig/src/tools/meson.build
+++ pipewire-0.3.61/src/tools/meson.build
@@ -32,7 +32,7 @@ if ncurses_dep.found()
endif
build_pw_cat = false
-if get_option('pw-cat').allowed() and sndfile_dep.found()
+if (get_option('pw-cat').enabled() or get_option('pw-cat').auto()) and sndfile_dep.found()
+if (not get_option('pw-cat').disabled()) and sndfile_dep.found()
build_pw_cat = true
pwcat_sources = [
Index: pipewire-0.3.60/test/meson.build
Index: pipewire-0.3.61/test/meson.build
===================================================================
--- pipewire-0.3.60.orig/test/meson.build
+++ pipewire-0.3.60/test/meson.build
--- pipewire-0.3.61.orig/test/meson.build
+++ pipewire-0.3.61/test/meson.build
@@ -14,8 +14,8 @@ pwtest_deps = [
]