obs-gnome-screencast 0.2.0

  • added window selection property to easily select a single window to capture(!)
  • create own thread with it's own main loop. let us not assume OBS comes with one, and if it does, try not to interfere with it.
  • always copy the video buffer. this comes with a performance penalty, but pipewire versions >= 0.21 seem to have issue if we don't.
  • don't leak the bus watch handle. this could have led to "too many files open" error in case of many stop/starts.
- Removed dependency to GTK (in preparation to the GTK4 release as it removed some of the API being used)
- Hopefully fixed a potential crash fix when the source was being removed while running
- Some minor fixes..
This is a major release. The API used for screen cast has changed from the GNOME to Mutter API (the GNOME compositor). It feels a lot less hack-ish than the previous implementation.

The plugin filename as well as it's internal ID has changed. This allows this plugin as well as the old version to co-exist.

It allows easy capture of desktops. It also has window capture capabilities - however you need to know the internal window ID. Refer to the documentation on how to obtain these IDs (yes, it is cumbersome).
- make screen capture HiDPI aware
- make timestamps a property for the user to enable/disable
- Theoretical fix where caps were not received due to a race - did anyone ever experienced it?
- fix race between processes (on faster machines this could lead to a stall at restarts)
- move the SHM socket to the user run directory
- use GDP payload format between processes for exchanging data (may add a memcpy().. to be investigated, but allows much for interesting data to be transferred for debugging, performance measuring and alike)
- SHM socket path is now configurable (in case you can't read/write to /tmp)
- Added option to capture all screens at once (may be helpful for multi monitor setups as you can only have one instance of a GNOME capture session)