gst-plugins-rs/video
Sebastian Dröge 8aa5125d5b gtk4: Refactor and simplify GL context handling
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>
2023-02-21 21:36:45 +02:00
..
cdg Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
closedcaption Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
dav1d Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
ffv1 Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
gif Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
gtk4 gtk4: Refactor and simplify GL context handling 2023-02-21 21:36:45 +02:00
hsv Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
png Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
rav1e Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
videofx Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00
webp Update minimum supported Rust version to 1.66 2023-02-20 11:09:01 +02:00