mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-26 13:31:00 +00:00
8aa5125d5b
Create a single, global GDK GL context and the corresponding GStreamer GL display and wrapped GStreamer GL context when initializing the first sink and continue using that for all further sinks. Additionally, don't create a full GStreamer GL context inside the sink but only distribute the wrapped GL context in the pipeline so that elements that actually need a full GL context can create one that is sharing with that one. The sink itself does not need a full GStreamer GL context. Then inside the sink check that any GL memory that arrives was created by a GL context that can share with the wrapped GDK GL context and only then use it. And lastly, use the correct GL contexts for a) creating a sync point and b) actually waiting on it. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/318 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1099> |
||
---|---|---|
.. | ||
examples | ||
src | ||
build.rs | ||
Cargo.toml | ||
LICENSE-MPL-2.0 | ||
README.md |
Gtk 4 Sink & Paintable
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.