Accepting request 1058208 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1058208 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=73
This commit is contained in:
commit
426ba472c9
@ -1,29 +0,0 @@
|
||||
From 89ac6b353521fb9a6d6eb6bb74724c4fa968f75c Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Sat, 17 Dec 2022 18:17:33 +0100
|
||||
Subject: [PATCH] =?UTF-8?q?alsa:=20don=C2=B4t=20set=20-1=20as=20node.targe?=
|
||||
=?UTF-8?q?t?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Leave the target unset when -1, just like what pw-stream does.
|
||||
|
||||
See #2893
|
||||
---
|
||||
pipewire-alsa/alsa-plugins/pcm_pipewire.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pipewire-alsa/alsa-plugins/pcm_pipewire.c b/pipewire-alsa/alsa-plugins/pcm_pipewire.c
|
||||
index 37a907b24..96b57da78 100644
|
||||
--- a/pipewire-alsa/alsa-plugins/pcm_pipewire.c
|
||||
+++ b/pipewire-alsa/alsa-plugins/pcm_pipewire.c
|
||||
@@ -579,7 +579,7 @@ static int snd_pcm_pipewire_prepare(snd_pcm_ioplug_t *io)
|
||||
pw_properties_setf(props, PW_KEY_NODE_LATENCY, "%lu/%u", pw->min_avail, io->rate);
|
||||
if (pw_properties_get(props, PW_KEY_NODE_RATE) == NULL)
|
||||
pw_properties_setf(props, PW_KEY_NODE_RATE, "1/%u", io->rate);
|
||||
- if (pw->target != NULL &&
|
||||
+ if (pw->target != NULL && !spa_streq(pw->target, "-1") &&
|
||||
pw_properties_get(props, PW_KEY_NODE_TARGET) == NULL)
|
||||
pw_properties_setf(props, PW_KEY_NODE_TARGET, "%s", pw->target);
|
||||
|
@ -1,24 +0,0 @@
|
||||
From ed463248721cc03c826f80dac9667b238c844e03 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
|
||||
Date: Sun, 1 Jan 2023 02:00:36 +0000
|
||||
Subject: [PATCH] alsa: fix memory leak of properties
|
||||
|
||||
---
|
||||
pipewire-alsa/alsa-plugins/ctl_pipewire.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/pipewire-alsa/alsa-plugins/ctl_pipewire.c b/pipewire-alsa/alsa-plugins/ctl_pipewire.c
|
||||
index 71f02f90e..67bd2f432 100644
|
||||
--- a/pipewire-alsa/alsa-plugins/ctl_pipewire.c
|
||||
+++ b/pipewire-alsa/alsa-plugins/ctl_pipewire.c
|
||||
@@ -1083,6 +1083,7 @@ static void proxy_destroy(void *data)
|
||||
struct global *g = data;
|
||||
spa_list_remove(&g->link);
|
||||
g->proxy = NULL;
|
||||
+ pw_properties_free(g->props);
|
||||
}
|
||||
|
||||
static const struct pw_proxy_events proxy_events = {
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 860b8fc27ffbfd0a095e3fa4b0cd125d536283d3 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Thu, 29 Dec 2022 12:22:56 +0100
|
||||
Subject: [PATCH] modules: fix rate update
|
||||
|
||||
Setting the rate with the PROP_rate would actually result in a rate
|
||||
adjustment of 1.0f / rate, so do the same here.
|
||||
|
||||
See #2891
|
||||
---
|
||||
src/modules/module-pulse-tunnel.c | 2 +-
|
||||
src/modules/module-rtp-source.c | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/modules/module-pulse-tunnel.c b/src/modules/module-pulse-tunnel.c
|
||||
index 916400d22..be89a51b3 100644
|
||||
--- a/src/modules/module-pulse-tunnel.c
|
||||
+++ b/src/modules/module-pulse-tunnel.c
|
||||
@@ -270,7 +270,7 @@ static void update_rate(struct impl *impl, bool playback)
|
||||
impl->current_latency, impl->target_latency);
|
||||
|
||||
SPA_FLAG_SET(impl->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
|
||||
- impl->rate_match->rate = corr;
|
||||
+ impl->rate_match->rate = 1.0f / corr;
|
||||
}
|
||||
|
||||
static void playback_stream_process(void *d)
|
||||
diff --git a/src/modules/module-rtp-source.c b/src/modules/module-rtp-source.c
|
||||
index bc25cdc3d..6d1443e6c 100644
|
||||
--- a/src/modules/module-rtp-source.c
|
||||
+++ b/src/modules/module-rtp-source.c
|
||||
@@ -272,7 +272,7 @@ static void stream_process(void *data)
|
||||
|
||||
if (sess->rate_match) {
|
||||
SPA_FLAG_SET(sess->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE);
|
||||
- sess->rate_match->rate = corr;
|
||||
+ sess->rate_match->rate = 1.0f / corr;
|
||||
}
|
||||
}
|
||||
spa_ringbuffer_read_data(&sess->ring,
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,39 +0,0 @@
|
||||
From f7c49bbdde5f9f09270ac391990264a501761420 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Thu, 15 Dec 2022 13:12:47 +0100
|
||||
Subject: [PATCH] pulse-server: add channel-map in echo-cancel module
|
||||
|
||||
---
|
||||
.../module-protocol-pulse/modules/module-echo-cancel.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/modules/module-protocol-pulse/modules/module-echo-cancel.c b/src/modules/module-protocol-pulse/modules/module-echo-cancel.c
|
||||
index 47dfa75bb..72e0095b5 100644
|
||||
--- a/src/modules/module-protocol-pulse/modules/module-echo-cancel.c
|
||||
+++ b/src/modules/module-protocol-pulse/modules/module-echo-cancel.c
|
||||
@@ -70,6 +70,7 @@ static int module_echo_cancel_load(struct module *module)
|
||||
const char *str;
|
||||
char *args;
|
||||
size_t size;
|
||||
+ uint32_t i;
|
||||
|
||||
if ((f = open_memstream(&args, &size)) == NULL)
|
||||
return -errno;
|
||||
@@ -85,7 +86,13 @@ static int module_echo_cancel_load(struct module *module)
|
||||
fprintf(f, " audio.rate = %u", data->info.rate);
|
||||
if (data->info.channels != 0) {
|
||||
fprintf(f, " audio.channels = %u", data->info.channels);
|
||||
- /* TODO: convert channel positions to string */
|
||||
+ if (!(data->info.flags & SPA_AUDIO_FLAG_UNPOSITIONED)) {
|
||||
+ fprintf(f, " audio.position = [ ");
|
||||
+ for (i = 0; i < data->info.channels; i++)
|
||||
+ fprintf(f, "%s%s", i == 0 ? "" : ",",
|
||||
+ channel_id2name(data->info.position[i]));
|
||||
+ fprintf(f, " ]");
|
||||
+ }
|
||||
}
|
||||
fprintf(f, " source.props = {");
|
||||
pw_properties_serialize_dict(f, &data->source_props->dict, 0);
|
||||
--
|
||||
2.39.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From c7b3ef0d9ff16a1e69a299870860bebcb628e298 Mon Sep 17 00:00:00 2001
|
||||
From: Pauli Virtanen <pav@iki.fi>
|
||||
Date: Wed, 21 Dec 2022 12:54:52 +0200
|
||||
Subject: [PATCH] bluez5: backend-native: fix missing brace in CIND reply
|
||||
|
||||
It should look like ...,("battchg,(0-5)) not ...,"battchg",(0-5))
|
||||
---
|
||||
spa/plugins/bluez5/backend-native.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/spa/plugins/bluez5/backend-native.c b/spa/plugins/bluez5/backend-native.c
|
||||
index eed23f66e..ab543a621 100644
|
||||
--- a/spa/plugins/bluez5/backend-native.c
|
||||
+++ b/spa/plugins/bluez5/backend-native.c
|
||||
@@ -74,7 +74,7 @@ enum {
|
||||
HFP_AG_INITIAL_CODEC_SETUP_WAIT
|
||||
};
|
||||
|
||||
-#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),\"battchg\",(0-5))"
|
||||
+#define CIND_INDICATORS "(\"service\",(0-1)),(\"call\",(0-1)),(\"callsetup\",(0-3)),(\"callheld\",(0-2)),(\"signal\",(0-5)),(\"roam\",(0-1)),(\"battchg\",(0-5))"
|
||||
enum {
|
||||
CIND_SERVICE = 1,
|
||||
CIND_CALL,
|
||||
--
|
||||
2.39.0
|
||||
|
2
_service
2
_service
@ -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.63</param>
|
||||
<param name="revision">refs/tags/0.3.64</param>
|
||||
<param name="versionformat">@PARENT_TAG@</param>
|
||||
<!--
|
||||
<param name="revision">master</param>
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d79a10a9d418ef4ec4314e3e257f063990ad32970c708bfa1a28d403f1c244dc
|
||||
size 11569677
|
3
pipewire-0.3.64.obscpio
Normal file
3
pipewire-0.3.64.obscpio
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:638a82e07cf7f3717593dff16ff36b49adc5ff68937a08b6ddcee1551bb3ea10
|
||||
size 11599885
|
123
pipewire.changes
123
pipewire.changes
@ -1,3 +1,126 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 13 07:46:11 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Update to version 0.3.64:
|
||||
* Highlights
|
||||
- Clear old buffer memory on ports to fix some SIGBUS errors.
|
||||
- It is now possible to assign custom port names to the ports
|
||||
from an adapter. This feature is helpful to those who use a
|
||||
multichannel interface with long-term connections. This way
|
||||
they can label each port with its designation, such as an
|
||||
instrument name or anything else to be displayed in a
|
||||
patchbay or DAW.
|
||||
- Fix some issues with node suspend and quantum and rate
|
||||
calculations.
|
||||
- Fix some regressions in pulse-tunnel and RTP-source adaptive
|
||||
resampling that could cause synchronization problems.
|
||||
- UCM devices now also have a Pro Audio profile.
|
||||
- NODE_TARGET (with the object.id) is now deprecated, use
|
||||
TARGET_OBJECT (with the object.serial, which is not reused
|
||||
and can avoid races).
|
||||
* PipeWire
|
||||
- Clear all peer input port buffers when suspending. This fixes
|
||||
some SIGBUS errors when some plugins were using old memory.
|
||||
(#2914)
|
||||
- Fix a case where nodes that were not supposed to be
|
||||
suspended, were kept suspended on a rate change. (#2929)
|
||||
- Fix an error in the quantum and rate calculations that could
|
||||
cause nodes to run with wrong quantum and rates when multiple
|
||||
rates were allowed. (#2925)
|
||||
* Tools
|
||||
- pw-dump will now sort dictionaries to make it easier to
|
||||
compare different outputs.
|
||||
- Improve output of pw-reserve.
|
||||
- pw-loopback uses TARGET_OBJECT so you will need to use the
|
||||
serial id (or better the name) as the target instead of the
|
||||
object id.
|
||||
* modules
|
||||
- The filter-chain modules has seen some cleanups, refactoring
|
||||
and optimizations in the various DSP functions.
|
||||
- The ROC module now supports setting a custom samplerate.
|
||||
- ROC 0.2.X is now required.
|
||||
- The pulse tunnel and RTP source were not updating the rate
|
||||
field correctly which could cause synchronization problems.
|
||||
(#2891)
|
||||
- The filter-chain now supports an arbitrary number of control
|
||||
properties. (#2933)
|
||||
- It is now possible to assign custom port names to the ports
|
||||
from an adapter with the PW_KEY_NODE_CHANNELNAMES.
|
||||
- Support was added for capture and playback props in
|
||||
echo-cancel. (#2939)
|
||||
* SPA
|
||||
- The ACP code now has an option to set the probe samplerate.
|
||||
(#1599)
|
||||
- UCM devices now also have a Pro Audio profile.
|
||||
- Filtering of Step ranges is now implemented.
|
||||
* Pulse-Server
|
||||
- The channel-map is now set correctly on the echo-cancel
|
||||
module.
|
||||
- source_master and sink_master are now correctly handled in
|
||||
module echo-cancel.
|
||||
- Fix a regression in DRAIN where resuming after a DRAIN would
|
||||
fail. This caused problems for espeak. (#2928)
|
||||
- TARGET_OBJECT is now used to make it possible to use the
|
||||
indexes as a target.
|
||||
- ladspa-source and remap-source can now also link to monitors.
|
||||
* ALSA
|
||||
- The ALSA plugin now handles the target.object correctly when
|
||||
set to -1. (#2893)
|
||||
* V4L2
|
||||
- The v4l2 replacement library now also follows symlinks.
|
||||
- Support for getting and setting controls was added.
|
||||
- Support for G_PARM was added.
|
||||
- The environment variable PIPEWIRE_V4L2_TARGET can be used to
|
||||
force an application onto a specific camera.
|
||||
* Bluetooth
|
||||
- Fix compilation without ldac_abr.
|
||||
- Fix a missing brace in CIND reply. This could cause some
|
||||
devices to fail.
|
||||
- Fix configuration of the initial latency.
|
||||
* GStreamer
|
||||
- The device provider now supports setting an fd so that it can
|
||||
connect to PipeWire sessions from the portal.
|
||||
- DMABuf support was re-enabled in gstpipewiresrc.
|
||||
- Rebase reduce-meson-dependency.patch.
|
||||
- Remove patches from upstream
|
||||
* 0001-pulse-server-add-channel-map-in-echo-cancel-module.patch
|
||||
* 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch
|
||||
* 0001-alsa-dont-set--1-as-node.target.patch
|
||||
* 0001-modules-fix-rate-update.patch
|
||||
* 0001-alsa-fix-memory-leak-of-properties.patch
|
||||
* 0001-module-rt-fix-warning-when-xdg-desktop-portal-isnt-running.patch
|
||||
* 0001-midifile-error-won-invalid-track-size.patch
|
||||
* 0001-impl-node-move-2-state-variables-to-private.patch
|
||||
* 0001-context-rename-a-method.patch
|
||||
* 0002-impl-node-restore-running-state-after-reconfigure.patch
|
||||
* 0001-context-keep-per-node-quantum-and-rate-settings.patch
|
||||
* 0001-fix-use_buffers-checks.patch
|
||||
* 0001-pulse-server-clear-the-drained-state-correctly.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 11 09:44:52 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Add several patches from upstream to fix several issues
|
||||
(glfo#pipewire/pipewire#2925, glfo#pipewire/pipewire#2928,
|
||||
glfo#pipewire/pipewire#2929):
|
||||
* 0001-module-rt-fix-warning-when-xdg-desktop-portal-isnt-running.patch
|
||||
* 0001-midifile-error-won-invalid-track-size.patch
|
||||
* 0001-impl-node-move-2-state-variables-to-private.patch
|
||||
* 0001-context-rename-a-method.patch
|
||||
* 0002-impl-node-restore-running-state-after-reconfigure.patch
|
||||
* 0001-context-keep-per-node-quantum-and-rate-settings.patch
|
||||
* 0001-fix-use_buffers-checks.patch
|
||||
* 0001-pulse-server-clear-the-drained-state-correctly.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 5 20:07:10 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Disable ffmpeg support, only needed for pw-play and pw-record.
|
||||
Break a circular dependency with ffmpeg-5. Do this via disabling
|
||||
pkgconfig(libavcodec), pkgconfig(libavfilter) and
|
||||
pkgconfig(libavformat) BuildRequires as well as passing
|
||||
ffmpeg=disabled to meson.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 4 11:25:48 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
name: pipewire
|
||||
version: 0.3.63
|
||||
mtime: 1671094583
|
||||
commit: 5ff00f40b9d3ecfc38305edc27e9c2b01629802c
|
||||
version: 0.3.64
|
||||
mtime: 1673515864
|
||||
commit: bba452695eb673461c5cf626eec57728991eadf7
|
||||
|
@ -54,7 +54,7 @@
|
||||
%bcond_with aptx
|
||||
|
||||
Name: pipewire
|
||||
Version: 0.3.63
|
||||
Version: 0.3.64
|
||||
Release: 0
|
||||
Summary: A Multimedia Framework designed to be an audio and video server and more
|
||||
License: MIT
|
||||
@ -64,16 +64,7 @@ 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-add-channel-map-in-echo-cancel-module.patch
|
||||
Patch1: 0001-pulse-server-add-channel-map-in-echo-cancel-module.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-alsa-dont-set--1-as-node.target.patch
|
||||
Patch2: 0001-alsa-dont-set--1-as-node.target.patch
|
||||
# PATCH-FIX-UPSTREAM 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch
|
||||
Patch3: 0003-bluez5-backend-native-fix-missing-brace-in-CIND-reply.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-modules-fix-rate-update.patch
|
||||
Patch4: 0001-modules-fix-rate-update.patch
|
||||
# PATCH-FIX-UPSTREAM 0001-alsa-fix-memory-leak-of-properties.patch
|
||||
Patch5: 0001-alsa-fix-memory-leak-of-properties.patch
|
||||
|
||||
BuildRequires: docutils
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: fdupes
|
||||
@ -113,9 +104,10 @@ BuildRequires: pkgconfig(jack) >= 1.9.10
|
||||
BuildRequires: pkgconfig(ldacBT-abr)
|
||||
BuildRequires: pkgconfig(ldacBT-enc)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavfilter)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
# ffmpeg disabled on purpose, only used for pw-play and pw-record (break circular dependency with ffmpeg).
|
||||
#BuildRequires: pkgconfig(libavcodec)
|
||||
#BuildRequires: pkgconfig(libavfilter)
|
||||
#BuildRequires: pkgconfig(libavformat)
|
||||
%if %{with libcamera}
|
||||
BuildRequires: libcamera-devel >= 0.0.1
|
||||
%endif
|
||||
@ -364,11 +356,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}
|
||||
@ -379,7 +366,7 @@ export CXX=g++-9
|
||||
-Ddocs=enabled \
|
||||
-Dman=enabled \
|
||||
-Dgstreamer=enabled \
|
||||
-Dffmpeg=enabled \
|
||||
-Dffmpeg=disabled \
|
||||
-Dsystemd=enabled \
|
||||
-Dsystemd-user-unit-dir=%{_userunitdir} \
|
||||
-Dgstreamer-device-provider=disabled \
|
||||
@ -601,7 +588,7 @@ fi
|
||||
%{_libdir}/spa-%{spa_ver}/avb/
|
||||
%{_libdir}/spa-%{spa_ver}/bluez5/
|
||||
%{_libdir}/spa-%{spa_ver}/control/
|
||||
%{_libdir}/spa-%{spa_ver}/ffmpeg/
|
||||
#%%{_libdir}/spa-%%{spa_ver}/ffmpeg/
|
||||
%{_libdir}/spa-%{spa_ver}/jack/
|
||||
%if %{with libcamera}
|
||||
%{_libdir}/spa-%{spa_ver}/libcamera/
|
||||
|
@ -121,7 +121,7 @@ Index: pipewire-0.3.63/meson.build
|
||||
+++ pipewire-0.3.63/meson.build
|
||||
@@ -1,7 +1,7 @@
|
||||
project('pipewire', ['c' ],
|
||||
version : '0.3.63',
|
||||
version : '0.3.64',
|
||||
license : [ 'MIT', 'LGPL-2.1-or-later', 'GPL-2.0-only' ],
|
||||
- meson_version : '>= 0.59.0',
|
||||
+ meson_version : '>= 0.54.0',
|
||||
|
Loading…
Reference in New Issue
Block a user