pipewire/src
Barnabás Pőcze 2770143f50 gst: pool: fix buffer release race condition
A call to `release_buffer()` may happen in a gstreamer thread concurrently
with the pipewire stream emitting the `remove_buffer` event in the thread
loop, which, in pipewiresink calls `gst_pipewire_pool_remove_buffer()`, which
in turn modifies the `GstPipeWirePoolData` object. Thus a data race occurs
when accessing its members, which can lead to `pw_stream_return_buffer()`
being called with a null pointer.

Fix that by locking the thread loop before checking the conditions.

Fixes: c0a6a7ea32 ("gst: handle flush event in pipewiresink")
2026-02-09 09:25:36 +00:00
..
daemon filter-graph: add gain option to sofa 2026-02-02 16:28:54 +01:00
examples stream: Make capability device IDs an JSON object 2026-01-22 16:08:19 +00:00
gst gst: pool: fix buffer release race condition 2026-02-09 09:25:36 +00:00
modules Implement socket activation without libsystemd 2026-02-03 13:17:59 +01:00
pipewire impl-port: Free capabilities 2026-01-20 15:21:56 +01:00
tests Revert "test: fix test and indentation" 2025-11-04 13:50:35 +01:00
tools pw-cat: support some more formats 2026-01-22 17:14:41 +01:00
meson.build meson.build: fix compile with -Dexamples=disabled 2023-11-28 10:18:25 +00:00