mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-12-24 19:10:29 +00:00
90455a8111
Close #155 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1102>
61 lines
1.8 KiB
Markdown
61 lines
1.8 KiB
Markdown
# 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:
|
|
|
|
```json
|
|
{
|
|
"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"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|