mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-26 05:21:00 +00:00
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:
parent
4326c3bfce
commit
8e675de690
2 changed files with 31 additions and 0 deletions
|
@ -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:
|
||||||
|
|
|
@ -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::*;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue