obs-studio/plugins/linux-pipewire
columbarius e0a4d8628d linux-pipewire: Reject invalid buffers
PipeWire supports two flags to signal an invalid buffer:
SPA_META_HEADER_FLAG_CORRUPTED signals that the whole buffer is invalid
and should not be used
SPA_CHUNK_FLAG_CORRUPTED signals that one single buffer plane is invalid

Skipping a buffer because of size 0 was moved to only the SHM case.
For DMA-BUFs the size of a single plane is not relevant and should be
ignored [1].

Compatibility note:
GNOME pre 43 sets the chunk size to 0 when a buffer copy failed.
Luckily GNOME doesn't use the META_Header and thus we can detect if we
should use the new or old style of invalid buffer detection.
This workaround should be dropped when reasonable.

[1] https://docs.pipewire.org/page_dma_buf.html
2023-01-26 21:40:05 -03:00
..
data Update translations from Crowdin 2023-01-08 04:10:37 +00:00
CMakeLists.txt Revert "linux-capture: Fix Ubuntu 21.10 builds" 2022-08-06 09:28:58 -03:00
linux-pipewire.c linux-pipewire: Rename pipewire-capture to screencast-portal 2022-06-24 10:26:33 -03:00
pipewire.c linux-pipewire: Reject invalid buffers 2023-01-26 21:40:05 -03:00
pipewire.h linux-pipewire: Cleanup includes 2022-06-24 10:28:47 -03:00
portal.c linux-pipewire: Shuffle screencast D-Bus proxy around 2022-06-24 10:29:10 -03:00
portal.h linux-pipewire: Shuffle screencast D-Bus proxy around 2022-06-24 10:29:10 -03:00
screencast-portal.c linux-pipewire: Close sessions as we are done with them 2022-09-27 11:50:49 -03:00
screencast-portal.h linux-pipewire: Rename pipewire-capture to screencast-portal 2022-06-24 10:26:33 -03:00