obs-studio/plugins/linux-capture
columbarius abbec90e7e linux-pipewire: Handle DMA-BUF import failure
Importing a DMA-BUF can fail even if the renderer announces support for
the used format modifier pair. This can be caused by a number of reasons
specific to the underlying hardware and api [1]. In that case we want to
remove that modifier from our list of supported ones and renegotiate.

This feature was added in PipeWire 0.3.40. On previous versions the best
we can do is drop all modifiers an fallback to DMA-BUF with another
format or directly to the SHM buffer transport. This mechanism is
demonstrated in [2].

[1] https://xdc2020.x.org/event/9/contributions/615/attachments/704/1301/XDC_2020__Allocation_Constraints.pdf
[2] https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/examples/video-play-fixate.c
2021-12-22 14:27:53 -03:00
..
data/locale Update translations from Crowdin 2021-12-12 02:38:59 +00:00
CMakeLists.txt linux-capture: Bump minimal PipeWire version to 0.3.33 2021-12-22 14:27:53 -03:00
linux-capture.c linux-capture: Load XSHM capture on EGL/X11 2021-08-15 00:13:00 -07:00
pipewire-capture.c linux-capture: Deinit pipewire only if we init'ed 2021-12-12 10:05:02 +11:00
pipewire-capture.h linux-capture: Add PipeWire-based capture 2021-03-29 17:00:31 -03:00
pipewire.c linux-pipewire: Handle DMA-BUF import failure 2021-12-22 14:27:53 -03:00
pipewire.h linux-capture: Implement stream restoration 2021-11-24 11:42:06 -08:00
portal.c linux-capture: Add getter to screencast portal version 2021-11-24 11:42:06 -08:00
portal.h linux-capture: Add getter to screencast portal version 2021-11-24 11:42:06 -08:00
README Rename linux-xshm module to linux-capture 2014-08-29 17:19:30 -07:00
xcompcap-helper.cpp linux-capture: Remove unused code 2021-01-24 16:36:41 -08:00
xcompcap-helper.hpp linux-capture: Remove unused code 2021-01-24 16:36:41 -08:00
xcompcap-main.cpp linux-capture: Fix capturing on software rasterization setups 2021-12-12 11:13:24 +11:00
xcompcap-main.hpp clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
xcomposite-main.cpp UI: Add source icons 2019-11-24 20:50:42 -08:00
xcursor-xcb.c linux-capture: Support linear SRGB 2021-01-21 07:42:57 -08:00
xcursor-xcb.h clang-format: Apply formatting 2019-06-23 23:49:10 -07:00
xcursor.c linux-capture: Support linear SRGB 2021-01-21 07:42:57 -08:00
xcursor.h linux-capture: Fix cursor draw bug when cropping window cap. 2019-11-20 22:09:47 -08:00
xhelpers.c linux-capture: Use RandR monitors for screen information 2020-03-13 18:29:35 -07:00
xhelpers.h linux-capture: Use RandR monitors for screen information 2020-03-13 18:29:35 -07:00
xshm-input.c linux-capture: Add OBS_SOURCE_SRGB flag 2021-05-03 01:19:56 -07:00

Linux XShm capture plugin

  This plugin uses the MIT-SHM extension for the X-server to capture the
  desktop.

Todo:

 - handle resolution changes of screens
 - handle adding/removing screens while recording
 - support different depths

Contributing:

  If you are interested in helping out with the plugin, please drop by in the
  #obs-dev channel on quakenet.

References:
 - http://www.x.org/releases/current/doc/xextproto/shm.html