mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-22 19:41:00 +00:00
bca4af0c79
Otherwise it is not always ready for use yet in GTK even after waiting on the sync point, and a fully transparent texture is rendered instead. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/320 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1103> |
||
---|---|---|
.. | ||
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.
Flatpak Integration
To build and include the plugin in a Flatpak manifest, you can add the following snippet to your json manifest:
{
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.rust-stable"
],
"build-options": {
"env": {
"CARGO_HOME": "/run/build/cargo-c/cargo"
},
"append-path": "/usr/lib/sdk/rust-stable/bin",
},
"modules": [
{
"name": "cargo-c",
"buildsystem": "simple",
"build-commands": [
"cargo install cargo-c --root /app"
],
"build-options": {
"build-args": [
"--share=network"
]
},
"cleanup": [
"*"
]
},
{
"name": "gst-plugins-rs",
"buildsystem": "simple",
"sources": [
{
"type": "git",
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs",
"branch": "0.10"
}
],
"build-options": {
"build-args": [
"--share=network"
]
},
"build-commands": [
"cargo cinstall -p gst-plugin-gtk4 --prefix=/app"
]
}
]
}