6ffbba3ac1
This introduces a new convention of checking through the compositor destroy listener if the plugin is already initialized. If the plugin is already initialized, then the plugin entry function succeeds as a no-op. This makes it safe to load the same plugin multiple times in a running compositor. Currently module loading functions return failure if a plugin is already loaded, but that will change in the future. Therefore we need this other method of ensuring we do not double-initialize a plugin which would lead to list corruptions the very least. All plugins are converted to use the new helper, except: - those that do not have a destroy listener already, and - hmi-controller which does the same open-coded as the common code pattern did not fit there. Plugins should always have a compositor destroy listener registered since they very least allocate a struct to hold their data. Hence omissions are highlighted in code. Backends do not need this because weston_compositor_load_backend() already protects against double-init. GL-renderer does not export a standard module init function so cannot be initialized the usual way and therefore is not vulnerable to double-init. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> |
||
---|---|---|
.. | ||
meson.build | ||
README | ||
remoting-plugin.c | ||
remoting-plugin.h |
Remoting plugin for Weston The Remoting plugin creates a streaming image of a virtual output and transmits it to a remote host. It is currently only supported on the drm-backend. Virtual outputs are created and configured by adding a remote-output section to weston.ini. See man weston-drm(7) for configuration details. This plugin is loaded automatically if any remote-output sections are present. This plugin sends motion jpeg images to a client via RTP using gstreamer, and so requires gstreamer-1.0. This plugin starts sending images immediately when weston is run, and keeps sending them until weston shuts down. The image stream can be received by any appropriately configured RTP client, but a sample gstreamer RTP client script can be found at doc/scripts/remoting-client-receive.bash. Script usage: remoting-client-receive.bash <PORT NUMBER> How to compile --------------- Set --enable-remoting=true when configuring weston. The remoting-plugin.so module is created and installed in the libweston path. How to configure weston.ini ---------------------------- See man weston-drm(7).