diff --git a/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c b/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c index 6963414651..81e658a911 100644 --- a/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c +++ b/gst-libs/gst/vaapi/gstvaapiwindow_wayland.c @@ -68,6 +68,30 @@ gst_vaapi_window_wayland_hide(GstVaapiWindow *window) return TRUE; } +static void +handle_ping(void *data, struct wl_shell_surface *shell_surface, + uint32_t serial) +{ + wl_shell_surface_pong(shell_surface, serial); +} + +static void +handle_configure(void *data, struct wl_shell_surface *shell_surface, + uint32_t edges, int32_t width, int32_t height) +{ +} + +static void +handle_popup_done(void *data, struct wl_shell_surface *shell_surface) +{ +} + +static const struct wl_shell_surface_listener shell_surface_listener = { + handle_ping, + handle_configure, + handle_popup_done +}; + static gboolean gst_vaapi_window_wayland_create( GstVaapiWindow *window, @@ -94,6 +118,8 @@ gst_vaapi_window_wayland_create( if (!priv->shell_surface) return FALSE; + wl_shell_surface_add_listener(priv->shell_surface, + &shell_surface_listener, priv); wl_shell_surface_set_toplevel(priv->shell_surface); wl_shell_surface_set_fullscreen( priv->shell_surface,