Consider moving away from in-tree GTK4 video sink to gtk4paintablesink
Code lives here: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/tree/main/video/gtk4
This is used by various GNOME apps at this point, supports dmabuf and GL texture importing and generally should be feature-equivalent to what you have here (and if not let me know and I fix that).
It seems suboptimal to have 3 versions (that, yours, the one in GTK) of approximately the same code (plus another one in clapper).