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 sink is GTK 4.4 on Linux without GL support, and 4.6 on Windows and macOS, and
on Linux with GL support. 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 # Flatpak Integration
To build and include the plugin in a Flatpak manifest, you can add the following snippet to your json manifest: 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 // 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;
use gtk::glib::prelude::*; use gtk::glib::prelude::*;