aports/community/pipewire/0001-libcamera-reset-ringbuffer-when-clearing-buffers.patch
Robert Mader b700ee7529 community/pipewire: cherry-pick a libcamera-plugin fix
that greatly improves stability and reliability, making usage and
development of pw-based camera apps more fun.
The commit is from the 1.2 branch and will thus be part of PW 1.2.4,
which, however, may be several weeks out, making a backport worthwhile.

See https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2108
2024-08-31 17:12:32 +00:00

27 lines
892 B
Diff

From dcf2d8f1033a8de5713501354f182f7140c8f0a4 Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
Date: Fri, 30 Aug 2024 06:48:28 +0200
Subject: [PATCH] libcamera: reset ringbuffer when clearing buffers
Keeping the ringbuffer state around resulted in a high chance of
using wrong buffer IDs for consequent streams, causing various issues.
---
spa/plugins/libcamera/libcamera-utils.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/spa/plugins/libcamera/libcamera-utils.cpp b/spa/plugins/libcamera/libcamera-utils.cpp
index fdfd6e46d..4a5e0f676 100644
--- a/spa/plugins/libcamera/libcamera-utils.cpp
+++ b/spa/plugins/libcamera/libcamera-utils.cpp
@@ -149,6 +149,7 @@ static int spa_libcamera_clear_buffers(struct impl *impl, struct port *port)
freeBuffers(impl, port);
port->n_buffers = 0;
+ port->ring = SPA_RINGBUFFER_INIT();
return 0;
}
--
2.46.0