diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-01-01 11:31:49 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-01-04 15:00:36 -0500 |
commit | 53fe7513717b983143331b89db2e029300bb08f8 (patch) | |
tree | 7963a84b0d88e5705393bad3aac16238b6151de8 /modules | |
parent | 7901ab857b689b8777cb8f8aeb431951c9554066 (diff) | |
download | gtk+-53fe7513717b983143331b89db2e029300bb08f8.tar.gz |
media: Convince gstreamer to deliver GL memory
Use a glsinkbin to make gstreamer deliver GL memory.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/media/gtkgstpaintable.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/modules/media/gtkgstpaintable.c b/modules/media/gtkgstpaintable.c index 500997f75b..fcc5a4f1d2 100644 --- a/modules/media/gtkgstpaintable.c +++ b/modules/media/gtkgstpaintable.c @@ -115,11 +115,18 @@ gtk_gst_paintable_video_renderer_create_video_sink (GstPlayerVideoRenderer *rend GstPlayer *player) { GtkGstPaintable *self = GTK_GST_PAINTABLE (renderer); + GstElement *sink, *glsinkbin; - return g_object_new (GTK_TYPE_GST_SINK, + sink = g_object_new (GTK_TYPE_GST_SINK, "paintable", self, "gl-context", self->context, NULL); + + glsinkbin = gst_element_factory_make ("glsinkbin", NULL); + + g_object_set (glsinkbin, "sink", sink, NULL); + + return glsinkbin; } static void |