1
mirror of https://github.com/mpv-player/mpv synced 2024-11-03 03:19:24 +01:00

wayland: use the advertised size in fullscreen

When we receive the wl_shell_surface::configure event, it makes sense
to respect the aspect ratio of the video in windowed mode, but in
fullscreen it forces compositing and wastes resources (until atomic
modesetting is available everywhere and we can stop having
desynchronised planes).

Weston mitigates a resolution mismatch by creating black surfaces and
compositing them around the fullscreen surface, placed at the middle,
while GNOME puts it at the top-left and leaves the rest of the desktop
composited below, both of them producing a subpar experience.

Fixes #3021, #2657.
This commit is contained in:
Emmanuel Gil Peyrot 2016-05-08 18:30:10 +01:00 committed by wm4
parent 7d9eab15f0
commit f99e48ae6a

View File

@ -739,7 +739,6 @@ static void schedule_resize(struct vo_wayland_state *wl,
{
int32_t minimum_size = 150;
int32_t x, y;
float temp_aspect = width / (float) MPMAX(height, 1);
float win_aspect = wl->window.aspect;
if (win_aspect <= 0)
win_aspect = 1;
@ -770,12 +769,6 @@ static void schedule_resize(struct vo_wayland_state *wl,
case WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT:
height = (1 / win_aspect) * width;
break;
default:
if (wl->window.aspect < temp_aspect)
width = wl->window.aspect * height;
else
height = (1 / win_aspect) * width;
break;
}
if (edges & WL_SHELL_SURFACE_RESIZE_LEFT)