mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 04:00:37 +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));
|
("Failed to use the external wayland display: '%s'", error->message));
|
||||||
g_error_free (error);
|
g_error_free (error);
|
||||||
} else {
|
} else {
|
||||||
|
wl_proxy_set_queue ((struct wl_proxy *) whandle->surface,
|
||||||
|
sink->display->queue);
|
||||||
sink->window = gst_wl_window_new_from_surface (sink->display,
|
sink->window = gst_wl_window_new_from_surface (sink->display,
|
||||||
whandle->surface, whandle->width, whandle->height);
|
whandle->surface, whandle->width, whandle->height);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue