}
static void
-gst_gl_display_finalize (GObject *object)
+gst_gl_display_finalize (GObject* object)
{
- GstGLDisplay *display = GST_GL_DISPLAY (object);
+ GstGLDisplay* display = GST_GL_DISPLAY (object);
//request glut window destruction
//blocking call because display must be alive
gst_gl_display_glutThread = NULL;
g_async_queue_unref (gst_gl_display_messageQueue);
g_hash_table_unref (gst_gl_display_map);
+ gst_gl_display_map = NULL;
}
}
gst_gl_display_thread_dispatch_action (msg);
}
}
- else g_print ("timeout reached in idle func\n");
+ else GST_DEBUG ("timeout reached in idle func\n");
}
}
if (glimage_sink->display)
{
- gst_gl_display_set_visible_context (glimage_sink->display, FALSE);
g_object_unref (glimage_sink->display);
glimage_sink->display = NULL;
}
glimage_sink->par_n = par_n;
glimage_sink->par_d = par_d;
+ if (!glimage_sink->window_id)
+ gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (glimage_sink));
+
return TRUE;
}
{
glimage_sink->display = g_object_ref (gl_buffer->display);
- gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (glimage_sink));
-
if (glimage_sink->window_id)
gst_gl_display_set_window_id (glimage_sink->display, glimage_sink->window_id);
//create a display
glimage_sink->display = gst_gl_display_new ();
- //Notify application to set window id now
- if (!glimage_sink->window_id)
- gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (glimage_sink));
-
//init opengl context
gst_gl_display_create_context (glimage_sink->display,
50, y_pos++ * (glimage_sink->height+50) + 50,
GstGLImageSink* glimage_sink = GST_GLIMAGE_SINK (overlay);
g_return_if_fail (GST_IS_GLIMAGE_SINK (overlay));
- g_assert (glimage_sink->display != NULL);
GST_DEBUG ("set_xwindow_id %ld", window_id);