[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