From a8a9fd0798703bec57d623117c159b85abc60d25 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 2 Nov 2023 12:01:32 +0100 Subject: [PATCH] Update version to 0.3.84 --- ...eam-improve-queued_buffers-reporting.patch | 57 ------------------- ...cancel-playback-and-source-are-async.patch | 40 ------------- pipewire.spec | 9 +-- sources | 2 +- 4 files changed, 6 insertions(+), 102 deletions(-) delete mode 100644 0001-stream-improve-queued_buffers-reporting.patch delete mode 100644 0002-module-echo-cancel-playback-and-source-are-async.patch diff --git a/0001-stream-improve-queued_buffers-reporting.patch b/0001-stream-improve-queued_buffers-reporting.patch deleted file mode 100644 index 5d8b062..0000000 --- a/0001-stream-improve-queued_buffers-reporting.patch +++ /dev/null @@ -1,57 +0,0 @@ -From adb41c410a8b861f69bb7793e819b98a39eab586 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Fri, 20 Oct 2023 09:57:52 +0200 -Subject: [PATCH 1/2] stream: improve queued_buffers reporting - -Also add the queued buffers in the converter to the pw_time.queued_buffers -field. This means that queued_buffers + avail_buffers always equal the -total amount of allocated buffers, which makes more sense. - -Fixes #3592 ---- - src/pipewire/stream.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c -index 25051d64f..db2c3f7b7 100644 ---- a/src/pipewire/stream.c -+++ b/src/pipewire/stream.c -@@ -2340,6 +2340,7 @@ int pw_stream_get_time_n(struct pw_stream *stream, struct pw_time *time, size_t - struct stream *impl = SPA_CONTAINER_OF(stream, struct stream, this); - uintptr_t seq1, seq2; - uint32_t buffered, quantum, index; -+ int32_t avail_buffers; - - do { - seq1 = SPA_SEQ_READ(impl->seq); -@@ -2358,19 +2359,23 @@ int pw_stream_get_time_n(struct pw_stream *stream, struct pw_time *time, size_t - time->delay += (impl->latency.min_rate + impl->latency.max_rate) / 2; - time->delay += ((impl->latency.min_ns + impl->latency.max_ns) / 2) * time->rate.denom / SPA_NSEC_PER_SEC; - -+ avail_buffers = spa_ringbuffer_get_read_index(&impl->dequeued.ring, &index); -+ avail_buffers = SPA_CLAMP(avail_buffers, 0, (int32_t)impl->n_buffers); -+ - if (size >= offsetof(struct pw_time, queued_buffers)) - time->buffered = buffered; - if (size >= offsetof(struct pw_time, avail_buffers)) -- time->queued_buffers = spa_ringbuffer_get_read_index(&impl->queued.ring, &index); -+ time->queued_buffers = impl->n_buffers - avail_buffers; - if (size >= sizeof(struct pw_time)) -- time->avail_buffers = spa_ringbuffer_get_read_index(&impl->dequeued.ring, &index); -+ time->avail_buffers = avail_buffers; - - pw_log_trace_fp("%p: %"PRIi64" %"PRIi64" %"PRIu64" %d/%d %"PRIu64" %" -- PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, stream, -+ PRIu64" %"PRIu64" %"PRIu64" %"PRIu64" %d/%d", stream, - time->now, time->delay, time->ticks, - time->rate.num, time->rate.denom, time->queued, - impl->dequeued.outcount, impl->dequeued.incount, -- impl->queued.outcount, impl->queued.incount); -+ impl->queued.outcount, impl->queued.incount, -+ avail_buffers, impl->n_buffers); - return 0; - } - --- -2.41.0 - diff --git a/0002-module-echo-cancel-playback-and-source-are-async.patch b/0002-module-echo-cancel-playback-and-source-are-async.patch deleted file mode 100644 index 8cd7ade..0000000 --- a/0002-module-echo-cancel-playback-and-source-are-async.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 73ffb6cf7f3e82dd97038587cff138df54723b35 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Sat, 21 Oct 2023 09:27:43 +0200 -Subject: [PATCH 2/2] module-echo-cancel: playback and source are async - -The playback and source streams don't dequeue/queue buffers from -the process function and so need to be marked async. - -Fixes #3593 ---- - src/modules/module-echo-cancel.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/modules/module-echo-cancel.c b/src/modules/module-echo-cancel.c -index ae3934658..ab3698308 100644 ---- a/src/modules/module-echo-cancel.c -+++ b/src/modules/module-echo-cancel.c -@@ -1002,7 +1002,8 @@ static int setup_streams(struct impl *impl) - PW_DIRECTION_OUTPUT, - PW_ID_ANY, - PW_STREAM_FLAG_MAP_BUFFERS | -- PW_STREAM_FLAG_RT_PROCESS, -+ PW_STREAM_FLAG_RT_PROCESS | -+ PW_STREAM_FLAG_ASYNC, - params, n_params)) < 0) { - spa_pod_dynamic_builder_clean(&b); - return res; -@@ -1036,7 +1037,8 @@ static int setup_streams(struct impl *impl) - PW_ID_ANY, - PW_STREAM_FLAG_AUTOCONNECT | - PW_STREAM_FLAG_MAP_BUFFERS | -- PW_STREAM_FLAG_RT_PROCESS, -+ PW_STREAM_FLAG_RT_PROCESS | -+ PW_STREAM_FLAG_ASYNC, - params, n_params)) < 0) { - spa_pod_dynamic_builder_clean(&b); - return res; --- -2.41.0 - diff --git a/pipewire.spec b/pipewire.spec index 20eb815..58c7872 100644 --- a/pipewire.spec +++ b/pipewire.spec @@ -1,6 +1,6 @@ %global majorversion 0 %global minorversion 3 -%global microversion 83 +%global microversion 84 %global apiversion 0.3 %global spaversion 0.2 @@ -9,7 +9,7 @@ %global ms_version 0.4.2 # For rpmdev-bumpspec and releng automation -%global baserelease 2 +%global baserelease 1 #global snapdate 20210107 #global gitcommit b17db2cebc1a5ab2c01851d29c05f79cd2f262bb @@ -76,8 +76,6 @@ Source0: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/%{ver Source1: pipewire.sysusers ## upstream patches -Patch0001: 0001-stream-improve-queued_buffers-reporting.patch -Patch0002: 0002-module-echo-cancel-playback-and-source-are-async.patch ## upstreamable patches @@ -724,6 +722,9 @@ systemctl --no-reload preset --global pipewire.socket >/dev/null 2>&1 || : %endif %changelog +* Thu Nov 02 2023 Wim Taymans - 0.3.84-1 +- Update version to 0.3.84 + * Mon Oct 23 2023 Wim Taymans - 0.3.83-2 - Apply patches to fix openal delay and echo-cancel distortion diff --git a/sources b/sources index 6592c00..618d406 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (pipewire-0.3.83.tar.gz) = 140d02242b1c76e4ced9bccaf306e7881103aa7081778b0e734a3eab12f3dae8c2824cca83d5e01c05817808c41da8280a4bf5a025448cff4ff9376219ae8050 +SHA512 (pipewire-0.3.84.tar.gz) = 60f7c154a17e41570b3793cd66ca00a2fcba72407fa1cbeb7dc7149436e25f8cdc7a4fba99ab66a8be2840bf9847965c2bb69b0b839f59882d815c6b2d0a4de9