WIP: Implement XShm screen capture #16

Draft
Benjamin wants to merge 39 commits from 5-implement-xshm-screen-capture into main
Owner

Closes #5.

Closes #5.
# Conflicts:
#	libgruppensprechen/test/test.ui
#	libgruppensprechen/test/testwin.cpp
fix rebase conflicts with main
refactored GDIDisplay and monitorEnumProc
moved buffer allocation from getSingleCapture to FrameBuffer
Also clean up VideoMan api
Also fix some msvc warnings
lib: video: fix id not being set for GDICapture #3
Some checks failed
ci / build (push) Failing after 1m14s
ci-windows / build-msvc (push) Successful in 2m34s
ci-windows / build-mingw (push) Successful in 3m48s
bffc8c3a11
lib: add video namespace and fix boost not found in cmake #3
Some checks failed
ci-windows / build-msvc (pull_request) Successful in 4m23s
ci-windows / build-mingw (pull_request) Successful in 8m41s
ci-windows / build-msvc (push) Successful in 2m17s
ci-windows / build-mingw (push) Successful in 3m29s
ci / build (push) Failing after 2m1s
ci / build (pull_request) Failing after 1m55s
ec57987310
lib: add empty XShmVideoMan stub and platform dependent compilation #5
All checks were successful
ci / build (push) Successful in 2m33s
ci-windows / build-msvc (push) Successful in 5m28s
ci-windows / build-mingw (push) Successful in 6m20s
9cdab41d71
lib: video: implement xrandr monitor enumeration #5
Some checks failed
ci / build (push) Failing after 1m23s
ci-windows / build-msvc (push) Successful in 2m32s
ci-windows / build-mingw (push) Successful in 3m43s
ace0b353d8
lib: fix bug to not use invalid memory in xrandr display enumeration #5
Some checks failed
ci / build (push) Successful in 2m27s
ci-windows / build-mingw (push) Has been cancelled
ci-windows / build-msvc (push) Has been cancelled
174465f2a6
Also install pkgconf on arch ci
ci: remove ninja status env var for msvc #5
All checks were successful
ci / build (push) Successful in 2m7s
ci-windows / build-msvc (push) Successful in 2m35s
ci-windows / build-mingw (push) Successful in 3m28s
384c5a6677
Benjamin force-pushed 5-implement-xshm-screen-capture from 384c5a6677
All checks were successful
ci / build (push) Successful in 2m7s
ci-windows / build-msvc (push) Successful in 2m35s
ci-windows / build-mingw (push) Successful in 3m28s
to f15c1e41dd
All checks were successful
ci / build (push) Successful in 2m24s
ci-windows / build-msvc (push) Successful in 4m15s
ci-windows / build-mingw (push) Successful in 5m36s
2026-07-05 22:21:19 +02:00
Compare
Benjamin force-pushed 5-implement-xshm-screen-capture from f15c1e41dd
All checks were successful
ci / build (push) Successful in 2m24s
ci-windows / build-msvc (push) Successful in 4m15s
ci-windows / build-mingw (push) Successful in 5m36s
to 4346ac4403
All checks were successful
ci / build (push) Successful in 2m56s
ci-windows / build-msvc (push) Successful in 9m57s
ci-windows / build-mingw (push) Successful in 12m26s
2026-07-06 17:56:20 +02:00
Compare
Benjamin force-pushed 5-implement-xshm-screen-capture from 4346ac4403
All checks were successful
ci / build (push) Successful in 2m56s
ci-windows / build-msvc (push) Successful in 9m57s
ci-windows / build-mingw (push) Successful in 12m26s
to 998d155fa0
All checks were successful
ci / build (push) Successful in 2m19s
ci-windows / build-msvc (push) Successful in 5m25s
ci-windows / build-mingw (push) Successful in 6m45s
2026-07-06 18:49:45 +02:00
Compare
lib: video: implement xcb shared memory buffer #5
All checks were successful
ci / build (push) Successful in 2m33s
ci-windows / build-msvc (push) Successful in 4m51s
ci-windows / build-mingw (push) Successful in 6m0s
f8ddead864
This caused memory consumption to grow uncontrollably, because xshm is
too performant :)
lib: video: implement xshm video capture #5
All checks were successful
ci / build (push) Successful in 2m11s
ci-windows / build-msvc (push) Successful in 4m43s
ci-windows / build-mingw (push) Successful in 5m44s
4e1c561bd3
Benjamin force-pushed 5-implement-xshm-screen-capture from 4e1c561bd3
All checks were successful
ci / build (push) Successful in 2m11s
ci-windows / build-msvc (push) Successful in 4m43s
ci-windows / build-mingw (push) Successful in 5m44s
to d4d13c53f4
All checks were successful
ci / build (push) Successful in 2m17s
ci-windows / build-msvc (push) Successful in 4m24s
ci-windows / build-mingw (push) Successful in 5m42s
2026-07-07 17:07:40 +02:00
Compare
lib: video: carry over some changes from XShmCapture to GDICapture #5
All checks were successful
ci / build (push) Successful in 2m4s
ci-windows / build-msvc (push) Successful in 5m36s
ci-windows / build-mingw (push) Successful in 6m51s
f0f1135656
Also yield thread and sleep when capture fails to avoid busy waiting
lib: video: add support for different pixmap formats to make gdi and xshm work #5
All checks were successful
ci / build (push) Successful in 2m3s
ci-windows / build-msvc (push) Successful in 4m45s
ci-windows / build-mingw (push) Successful in 6m5s
a9e5f47381
Benjamin force-pushed 5-implement-xshm-screen-capture from a9e5f47381
All checks were successful
ci / build (push) Successful in 2m3s
ci-windows / build-msvc (push) Successful in 4m45s
ci-windows / build-mingw (push) Successful in 6m5s
to ca0c811b0d
All checks were successful
ci / build (push) Successful in 2m49s
ci-windows / build-msvc (push) Successful in 5m59s
ci-windows / build-mingw (push) Successful in 7m27s
2026-07-08 20:24:07 +02:00
Compare
All checks were successful
ci / build (push) Successful in 2m49s
Required
Details
ci-windows / build-msvc (push) Successful in 5m59s
Required
Details
ci-windows / build-mingw (push) Successful in 7m27s
Required
Details
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 5-implement-xshm-screen-capture:5-implement-xshm-screen-capture
git switch 5-implement-xshm-screen-capture
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Benjamin/gruppensprechen!16
No description provided.