[Differential] [Request, 316 lines] D4366: WIP: Add screen recorder interface
David Edmundson
noreply at phabricator.kde.org
Tue Jan 31 13:12:45 UTC 2017
davidedmundson created this revision.
davidedmundson added a reviewer: Plasma.
Restricted Application added a project: KWin.
Restricted Application added subscribers: KWin, kwin, plasma-devel.
REVISION SUMMARY
Works as follows:
- Connect with a DBus interface similar to Screenshot
- instead of a FD to a save location, clients pass a socket to their
own very very minimal wayland server (with a compositor and shmpool)
- kwin then connects to that as a client with a wl_surface of the
rendered area, with each frame as a buffer.
This patch contains the relevant effect and a small test app.
Design Rationale:
- We need the recorder to have a shared memory pool, and only it knows
when it's finished rendering it. The recorder being the "compositor"
provides that
- Kwin acting as the "client" could easily cover a VNC like case in
future, albeit with some shuffling.
- Using an existing wayland iface means this could become a standard
Obviously not entirely finished, see TODOs in comments, and we probably
want to include the region selection like Screenshot.
Was writing something to dump frames from kwin, was a good excuse to work
on something useful.
TEST PLAN
Ran included test app
Dragged window about
REPOSITORY
R108 KWin
BRANCH
screencast
REVISION DETAIL
https://phabricator.kde.org/D4366
AFFECTED FILES
effects/CMakeLists.txt
effects/effect_builtins.cpp
effects/screencast/CMakeLists.txt
effects/screencast/screencast.cpp
effects/screencast/screencast.h
tests/CMakeLists.txt
tests/screenrecorder.cpp
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: davidedmundson, #plasma
Cc: plasma-devel, kwin, #kwin, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170131/b4127d7e/attachment.html>
More information about the Plasma-devel
mailing list