From 02862e89a1a3195b87e53291d0fd9d1b12ca083d Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Thu, 30 Dec 2021 10:20:39 +0100 Subject: [PATCH] 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(-) create mode 100644 pipewire-samplerate.patch 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 +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 + 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 \ -- 2.43.0