From c28dd9b0d34b4d678d0f9780a2c81ca9a7b29062 Mon Sep 17 00:00:00 2001 From: Matthew Waters Date: Tue, 6 May 2014 17:27:15 +1000 Subject: [PATCH] gl/display: add get_handle_type https://bugzilla.gnome.org/show_bug.cgi?id=729551 --- docs/libs/gst-plugins-bad-libs-sections.txt | 2 ++ gst-libs/gst/gl/gstgldisplay.c | 22 +++++++++++++-------- gst-libs/gst/gl/gstgldisplay.h | 4 ++-- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/docs/libs/gst-plugins-bad-libs-sections.txt b/docs/libs/gst-plugins-bad-libs-sections.txt index a06d2f7cf3..78c341f4cf 100644 --- a/docs/libs/gst-plugins-bad-libs-sections.txt +++ b/docs/libs/gst-plugins-bad-libs-sections.txt @@ -826,8 +826,10 @@ gst_gl_context_wgl_get_type
gstgldisplay GstGLDisplay +GstGLDisplayType GstGLDisplay gst_gl_display_new +gst_gl_display_get_handle_type gst_context_get_gl_display gst_context_set_gl_display diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c index 5f5627dad8..c99c1d28f5 100644 --- a/gst-libs/gst/gl/gstgldisplay.c +++ b/gst-libs/gst/gl/gstgldisplay.c @@ -84,7 +84,6 @@ gst_gl_display_init (GstGLDisplay * display) { display->priv = GST_GL_DISPLAY_GET_PRIVATE (display); - display->gl_api = GST_GL_API_ANY; display->type = GST_GL_DISPLAY_TYPE_ANY; GST_TRACE ("init %p", display); @@ -99,13 +98,6 @@ gst_gl_display_init (GstGLDisplay * display) static void gst_gl_display_finalize (GObject * object) { - GstGLDisplay *display = GST_GL_DISPLAY (object); - - if (display->context) { - gst_object_unref (display->context); - display->context = NULL; - } - GST_TRACE ("finalize %p", object); G_OBJECT_CLASS (gst_gl_display_parent_class)->finalize (object); @@ -183,6 +175,20 @@ gst_gl_display_default_get_handle (GstGLDisplay * display) return 0; } +/** + * gst_gl_display_get_handle_type: + * @display: a #GstGLDisplay + * + * Returns: the #GstGLDisplayType of @display + */ +GstGLDisplayType +gst_gl_display_get_handle_type (GstGLDisplay * display) +{ + g_return_val_if_fail (GST_IS_GL_DISPLAY (display), GST_GL_DISPLAY_TYPE_NONE); + + return display->type; +} + /** * gst_context_set_gl_display: * @context: a #GstContext diff --git a/gst-libs/gst/gl/gstgldisplay.h b/gst-libs/gst/gl/gstgldisplay.h index 0d451f9336..095aa8089a 100644 --- a/gst-libs/gst/gl/gstgldisplay.h +++ b/gst-libs/gst/gl/gstgldisplay.h @@ -85,8 +85,8 @@ GstGLDisplay *gst_gl_display_new (void); #define gst_gl_display_unlock(display) GST_OBJECT_UNLOCK (display) GstGLAPI gst_gl_display_get_gl_api (GstGLDisplay * display); -gpointer gst_gl_display_get_gl_vtable (GstGLDisplay * display); -guintptr gst_gl_display_get_handle (GstGLDisplay * display); +guintptr gst_gl_display_get_handle (GstGLDisplay * display); +GstGLDisplayType gst_gl_display_get_handle_type (GstGLDisplay * display); #define GST_GL_DISPLAY_CONTEXT_TYPE "gst.gl.GLDisplay" void gst_context_set_gl_display (GstContext * context, GstGLDisplay * display);