gtk4paintablesink: Add some documentation

And sync with `README.md` in order to make the environment variables
`GST_GTK4_WINDOW` and `GST_GTK4_WINDOW_FULLSCREEN` discoverable - and
because it's generally useful.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555>
This commit is contained in:
Robert Mader 2024-04-29 22:42:09 +02:00 committed by Sebastian Dröge
parent 4326c3bfce
commit 8e675de690
2 changed files with 31 additions and 0 deletions

View file

@ -16,6 +16,11 @@ new features or more efficient processing can be opted in with the `gtk_v4_10`,
sink is GTK 4.4 on Linux without GL support, and 4.6 on Windows and macOS, and
on Linux with GL support.
The sink will provides a simple test window when launched via `gst-launch-1.0`
or `gst-play-1.0` or if the environment variable `GST_GTK4_WINDOW=1` is set.
Setting `GST_GTK4_WINDOW_FULLSCREEN=1` will make the window launch in fullscreen
mode.
# Flatpak Integration
To build and include the plugin in a Flatpak manifest, you can add the following snippet to your json manifest:

View file

@ -9,6 +9,32 @@
//
// SPDX-License-Identifier: MPL-2.0
/**
* SECTION:element-gtk4paintablesink
*
* GTK 4 provides `gtk::Video` & `gtk::Picture` for rendering media such as videos. As the default
* `gtk::Video` widget doesn't offer the possibility to use a custom `gst::Pipeline`. The plugin
* provides a `gst_video::VideoSink` along with a `gdk::Paintable` that's capable of rendering the
* sink's frames.
*
* The sink can generate GL Textures if the system is capable of it, but it needs to be compiled
* with either `wayland`, `x11glx` or `x11egl` cargo features. On Windows and macOS this is enabled
* by default.
*
* Additionally, the sink can render DMABufs directly on Linux if GTK 4.14 or newer is used. For
* this the `dmabuf` feature needs to be enabled.
*
* Depending on the GTK version that is used and should be supported as minimum, new features or
* more efficient processing can be opted in with the `gtk_v4_10`, `gtk_v4_12` and `gtk_v4_14`
* features. The minimum GTK version required by the sink is GTK 4.4 on Linux without GL support,
* and 4.6 on Windows and macOS, and on Linux with GL support.
*
* The sink will provides a simple test window when launched via `gst-launch-1.0` or `gst-play-1.0`
* or if the environment variable `GST_GTK4_WINDOW=1` is set. Setting `GST_GTK4_WINDOW_FULLSCREEN=1`
* will make the window launch in fullscreen mode.
*
* {{ videos/gtk4/examples/gtksink.rs }}
*/
use gtk::glib;
use gtk::glib::prelude::*;