[Bug 706054] move GstEGLImageBufferPool and allocator from eglglessink to gstegl lib

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Aug 20 02:50:47 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=706054
  GStreamer | gst-plugins-bad | git

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #251699|none                        |needs-work
             status|                            |

--- Comment #3 from Sebastian Dröge (slomo) <slomo at circular-chaos.org> 2013-08-20 09:50:45 UTC ---
Review of attachment 251699:
 --> (https://bugzilla.gnome.org/review?bug=706054&attachment=251699)

Just looked at the header API for now. Could you do the refactoring in-place
first so it's easier to see the diff? And then move files around in a second
step?

::: gst-libs/gst/egl/Makefile.am
@@ +20,3 @@
     $(GST_LIBS) \
+    $(EGL_LIBS) \
+    $(EGLGLES_LIBS)

This now makes the egl library depend on GL or GLES, that's not how it was
intended

::: gst-libs/gst/egl/egl.h
@@ +37,3 @@
+typedef struct _GstEGLContext GstEGLContext;
+
+GST_DEBUG_CATEGORY_EXTERN (egl_debug);

Why is it in the header? I don't think it should

@@ +42,3 @@
+
+gboolean gst_gl_got_error (const char *wtf);
+gboolean gst_egl_got_error (const char *wtf);

These should not be public

@@ +90,3 @@
+EGLint gst_egl_display_get_major (GstEGLDisplay * display);
+EGLint gst_egl_display_get_minor (GstEGLDisplay * display);
+void gst_egl_display_set_version (GstEGLDisplay * display, EGLint major,
EGLint minor);

Shouldn't the display get the version from itself, instead of having the user
supply it?

@@ +112,3 @@
+/* EGLImageBufferPool */
+
+typedef GstBuffer* (*GstEGLImageBufferPoolSendBlockingAllocate) (GstBufferPool
*pool, GstObject * object);

This is a callback that is supposed to block and defer the allocation of the
EGLImage in a different thread?

@@ +114,3 @@
+typedef GstBuffer* (*GstEGLImageBufferPoolSendBlockingAllocate) (GstBufferPool
*pool, GstObject * object);
+
+typedef struct _GstEGLImageBufferPool GstEGLImageBufferPool;

For making g-i and gtk-doc happy you should have all the GObject boilerplate
stuff here and also the structs public

@@ +121,3 @@
+
+GstBufferPool *gst_egl_image_buffer_pool_new (GstEGLDisplay * display,
+    GstObject * blocking_allocate_data,

Why a GstObject? Why not just a gpointer and a GDestroyNotify?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list