static GstGLAPI gst_gl_window_wayland_egl_get_gl_api (GstGLWindow * window);
static gpointer gst_gl_window_wayland_egl_get_proc_address (GstGLWindow *
window, const gchar * name);
-
-static void gst_gl_window_wayland_egl_finalize (GObject * object);
+static void gst_gl_window_wayland_egl_close (GstGLWindow * window);
static void
pointer_handle_enter (void *data, struct wl_pointer *pointer, uint32_t serial,
static void
gst_gl_window_wayland_egl_class_init (GstGLWindowWaylandEGLClass * klass)
{
- GObjectClass *object_class = (GObjectClass *) klass;
GstGLWindowClass *window_class = (GstGLWindowClass *) klass;
window_class->create_context =
GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_get_gl_api);
window_class->get_proc_address =
GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_get_proc_address);
-
- object_class->finalize = gst_gl_window_wayland_egl_finalize;
+ window_class->close = GST_DEBUG_FUNCPTR (gst_gl_window_wayland_egl_close);
}
static void
}
static void
-gst_gl_window_wayland_egl_finalize (GObject * object)
+gst_gl_window_wayland_egl_close (GstGLWindow * window)
{
GstGLWindowWaylandEGL *window_egl;
- window_egl = GST_GL_WINDOW_WAYLAND_EGL (object);
+ window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
gst_gl_window_wayland_egl_destroy_context (window_egl);
wl_display_flush (window_egl->display.display);
wl_display_disconnect (window_egl->display.display);
}
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
}
static gboolean
window_egl = GST_GL_WINDOW_WAYLAND_EGL (window);
- gst_gl_window_wayland_egl_send_message (window, callback, data);
+ if (callback)
+ gst_gl_window_wayland_egl_send_message (window, callback, data);
GST_LOG ("sending quit");