diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c index aa0ae40b7..43ee79ef2 100644 --- a/ext/gl/gstglimagesink.c +++ b/ext/gl/gstglimagesink.c @@ -1808,13 +1808,16 @@ static void gst_glimage_sink_set_window_handle (GstVideoOverlay * overlay, guintptr id) { GstGLImageSink *glimage_sink = GST_GLIMAGE_SINK (overlay); + GstGLWindow *window = gst_gl_context_get_window (glimage_sink->context); guintptr window_id = (guintptr) id; g_return_if_fail (GST_IS_GLIMAGE_SINK (overlay)); GST_DEBUG ("set_xwindow_id %" G_GUINT64_FORMAT, (guint64) window_id); - glimage_sink->new_window_id = window_id; + glimage_sink->new_window_id = glimage_sink->window_id = window_id; + + gst_gl_window_set_window_handle (window, glimage_sink->window_id); }