[packages/pipewire] upstream patch for setting correct sample rate on device; rel 2

atler atler at pld-linux.org
Thu Dec 30 10:22:15 CET 2021


commit 02862e89a1a3195b87e53291d0fd9d1b12ca083d
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Dec 30 10:20:39 2021 +0100

    upstream patch for setting correct sample rate on device; rel 2

 pipewire-samplerate.patch | 33 +++++++++++++++++++++++++++++++++
 pipewire.spec             |  4 +++-
 2 files changed, 36 insertions(+), 1 deletion(-)
---
diff --git a/pipewire.spec b/pipewire.spec
index 5a50b69..4fd33dd 100644
--- a/pipewire.spec
+++ b/pipewire.spec
@@ -12,13 +12,14 @@ Summary:	PipeWire - server and user space API to deal with multimedia pipelines
 Summary(pl.UTF-8):	PipeWire - serwer i API przestrzeni użytkownika do obsługi potoków multimedialnych
 Name:		pipewire
 Version:	0.3.42
-Release:	1
+Release:	2
 License:	MIT, LGPL v2+, GPL v2
 Group:		Libraries
 #Source0Download: https://github.com/PipeWire/pipewire/releases
 Source0:	https://github.com/PipeWire/pipewire/archive/%{version}/%{name}-%{version}.tar.gz
 # Source0-md5:	4bf2cdfe19e65dea03906b86f3707db4
 Patch0:		%{name}-gcc.patch
+Patch1:		%{name}-samplerate.patch
 URL:		https://pipewire.org/
 %if %{with jack}
 BuildRequires:	SDL2-devel >= 2
@@ -257,6 +258,7 @@ Wtyczka udostępniająca źródło i cel obrazu PipeWire dla GStreamera.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %meson build \
diff --git a/pipewire-samplerate.patch b/pipewire-samplerate.patch
new file mode 100644
index 0000000..8c02dc0
--- /dev/null
+++ b/pipewire-samplerate.patch
@@ -0,0 +1,33 @@
+From ee0fcf05c17db0e5d5775d94c8911af7821c868f Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans at redhat.com>
+Date: Thu, 16 Dec 2021 11:39:46 +0100
+Subject: [PATCH] context: apply new quantum and rate when driver is idle
+
+When the driver is IDLE, apply the quantum and rate immediately
+so that we can use the values when starting the driver.
+
+See #1913
+---
+ src/pipewire/context.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/pipewire/context.c b/src/pipewire/context.c
+index 84eca3bda..a3551c2b8 100644
+--- a/src/pipewire/context.c
++++ b/src/pipewire/context.c
+@@ -1246,6 +1246,12 @@ again:
+ 			n->current_pending = true;
+ 		}
+ 
++		if (n->info.state < PW_NODE_STATE_RUNNING && n->current_pending) {
++			n->rt.position->clock.duration = n->current_quantum;
++			n->rt.position->clock.rate = n->current_rate;
++			n->current_pending = false;
++		}
++
+ 		pw_log_debug("%p: driving %p running:%d passive:%d quantum:%u '%s'",
+ 				context, n, running, n->passive, quantum, n->name);
+ 
+-- 
+GitLab
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pipewire.git/commitdiff/02862e89a1a3195b87e53291d0fd9d1b12ca083d



More information about the pld-cvs-commit mailing list