waylandsink: Use wl_surface_damage_buffer() instead of wl_surface_damage()
authorRobert Mader <robert.mader@collabora.com>
Mon, 13 Dec 2021 12:16:06 +0000 (13:16 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 13 Jan 2022 19:39:59 +0000 (19:39 +0000)
commitf0b04f1ef15685d4f63d0b55004bd1ea3bcfc41c
tree2869a3e9cd6eba4fa89e2b82efbc1e63d5bc9566
parent1249362f96323afabfeb184c77a85364d9009882
waylandsink: Use wl_surface_damage_buffer() instead of wl_surface_damage()

The later, doing damage in surface coordinates instead of buffer
coordinates, has been deprecated. The reason for that is that it
is more prone to bugs, both on the client and the compositor side,
especially when paired with buffer scale, `wp_viewporter` or
buffer transforms.

Unfortunately, on Weston this risks running into
https://gitlab.freedesktop.org/wayland/weston/-/issues/446
(which causes trouble for several other projects as well). However,
that bug only affects cases where we run in sync mode, i.e. only
during resizes. In practise I haven't been able to observe the
issue.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1446>
subprojects/gst-plugins-bad/ext/wayland/wldisplay.c
subprojects/gst-plugins-bad/ext/wayland/wlwindow.c