[863/906] window: hold a ref to our GstGLDisplay
This commit is contained in:
parent
cf7838a0b6
commit
7b031f648c
@ -79,15 +79,9 @@ static void gst_gl_window_default_send_message (GstGLWindow * window,
|
||||
|
||||
struct _GstGLWindowPrivate
|
||||
{
|
||||
GstGLDisplay *display;
|
||||
|
||||
GThread *gl_thread;
|
||||
|
||||
gboolean alive;
|
||||
|
||||
guintptr external_gl_context;
|
||||
GstGLAPI gl_api;
|
||||
GError **error;
|
||||
};
|
||||
|
||||
static void gst_gl_window_finalize (GObject * object);
|
||||
@ -132,6 +126,8 @@ gst_gl_window_new (GstGLDisplay * display)
|
||||
const gchar *user_choice;
|
||||
static volatile gsize _init = 0;
|
||||
|
||||
g_return_val_if_fail (display != NULL, NULL);
|
||||
|
||||
if (g_once_init_enter (&_init)) {
|
||||
GST_DEBUG_CATEGORY_INIT (gst_gl_window_debug, "glwindow", 0,
|
||||
"glwindow element");
|
||||
@ -173,7 +169,7 @@ gst_gl_window_new (GstGLDisplay * display)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
window->priv->display = display;
|
||||
window->display = gst_object_ref (display);
|
||||
|
||||
return window;
|
||||
}
|
||||
@ -186,6 +182,7 @@ gst_gl_window_finalize (GObject * object)
|
||||
g_weak_ref_clear (&window->context_ref);
|
||||
|
||||
g_mutex_clear (&window->lock);
|
||||
gst_object_unref (window->display);
|
||||
|
||||
G_OBJECT_CLASS (gst_gl_window_parent_class)->finalize (object);
|
||||
}
|
||||
|
@ -68,6 +68,7 @@ struct _GstGLWindow {
|
||||
|
||||
GMutex lock;
|
||||
|
||||
GstGLDisplay *display;
|
||||
GWeakRef context_ref;
|
||||
|
||||
guintptr external_gl_context;
|
||||
|
Loading…
x
Reference in New Issue
Block a user