summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-01-01 11:31:49 -0500
committerMatthias Clasen <mclasen@redhat.com>2021-01-04 15:00:36 -0500
commit53fe7513717b983143331b89db2e029300bb08f8 (patch)
tree7963a84b0d88e5705393bad3aac16238b6151de8
parent7901ab857b689b8777cb8f8aeb431951c9554066 (diff)
downloadgtk+-53fe7513717b983143331b89db2e029300bb08f8.tar.gz
media: Convince gstreamer to deliver GL memory
Use a glsinkbin to make gstreamer deliver GL memory.
-rw-r--r--modules/media/gtkgstpaintable.c9
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