gboolean fullscreen, GMutex * render_lock)
{
GstWlWindow *window;
- gint width;
window = gst_wl_window_new_internal (display, render_lock);
goto error;
}
- /* set the initial size to be the same as the reported video size */
- width =
- gst_util_uint64_scale_int_round (info->width, info->par_n, info->par_d);
- gst_wl_window_set_render_rectangle (window, 0, 0, width, info->height);
+ /* render_rectangle is already set via toplevel_configure in
+ * xdg_shell fullscreen mode */
+ if (!(display->xdg_wm_base && fullscreen)) {
+ /* set the initial size to be the same as the reported video size */
+ gint width =
+ gst_util_uint64_scale_int_round (info->width, info->par_n, info->par_d);
+ gst_wl_window_set_render_rectangle (window, 0, 0, width, info->height);
+ }
return window;
gst_wl_window_update_borders (window);
+ if (!window->configured)
+ return;
+
if (window->video_width != 0) {
wl_subsurface_set_sync (window->video_subsurface);
gst_wl_window_resize_video_surface (window, TRUE);