mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
waylandsink: Set external surfaces and their child objects to use our own event queue
This fixes weird freezes because of frame_redraw_callback() not being called from the main thread when it should with weston's toy toolkit. It's also safer to know that frame_redraw_callback() will always be called from our display thread... Otherwise it could be called after the sink has been destroyed for example.
This commit is contained in:
parent
fabc5305be
commit
12444ec84e
1 changed files with 2 additions and 0 deletions
|
@ -652,6 +652,8 @@ gst_wayland_sink_set_window_handle (GstVideoOverlay * overlay, guintptr handle)
|
|||
("Failed to use the external wayland display: '%s'", error->message));
|
||||
g_error_free (error);
|
||||
} else {
|
||||
wl_proxy_set_queue ((struct wl_proxy *) whandle->surface,
|
||||
sink->display->queue);
|
||||
sink->window = gst_wl_window_new_from_surface (sink->display,
|
||||
whandle->surface, whandle->width, whandle->height);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue