Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/pipewire.git#4579fc9e524dc9c014579b5d1e52a0d54fcadbe9
This commit is contained in:
parent
2b7f8a3af7
commit
f7f6f6badf
1
.gitignore
vendored
1
.gitignore
vendored
@ -33,3 +33,4 @@
|
||||
/pipewire-0.3.12.tar.gz
|
||||
/pipewire-0.3.13.tar.gz
|
||||
/pipewire-0.3.14.tar.gz
|
||||
/pipewire-0.3.15.tar.gz
|
||||
|
@ -1,24 +0,0 @@
|
||||
From 13945e27434951366960dd3a0461c58487df82a2 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Mon, 30 Mar 2020 15:32:04 +0200
|
||||
Subject: [PATCH] conf: disable bluez5
|
||||
|
||||
Disable bluetooth handling by default to avoid causing
|
||||
conflicts with pulseaudio.
|
||||
---
|
||||
src/daemon/pipewire.conf.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
|
||||
index 574cba4f..4ecec24f 100644
|
||||
--- a/src/daemon/pipewire.conf.in
|
||||
+++ b/src/daemon/pipewire.conf.in
|
||||
@@ -71,4 +71,4 @@ create-object spa-node-factory factory.name=support.node.driver node.name=Dummy
|
||||
# Execute the given program. This is usually used to start the
|
||||
# session manager. run the session manager with -h for options
|
||||
#
|
||||
-exec @media_session_path@ # -d alsa-seq,alsa-pcm,bluez5,metadata
|
||||
+exec @media_session_path@ -d bluez5,pulse-bridge # -d alsa-seq,alsa-pcm,metadata
|
||||
--
|
||||
2.26.2
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 98b1b8090dbffe1dfa6e1883b2550008833a568a Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Sat, 31 Oct 2020 15:22:32 +0100
|
||||
Subject: [PATCH 1/3] pulse-server: don't underrun when draining
|
||||
|
||||
---
|
||||
src/modules/module-protocol-pulse/pulse-server.c | 12 +++++++-----
|
||||
1 file changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
|
||||
index a4162280..dbc52431 100644
|
||||
--- a/src/modules/module-protocol-pulse/pulse-server.c
|
||||
+++ b/src/modules/module-protocol-pulse/pulse-server.c
|
||||
@@ -1276,13 +1276,15 @@ static void stream_process(void *data)
|
||||
int32_t avail = spa_ringbuffer_get_read_index(&stream->ring, &pd.read_index);
|
||||
if (avail <= 0) {
|
||||
/* underrun */
|
||||
- if (stream->drain_tag)
|
||||
- pw_stream_flush(stream->stream, true);
|
||||
-
|
||||
size = buf->datas[0].maxsize;
|
||||
memset(p, 0, size);
|
||||
- pd.underrun_for = size;
|
||||
- pd.underrun = true;
|
||||
+
|
||||
+ if (stream->drain_tag)
|
||||
+ pw_stream_flush(stream->stream, true);
|
||||
+ else {
|
||||
+ pd.underrun_for = size;
|
||||
+ pd.underrun = true;
|
||||
+ }
|
||||
} else if (avail > MAXLENGTH) {
|
||||
/* overrun, handled by other side */
|
||||
pw_log_warn(NAME" %p: overrun", stream);
|
||||
--
|
||||
2.28.0
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 4bb859fb82d4d8128e146937289d560a8efa0fc3 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Sat, 31 Oct 2020 21:20:39 +0100
|
||||
Subject: [PATCH 2/3] pulse-server: use name if description not set
|
||||
|
||||
---
|
||||
src/modules/module-protocol-pulse/collect.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/modules/module-protocol-pulse/collect.c b/src/modules/module-protocol-pulse/collect.c
|
||||
index 130af355..9be5a8ae 100644
|
||||
--- a/src/modules/module-protocol-pulse/collect.c
|
||||
+++ b/src/modules/module-protocol-pulse/collect.c
|
||||
@@ -244,6 +244,8 @@ static uint32_t collect_profile_info(struct pw_manager_object *card, struct card
|
||||
SPA_PARAM_PROFILE_classes, SPA_POD_OPT_Pod(&classes)) < 0) {
|
||||
continue;
|
||||
}
|
||||
+ if (pi->description == NULL)
|
||||
+ pi->description = pi->name;
|
||||
if (pi->id == card_info->active_profile)
|
||||
card_info->active_profile_name = pi->name;
|
||||
|
||||
@@ -443,6 +445,8 @@ static uint32_t collect_port_info(struct pw_manager_object *card, struct card_in
|
||||
SPA_PARAM_ROUTE_profiles, SPA_POD_OPT_Pod(&profiles)) < 0)
|
||||
continue;
|
||||
|
||||
+ if (pi->description == NULL)
|
||||
+ pi->description = pi->name;
|
||||
if (devices)
|
||||
pi->devices = spa_pod_get_array(devices, &pi->n_devices);
|
||||
if (profiles)
|
||||
--
|
||||
2.28.0
|
||||
|
@ -1,39 +0,0 @@
|
||||
From 165ad6e75816f6d8b3273261a4f6d6dd8b7457f6 Mon Sep 17 00:00:00 2001
|
||||
From: Wim Taymans <wtaymans@redhat.com>
|
||||
Date: Sat, 31 Oct 2020 21:21:00 +0100
|
||||
Subject: [PATCH 3/3] pulse-server: don't ever block
|
||||
|
||||
Handle EAGAIN and EWOULDBLOCK and go back into the poll loop instead
|
||||
of blocking.
|
||||
---
|
||||
src/modules/module-protocol-pulse/pulse-server.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c
|
||||
index dbc52431..e1733b29 100644
|
||||
--- a/src/modules/module-protocol-pulse/pulse-server.c
|
||||
+++ b/src/modules/module-protocol-pulse/pulse-server.c
|
||||
@@ -267,6 +267,8 @@ static int flush_messages(struct client *client)
|
||||
res = send(client->source->fd, data, size, MSG_NOSIGNAL | MSG_DONTWAIT);
|
||||
if (res < 0) {
|
||||
pw_log_info("send channel:%d %zu, res %d: %m", m->channel, size, res);
|
||||
+ if (errno == EAGAIN || errno == EWOULDBLOCK)
|
||||
+ break;
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
else
|
||||
@@ -3974,7 +3976,10 @@ static int do_read(struct client *client)
|
||||
size = client->message->length - idx;
|
||||
}
|
||||
while (true) {
|
||||
- if ((r = recv(client->source->fd, data, size, 0)) < 0) {
|
||||
+ if ((r = recv(client->source->fd, data, size, MSG_DONTWAIT)) < 0) {
|
||||
+ pw_log_info("recv client:%p res %d: %m", client, res);
|
||||
+ if (errno == EAGAIN || errno == EWOULDBLOCK)
|
||||
+ goto exit;
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
res = -errno;
|
||||
--
|
||||
2.28.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
%global majorversion 0
|
||||
%global minorversion 3
|
||||
%global microversion 14
|
||||
%global microversion 15
|
||||
|
||||
%global apiversion 0.3
|
||||
%global spaversion 0.2
|
||||
@ -29,7 +29,7 @@
|
||||
Name: pipewire
|
||||
Summary: Media Sharing Server
|
||||
Version: %{majorversion}.%{minorversion}.%{microversion}
|
||||
Release: 2%{?snap:.%{snap}git%{shortcommit}}%{?dist}
|
||||
Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist}
|
||||
License: MIT
|
||||
URL: https://pipewire.org/
|
||||
%if 0%{?gitrel}
|
||||
@ -41,15 +41,10 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{version}/p
|
||||
%endif
|
||||
|
||||
## upstream patches
|
||||
Patch1: 0001-pulse-server-don-t-underrun-when-draining.patch
|
||||
Patch2: 0002-pulse-server-use-name-if-description-not-set.patch
|
||||
Patch3: 0003-pulse-server-don-t-ever-block.patch
|
||||
|
||||
|
||||
## upstreamable patches
|
||||
|
||||
## fedora patches
|
||||
Patch0: 0001-conf-disable-bluez5.patch
|
||||
|
||||
BuildRequires: meson >= 0.49.0
|
||||
BuildRequires: gcc
|
||||
@ -222,11 +217,6 @@ This package provides a PulseAudio implementation based on PipeWire
|
||||
%prep
|
||||
%setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}}
|
||||
|
||||
%patch0 -p1 -b .0000
|
||||
%patch1 -p1 -b .0001
|
||||
%patch2 -p1 -b .0002
|
||||
%patch3 -p1 -b .0003
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-D docs=true -D man=true -D gstreamer=true -D systemd=true \
|
||||
@ -422,6 +412,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Nov 4 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.15-1
|
||||
- Update to 0.3.15
|
||||
|
||||
* Sun Nov 1 2020 Wim Taymans <wtaymans@redhat.com> - 0.3.14-2
|
||||
- Add some pulse server patches
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (pipewire-0.3.14.tar.gz) = fe83150b7e1d346a0cf4095f6849d0ec8120f6c60c2bc880204e882c84b07a4b24fc858d2fa122b2feaebfc525a8b91921cb01e31f2be60aabe40d2404f5225e
|
||||
SHA512 (pipewire-0.3.15.tar.gz) = 949f2e64a3e9ec06b3414cacfbd7cf4ef6b7bad484a5dea1b79b5d4310413ec5a7538b702431f2cf6fb580ffd430081bd568399faa9b819689a79bebc955ca33
|
||||
|
Loading…
Reference in New Issue
Block a user